【发布时间】:2018-06-11 09:25:57
【问题描述】:
所以我正在使用无服务器框架在 Amazon AWS 上创建一个无服务器应用程序。 对于我们的堆栈,我们创建了许多 Lambda 函数、DynamoDB 表、API 网关,现在我们还想添加一个 simpleDB 域。 我似乎无法在线找到任何有关将哪些代码 sn-p 添加到 serverless.yaml 以创建 SimpleDB 域的信息。
我写了以下代码,创建了域但是域的名称与预期不符
resources:
Resources:
LogSimpleDBTable:
Type: "AWS::SDB::Domain"
Properties:
DomainName : ${self:provider.environment.SIMPLEDB}
Description: "SDB Domain to store data log"
而变量SimpleDB被定义为
SIMPLEDB: git-pushr-processing-${opt:stage, self:provider.stage}
所以当我使用命令部署时
serverless deploy --stage staging --awsaccountid XXXXX
我希望 SimpleDB 表的名称是
git-pushr-processing-staging
相反,我得到了一个具有以下名称的域
git-pushr-api-staging-LogSimpleDBTable-1P7CQH4SGAWGI
序列的最后一位 (1P7CQH4SGAWGI) 每次都不同。
我们使用完全相同的模式来命名我们的 DynamoDB 表,它们似乎是用正确的名称创建的
DYNAMODB_TABLE: git-pushr-processing-${opt:stage, self:provider.stage}
resources:
Resources:
TodosDynamoDbTable:
Type: 'AWS::DynamoDB::Table'
DeletionPolicy: Retain
Properties:
AttributeDefinitions:
-
AttributeName: id
AttributeType: S
KeySchema:
-
AttributeName: id
KeyType: HASH
ProvisionedThroughput:
ReadCapacityUnits: 1
WriteCapacityUnits: 1
TableName: ${self:provider.environment.DYNAMODB_TABLE}
StreamSpecification:
StreamViewType: NEW_AND_OLD_IMAGES
我们得到一个名称如下的 DynamoDB 表
git-pushr-processing-staging
那么我在这里做错了什么?
【问题讨论】:
标签: amazon-web-services serverless-framework amazon-simpledb serverless