繁体   English   中英

使用AWS CLI将Lambda与其余端点集成

[英]Integrate Lambda with rest endpoint using aws cli

我正在尝试使用aws cli集成lambda和rest api网关端点,并运行以下命令,但出现以下错误

aws apigateway put-integration  --region us-west-2 --rest-api-id 91b73m5i10  --resource-id pjg2ac --http-method GET --type AWS --integration-http-method GET --uri arn:aws:apigateway:us-west-2:lambda:path/apigateway/functions/arn:aws:lambda:us-west-2:xxxxx:function:sendFile_Trips_divyanayan/invocations

调用PutIntegration操作时发生错误(NotFoundException):指定了无效的方法标识符

看到了这篇相关文章,但没有太大帮助

使用aws-cli创建api-gateway lambda集成

该错误不言自明。 您的ApiGateway端点可能在该资源上没有GET方法。

请添加相同的内容,然后尝试运行上述命令。

您可能需要添加--credentials参数,该参数是IAM角色的ARN ,允许与lambda函数集成。

您还需要将--integration-http-method更改为POST (这是apigateway-lambda之间的默认集成方法。

aws apigateway put-integration  --region us-west-2 --rest-api-id 91b73m5i10  --resource-id pjg2ac --http-method GET --type AWS_PROXY --integration-http-method POST --uri arn:aws:apigateway:us-west-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-west-2:xxxxxxxx:function:sendFile_Trips_divyanayan/invocations --credentials arn:aws:iam::xxxxxxxx:role/lambda-role

此外,凭据中赋予的角色还应在信任关系中具有以下优势(主体)

    {
        "Version": "2012-10-17",
        "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
            "Service": [
                "apigateway.amazonaws.com",
                "logs.amazonaws.com",
                "lambda.amazonaws.com"
            ]
        },
        "Action": "sts:AssumeRole"
    }
  ]
}

注意在外部论坛上提问时, 不要公开accountId。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM