Облачная информация Лямбда с динамическими потоками между двумя шаблонами - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть два стека облачной информации.Один из них определяет Dynamodb.

Я хочу, чтобы второй стек использовал Dynamodb, указанный в первом стеке.Во втором стеке есть функция Lambda, которая будет получать поток DynamodB из стека 1.

Как мне экспортировать и импортировать DynamodB из одного стека в другой для потребления потока Lambda?

1 Ответ

0 голосов
/ 23 февраля 2019

В табличном стеке DynamoDB экспортируйте атрибут StreamArn таблицы.Используйте это в качестве значения EventSourceArn для определения ресурса EventSourceMapping в вашем стеке Lambda.

# DynamoDB stack
Resources:
  Table:
    Type: AWS::DynamoDB::Table
    Properties:
      StreamSpecification: NEW_AND_OLD_IMAGES  
      # etc.

Outputs:
  TableStreamArn:
    Value: !GetAtt Table.StreamArn
    Export:
      Name: StreamArn

# Lambda stack
Resources:
  Function:
    Type: AWS::Lambda::Function
    # etc.

  EventMapping:
    Type: AWS::Lambda::EventSourceMapping
    Properties:
      EventSourceArn: !ImportValue StreamArn
      FunctionName: !GetAtt Function.Arn
      # etc.

Вы также можете сделать это наоборот - импортировать функцию Lambda ARNв стек DynamoDB и определите там отображение событий, но мне это кажется менее логичным.

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