Как получить последнюю версию Layer с бессерверной структурой для AWS Lambda - PullRequest
2 голосов
/ 27 мая 2020

Я пытаюсь получить последнюю версию Layer с бессерверной структурой, используя плагин serverless-latest-layer-version. Сам этот плагин может получить последнюю версию Layer, но проблема в том, что всякий раз, когда я делаю новое развертывание как для слоев, так и для функции, версия слоя всегда показывает предыдущую или новую версию слоя. Ниже находится serverless.yml, который позволяет получить последнюю версию и применить ее к работе. Помогите мне предложить то, что я пропустил, для настройки до последней версии слоя?

layers:
    my-layers:
      path: my-layers
      name: ${opt:stage, 'development'}-my-layer
      description: Save all common npm dependencies in single project
      compatibleRuntimes:
        - nodejs10.x

  functions:
    app:
      handler: index.handler
      layers:
        - arn:aws:lambda:ap-southeast-1:#{AWS::AccountId}:layer:${opt:stage, 'development'}-my-layer:latest

1 Ответ

2 голосов
/ 27 мая 2020

Я думаю, вы могли бы использовать CloudFormationRef. См. Документацию по адресу Serverless (https://www.serverless.com/framework/docs/providers/aws/guide/layers/):

Чтобы использовать слой с функцией в той же службе, используйте CloudFormation Ref. Именем вашего слоя в шаблоне CloudFormation будет имя вашего слоя TitleCased (без пробелов), и в конце будет добавлен LambdaLayer. Например:

layers:
  test:
    path: layer
functions:
  hello:
    handler: handler.hello
    layers:
      - { Ref: TestLambdaLayer }
...