Использование ресурсов из другого стека в качестве переменных среды в бессерверной лямбда-функции - PullRequest
0 голосов
/ 26 апреля 2018

Я пишу лямбда-функцию в Python, используя без сервера.Лямбда-функция запускается, когда файл создается в сегменте s3.лямбда-функция преобразует файл, а затем помещает его в другое ведро.контейнер s3 источника определяется в другом стеке, а контейнер назначения определяется в стеке лямбда-функции.Я пытался найти пример, чтобы увидеть, как указать исходные сегменты в переменной среды, а также в событиях для лямбда-функции?

service: Service
provider:
  name: aws
  runtime: python2.7
  stage: ${opt:stage, 'dev'}
  region: us-east-1
  role: LambdaRole

functions:
  LambdaFunction:
    name: lambda-function
    handler: handler.lambda_handler
    environment:
      DESTINATION_BUCKET: !Ref DestinationBucket
      SOURCE_BUCKET: !Ref AnotherStack.SourceBucket # Is this correct?
    event:
      s3:
        name: SOURCE_BUCKET # How do I reference a bucket from another stack here?
        # ... other event trigger releated stuff

resources:
  Resources:
    LambdaRole:
      Type: AWS:IAM:Role
      Properties:
        # .... lambda role permissions

    DestinationBucket:
      DeletionPolicy: Retain
      Type: AWS::S3::Bucket
      Properties:
        AccessControl: BucketOwnerFullControl
        BucketName:
          !Join ['-', [destination-bucket !Ref AWS::AccountId]]
        VersioningConfiguration:
          Status: Suspended

SOURCE_BUCKET определен в другом стеке с именем "AnotherStack".Название корзины "SourceBucket".Если возможно, я не хочу жестко кодировать имя стека в yml без сервера и делать что-то похожее на то, что шаблон облачной информации предлагает с параметрами.Таким образом, вопрос в том, как мне отнести это здесь, в бессерверном .yml лямбды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...