微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 AWS 一直说我的 ARN 无效?

如何解决为什么 AWS 一直说我的 ARN 无效?

我正在尝试使用 Lambda 集成部署 API 网关,但我无法解决一个特定错误。我检查了一些关于确保您遵循请求格式的帖子,我相信我已经这样做了。我不断收到的错误是:

请求中指定的 ARN 无效:“AWS_PROXY”类型的集成 目前仅支持 Lambda 函数和 Firehose 流 调用(服务:AmazonApiGatewayV2;状态代码:400;错误 代码:BadRequestException;

这是我的 CloudFormation 的样子:

Parameters:
EnvType:
    Type: String
    Default: "dev"

Resources:
    routerLambda:
            Type: AWS::Lambda::Function
            Properties:
                 FunctionName: !Sub router-${EnvType}
                 ...

    routerLambdaIntegration:
            Type: AWS::ApiGatewayV2::Integration
            Properties:
                ApiId: !Ref apiGateway
                IntegrationType: AWS_PROXY
                IntegrationUri: !Sub "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:router-dev/invocation"
            DependsOn: routerLambda

谁能看到我遗漏了什么?

解决方法

URI 中有一个小错误,您使用的是 invocation 而不是 invocations

应该是

    Target: arn:aws:apigateway:{region}:lambda:path/2015-03-31/functions/arn:aws:lambda:{region}:{account-id}:function:{function-name}/invocations

但是你有

  IntegrationUri: !Sub "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:router-dev/invocation"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。