ดังนั้นฉันจึงสร้างแอปพลิเคชันแบบเซิร์ฟเวอร์น้อยลงบน Amazon AWS โดยใช้ Serverless Framework สำหรับสแต็กของเรา เราสร้างฟังก์ชัน Lambda, ตาราง DynamoDB, API Gateway จำนวนมาก และตอนนี้เราต้องการเพิ่มโดเมน simpleDB ด้วยเช่นกัน ดูเหมือนว่าฉันจะไม่พบข้อมูลออนไลน์เกี่ยวกับข้อมูลโค้ดใดที่จะเพิ่มใน 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}
ดังนั้นเวลาผม Deploy โดยใช้คำสั่ง
serverless deploy --stage staging --awsaccountid XXXXX
ฉันคาดหวังว่าชื่อของตาราง SimpleDB จะเป็น
git-pushr-การประมวลผลการแสดงละคร
ฉันกลับได้รับโดเมนที่มีชื่อต่อไปนี้แทน
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-การประมวลผลการแสดงละคร
แล้วฉันทำอะไรผิดที่นี่?