Я пытаюсь локально протестировать передачу имени таблицы DynamoDB, как указано в моем файле шаблона CloudFormation.
Из всей документации, которую я прочитал, я должен иметь возможность ссылаться на значение свойства TableName
ресурса DynamoDB, используя внутреннюю функцию !Ref
. Однако, когда я тестирую это локально, свойство не определено.
Рассмотрим следующий пример:
Transform: 'AWS::Serverless-2016-10-31'
Resources:
ServerlessFunction:
Type: AWS::Serverless::Function
Properties:
Runtime: nodejs10.x
Handler: index.handler
Environment:
Variables:
TABLE_NAME: !Ref DynamoDBTable # <- returning undefined
Events:
GetCocktails:
Type: Api
Properties:
Path: /
Method: get
DynamoDBTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: DynamoDBTableName
AttributeDefinitions:
- AttributeName: ID
AttributeType: S
KeySchema:
- AttributeName: ID
KeyType: HASH
ProvisionedThroughput:
ReadCapacityUnits: 1
WriteCapacityUnits: 1
Я ожидаю, что переменная среды TABLE_NAME
будет DynamoDBTableName
, однако она возвращает значение undefined. Как заставить шаблон работать должным образом?