Amazon web services 使用aws cli将Lambda与rest端点集成
我试图使用aws cli集成lambda和rest api网关端点,并运行以下命令,但出现以下错误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 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"
}
]
}