Я пишу лямбда-функцию в 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 лямбды.