0

Alias を使用して Lambda 関数に接続された API Gateway を作成したいのですがIntegrationRouteTargetProvider、API への統合ルートを提供しています。ラムダからURIを取得したので、正しいと思います。また、SOの質問の数を確認しました。また、ドキュメントにはarn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}.

私のウリは

arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:051069080387:function:deploy-test-4-lambda/invocations.

ただし、API を作成しようとすると、エラーが発生します。

パス '/' のリソースの 'ANY' に統合を配置できません: タイプ 'AWS_PROXY' の統合は現在、Lambda 関数と Firehose ストリームの呼び出しのみをサポートしています。

これが私のものIntegrationRouteTargetProviderです:

export class AliasLambdaProvider implements IntegrationRouteTargetProvider {
    target(name: string, parent: pulumi.Resource): pulumi.Input<IntegrationTarget> {
        return {
            type: "aws_proxy",
            uri: 'arn:aws:apigateway:eu-central-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-central-1:051069080387:function:deploy-test-4-lambda/invocations',
        };
    }
}

APIを作成するときにそれを使用するよりも

return new API(name, {
        routes: [
            {
                path: "/",
                target: new AliasLambdaProvider()
            }
        ],
        stageName: name + "-stage"
    }, { provider });
4

1 に答える 1