Amazon web services 使用aws cli将Lambda与rest端点集成

Amazon web services 使用aws cli将Lambda与rest端点集成,amazon-web-services,aws-lambda,aws-api-gateway,aws-cli,Amazon Web Services,Aws Lambda,Aws Api Gateway,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:p

我试图使用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):指定的方法标识符无效

看了这篇相关的文章,但没有多大帮助


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

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

您可能需要为
IAM
角色添加--credentials参数,该参数为
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
此外,凭据中给出的角色在受信任关系(主体)中应具有以下内容


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

。当我尝试从web控制台测试api时,另一个供参考的链接。由于配置错误,执行失败:api网关没有权限承担提供的角色arn:aws:iam::3xxxxx:role/lambda\u role。这是真实的访问问题吗ted到我的帐户。如果我删除了put_集成中的角色,我会收到以下错误:由于配置错误,执行失败:对Lambda函数的权限无效在IAM角色中,您需要添加服务名称(即apiGateway)谁可以担任该角色。是否必须传递凭据?我有一个lambda角色,用于执行poc,具有一些最小权限,因此当我使用该角色时,它会给我错误,因为API网关没有权限担任提供的角色arn:aws:iam::3xxxxx:role/lambda_role这是我的命令。aws apigateway put integration--region us-west-2——rest api id 0bovdlngz6——资源id fuoq79——http方法GET——类型AWS——集成http方法GET——uri arn:AWS:apigateway:us-west-2:lambda:path/greeting/functions/arn:AWS:lambda:us-west-2:xxxx:function:helloworld-Divyanayanayanyanyan\u lambda/invocations。其中/greeting是资源,api网关名称是helloworld Divyanango在lambda_角色和信任关系选项卡中,将apigateway.amazonaws.com添加为受信任实体。
    {
        "Version": "2012-10-17",
        "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
            "Service": [
                "apigateway.amazonaws.com",
                "logs.amazonaws.com",
                "lambda.amazonaws.com"
            ]
        },
        "Action": "sts:AssumeRole"
    }
  ]
}