代码之家  ›  专栏  ›  技术社区  ›  srinu chandra

使用terraform的aws中api_gateway的事件源映射

  •  0
  • srinu chandra  · 技术社区  · 1 年前

    在尝试将api网关映射为lambda的事件源时,我遇到了一个问题。我收到了上面提到的错误“

    │ **Error: creating Lambda Event Source Mapping (arn:aws:apigateway:us-east-1::/restapis/dl8ojj1ltb): InvalidParameterValueException: Unrecognized event source, must be kinesis, dynamodb stream or sqs. Unsupported source arn : arn:aws:apigateway:us-east-1::/restapis/dl8ojj1ltb
    │ {
    │   RespMetadata: {
    │     StatusCode: 400,
    │     RequestID: "c5d930eb-4426-498e-8eb0-858d3d0e5b21"
    │   },
    │   Message_: "Unrecognized event source, must be kinesis, dynamodb stream or sqs. Unsupported source arn : arn:aws:apigateway:us-east-1::/restapis/dl8ojj1ltb","
    

    有人能给我推荐一种替代方法,使用Terraform添加api网关作为lambda的触发器吗?

    谢谢 斯里努·皮利

    通过参考Terraform的官方文档,我尝试添加api网关的事件源映射,但没有成功。因此,请建议使用Terraform添加lambda触发器的其他替代方法。

    0 回复  |  直到 1 年前
        1
  •  1
  •   Andres Bores    1 年前

    您不能将Amazon API网关配置为 Event Source Mapping 在Lambda中:

    事件源映射是从事件源读取并调用Lambda函数的Lambda资源。您可以在不直接调用Lambda函数的服务中使用事件源映射来处理流或队列中的项目。

    Lambda从中读取事件的服务 :

    • 亚马逊DynamoDB
    • 亚马逊Kinesis
    • 亚马逊MQ
    • Apache Kafka的Amazon托管流媒体(Amazon MSK)
    • 自我管理的Apache Kafka
    • Amazon简单队列服务(Amazon SQS)
    • Amazon DocumentDB(与MongoDB兼容)(Amazon DocumentDB)

    要从Amazon API网关触发Lambda函数,您必须使用 API Integrations :

    设置API方法后,必须将其与后端的终结点集成。后端端点也称为 集成端点 并且可以是 Lambda函数 、HTTP网页或AWS服务操作。

    现在,要使用Terraform创建所有这些,我建议您使用 Serverless.tf framework 。看看 Lambda function Amazon API Gateway 模块。