Я создаю шаблон для создания API HTTP с apigatewayv2
.
Мое определение API в шаблоне:
sfHttpApi:
Type: AWS::ApiGatewayV2::Api
DependsOn: sfLambdaFunction
Properties:
Name: !Sub sfHttpAPI-${Region}-${Env}
ProtocolType: HTTP
Target: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:${sfLambdaFunction}/invocations
CredentialsArn: !GetAtt sfApiGatewayRole.Arn
sfApiTriggerLambdaPermission:
Type: "AWS::Lambda::Permission"
Properties:
Action: lambda:InvokeFunction
FunctionName: !GetAtt sfLambdaFunction.Arn
Principal: apigateway.amazonaws.com
SourceArn: !Sub 'arn:${AWS::Partition}:execute-api:${AWS::Region}:${AWS::AccountId}:${sfHttpApi}/'
sfApiLambdProxyIntegration:
Type: "AWS::ApiGatewayV2::Integration"
Properties:
Description: Lambda Integration
ConnectionType: INTERNET
IntegrationMethod: POST
IntegrationUri: !Sub "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${sfLambdaFunction.Arn}/invocations"
PayloadFormatVersion: '1.0'
ApiId: !Ref sfHttpApi
IntegrationType: AWS_PROXY
sfRoute:
Type: 'AWS::ApiGatewayV2::Route'
DependsOn:
- sfApiLambdProxyIntegration
Properties:
ApiId: !Ref sfHttpApi
RouteKey: 'POST/' **??? This is the part I dont know how to set**
AuthorizationType: NONE
Target: !Join
- /
- - integrations
- !Ref sfApiLambdProxyIntegration
Я пытался по-другому установить routekey в маршруте определение, но ошибка при создании стека:
Указанный ключ маршрута не отформатирован должным образом для протокола HTTP. Формат должен быть "/" или "$ default" (Сервис: AmazonApiGatewayV2; Код состояния: 400; Код ошибки: BadRequestException; Идентификатор запроса: 53198c85-fc41-4c76-89c4-7d2db7a7a5b6)
Как можно Я установил маршрутную клавишу?