我正在使用Terraform通过连接到DynamoDb API的API网关创建基础结构。我正在创建resource
aws_api_gateway_integration
来定义与DynamoDb的集成,其中type
属性设置为AWS
。
但是以某种方式,我无法正确获得db的uri
值。
文档说它应该是arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}/{service_api}
格式。
配置的当前值为arn:aws:apigateway:us-east-1:dynamodb:GetItem
。
我不确定service_api
是什么。有人遇到过吗?请帮助。
答案 0 :(得分:5)
这还花了我一些时间,我认为DynamoDB API-网关集成在Terraform文档中应该有一个类似于Lambda的专用示例。实际上,service_api
仅指代前缀为文字Action
的DynamoDB操作(您也将在AWS Api网关控制台action/
字段中输入该操作)。因此,以下代码块最终适用于我的PUT请求映射:
resource "aws_api_gateway_integration" "my-integration" {
type = "AWS"
integration_http_method = "POST"
uri = "arn:aws:apigateway:eu-central-1:dynamodb:action/PutItem"
# (...)
}