0

We use API-Gateway and Lambda architecture..

config/function.yml

handler: ${self:custom.alias}/src/create_shipment.handler
  name: ${self:service}-create-shipment-${self:provider.stage}
  description: create shipment api service - ${self:provider.stage}
  provisionedConcurrency: 1
  concurrencyAutoscaling:
    enabled: true
    alias: v2
    maximum: 10
    minimum: 1
  events:
    - http:
        path: /create/shipment

main serverless

service: test-poc
provider:
  name: aws
  runtime: python3.7
  versionFunctions: true
  stage: ${opt:stage, 'dev'}
  region: us-east-1  
custom:
  alias: ${opt:alias, 'v1'}
  serverless-layers:
    functions:
      - function
plugins:
  - serverless-layers
  - serverless-add-api-key
  - serverless-aws-alias-fixed
 
package:
  individually: true
  exclude:
    - "**/*"
    - serverless.yaml
functions:
  function: ${file(config/function.yml):function}

We have a latency from our api and lambda, we wanted to eliminate if this is due to cold start problem and wanted to use the provisioned-concurrency plugin..

plugins:
 - serverless-provisioned-concurrency-autoscaling

function:
handler: ${self:custom.alias}/src/create_shipment.handler
  name: ${self:service}-function-${self:provider.stage}
  description: function - ${self:provider.stage}
  provisionedConcurrency: 1
  concurrencyAutoscaling:
    enabled: true
    alias: v2
    maximum: 10
    minimum: 1

After adding the required provisioned concurrency settings, we are doing a

sls deploy --alias v2 -s dev

Error --------------------------------------------------
Error: The CloudFormation template is invalid: Template error: instance of Fn::GetAtt references undefined resource functionDashLambdaVersiongJFUc5aoaeWG5RSH867TjWyZWnQwgUzGCr1iqC20FY
      at /home/jenkins/workspace/test-poc/node_modules/serverless/lib/plugins/aws/deploy/lib/validateTemplate.js:20:13
      at tryCatcher (/home/jenkins/workspace/test-poc/node_modules/bluebird/js/release/util.js:16:23)
      at Promise._settlePromiseFromHandler (/home/jenkins/workspace/test-poc/node_modules/bluebird/js/release/promise.js:547:31)
      at Promise._settlePromise (/home/jenkins/workspace/test-poc/node_modules/bluebird/js/release/promise.js:604:18)
      at Promise._settlePromise0 (/home/jenkins/workspace/test-poc/node_modules/bluebird/js/release/promise.js:649:10)
      at Promise._settlePromises (/home/jenkins/workspace/test-poc/node_modules/bluebird/js/release/promise.js:725:18)
      at _drainQueueStep (/home/jenkins/workspace/test-poc/node_modules/bluebird/js/release/async.js:93:12)
      at _drainQueue (/home/jenkins/workspace/test-poc/node_modules/bluebird/js/release/async.js:86:9)
      at Async._drainQueues (/home/jenkins/workspace/test-poc/node_modules/bluebird/js/release/async.js:102:5)
      at Immediate.Async.drainQueues [as _onImmediate] (/home/jenkins/workspace/test-poc/node_modules/bluebird/js/release/async.js:15:14)
      at processImmediate (internal/timers.js:464:21)
ashakshan
  • 419
  • 1
  • 5
  • 17

0 Answers0