You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用生产环境的SAM template.yaml在本地创建DynamoDB表?

用SAM模板在本地创建DynamoDB表的方法

前提条件

  • 已安装AWS SAM CLI
  • 本地DynamoDB已通过命令 docker run -p 8000:8000 amazon/dynamodb-local 成功启动

步骤1:配置本地DynamoDB端点

让SAM CLI指向本地运行的DynamoDB实例,有两种方式:

临时配置(当前会话生效)

执行环境变量设置命令:

export AWS_ENDPOINT_URL_DYNAMODB=http://localhost:8000

持久配置(永久生效)

编辑~/.aws/config文件,添加以下内容:

[default]
endpoint_url_dynamodb = http://localhost:8000

步骤2:部署SAM模板到本地

运行SAM部署命令,指定模板文件和自定义的本地栈名称:

sam deploy --template-file template.yaml --stack-name local-dynamodb-stack --capabilities CAPABILITY_IAM --no-confirm-changeset --region us-east-1

参数说明:

  • --stack-name:自定义本地栈名称,可随意命名
  • --region:本地DynamoDB对区域无严格要求,但需指定合法AWS区域(如us-east-1)
  • --capabilities CAPABILITY_IAM:若模板包含IAM相关资源,必须添加此参数授权

步骤3:验证表创建结果

用AWS CLI查询本地DynamoDB的表列表:

aws dynamodb list-tables --endpoint-url http://localhost:8000

或用SAM CLI查看本地栈的资源:

sam list resources --stack-name local-dynamodb-stack

额外技巧:仅创建DynamoDB表(跳过其他资源)

若模板包含Lambda等其他资源,只想单独创建DynamoDB表,可使用CloudFormation命令并过滤资源类型:

aws cloudformation deploy --template-file template.yaml --stack-name local-dynamo-only --capabilities CAPABILITY_IAM --no-confirm-changeset --region us-east-1 --resource-types AWS::DynamoDB::Table,AWS::Serverless::SimpleTable

注:需同时包含AWS::DynamoDB::Table和SAM简化的AWS::Serverless::SimpleTable类型,确保所有表资源都被创建。

内容的提问来源于stack exchange,提问作者Andreas Lundgren

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 10:49:56