在AWS API Gateway中,当创建或更新一个与后端集成的API时,可能会遇到类似的错误消息:“AWS API Gateway:AWS ARN for integration 包含无效的操作。”
这个错误通常是由于在API Gateway的集成配置中指定了一个无效的操作而导致的。以下是一些可能的解决方法:
检查集成配置中的HTTP方法:确保在集成配置中指定的HTTP方法与后端服务中支持的方法匹配。例如,如果后端服务只支持GET方法,确保在集成配置中使用的是GET方法。
检查集成配置中的ARN:确保在集成配置中指定的ARN(Amazon Resource Name)是有效的。ARN应该指向一个有效的AWS资源,例如Lambda函数、API Gateway REST API等。确保ARN的格式正确,并且指向正确的资源。
以下是一个示例代码,演示如何在AWS API Gateway中创建一个与Lambda函数的集成,并指定有效的操作:
const AWS = require('aws-sdk');
const apiGateway = new AWS.APIGateway();
const params = {
httpMethod: 'GET',
resourceId: 'abc123', // 替换为有效的资源ID
restApiId: 'def456', // 替换为有效的API ID
type: 'AWS',
integrationHttpMethod: 'POST',
uri: 'arn:aws:lambda:us-east-1:1234567890:function:myLambdaFunction' // 替换为有效的Lambda函数ARN
};
apiGateway.putIntegration(params, (err, data) => {
if (err) {
console.log(err);
} else {
console.log(data);
}
});
在上述示例中,确保将resourceId替换为有效的资源ID,restApiId替换为有效的API ID,uri替换为有效的Lambda函数ARN。
通过检查集成配置中的HTTP方法和ARN,并确保它们是有效的,您应该能够解决此错误并成功创建或更新API的集成。