首页 > 解决方案 > AWS Api Gateway 与 dynamo 的集成

问题描述

我正在尝试使用 api gateway 来运行发电机查询。我正在使用 cloudformation 模板来创建它。我使用 apigateway 方法创建它,但我不知道如何定义名称以访问 /sender 之类的服务。现在我可以在 / 访问该服务。而且我也不知道如何为这个服务定义 OPTIONS 方法。欢迎任何帮助!

Sender:
    Type: 'AWS::ApiGateway::Method'
    Properties:
      OperationName: Sender-dev
      RestApiId: !Ref myApiSite
      ResourceId: !GetAtt 
        - myApiSite
        - RootResourceId
      HttpMethod: PUT
      AuthorizationType: NONE
      Integration:
        Type: AWS
        Uri: "arn:aws:apigateway:us-east-1:dynamodb:action/PutItem"
        IntegrationHttpMethod: POST
        Credentials: "arn:aws:iam::710072603473:role/dynamo-full"

标签: amazon-web-servicesamazon-dynamodbamazon-cloudformationaws-api-gateway

解决方案


如果您不想使用 lambda 函数作为代理,而是直接将 API Gatway 与 DynamoDB 集成,那么您必须创建所有模板映射,并请求数据映射才能使其工作。

我没有 DynamoDb 的现成示例,但一个好的开始是通过在 CloudFormation 中为 kinesis 实施官方 AWS 教程。

本教程在 CloudFormation 中有效且可行。我知道,因为我已经做到了。本教程非常有用,因为它展示了如何设置所有映射以直接集成 API 网关和 Kinesis。显然,您随后必须针对 DynamoDB 进行调整,如果您了解如何使用 Kinesis,这不会那么困难。

另一种方法是使用 Lambda 作为 API Gateway 和 DynamoDB 之间的代理。


推荐阅读