Я пытаюсь интегрировать swagger с api gateway и lambda, используя расширения swagger.Файл Swagger загружен в корзину S3, я использую Body с преобразованием и включаю, как показано ниже
Использование BodyS3Location в свойствах AWS :: ApiGateway :: RestApi возвращает ошибку Невозможно проанализировать определение API из-за неправильно сформированной интеграции дляВ той же интеграции, о которой говорилось выше, я ссылался на файл Swagger с расширениями AWS, который хранится в S3 Bucket для создания API с Cloudformation .
и изменил шаблон, как показано ниже для свойств AWS :: ApiGateway :: RestApi
Body:
Fn::Transform:
Name: AWS::Include
Parameters:
Location:
Fn::Sub: "s3://${BucketName}/apiSwaggerSpec.yaml"
Для стека выше у меня есть все права на действия по облачной обработке
Ниже кодаЯ добавил как расширение чванства.
x-amazon-apigateway-auth:
type: "aws_iam"
x-amazon-apigateway-integration:
type: "aws_proxy"
httpMethod: "POST"
passthroughBehavior: "when_no_match"
uri:
Fn::Sub: "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:${accountId}:function:testLambdaFunction/invocations"
credentials:
Fn::Sub: "arn:aws:iam::${accountId}:role/${myRole}"
responses:
default:
statusCode: 200
Я получаю сообщение об отказе в разрешении с сообщением, поскольку myrole не авторизован для выполнения облачной информации: CreateChangeSet на ресурсе: arn: aws: облачная информация: us-east-1: aws: transform / include
Нужно ли добавлять специальные разрешения для преобразования / включения.В документации aws говорится, что для этого не нужны специальные разрешения?