В настоящее время я использую Swagger для определения API со многими конечными точками, и каждая из этих конечных точек имеет одно и то же определение для ключа «x-amazon-apigateway-интеграция». Я хотел бы определить это где-то в документе и повторно использовать это определение повсеместно.
Либо я не понимаю, как должно быть определено определение, я не помещаю его в правильное местоположение или их сочетание. Я попытался определить это определение в «определениях» и как псевдоним под его собственным ключом. Определение (с удалением ключевой информации):
x-amazon-apigateway-integration:
responses:
default:
statusCode: '200'
passthroughBehavior: when_no_match
httpMethod: POST
uri: >-
arn:aws:apigateway:<region>:lambda:path/2015-03-31/functions/<lambda arn>/invocations
credentials: '<role arn>'
type: aws
requestTemplates: "application/json": "<object definition>"
Я попытался определить это как псевдоним под своим собственным ключом (не определениями, а той же базовой областью):
amazon:
Amazon: &Amazon
- responses:
default:
statusCode: '200'
- passthroughBehavior: when_no_match
- httpMethod: POST
- uri: >-
arn:aws:apigateway:<region>:lambda:path/2015-03-31/functions/<lambda arn>/invocations
- credentials: '<role arn>'
- type: aws
- requestTemplates:
"application/json": "<object definition>"
Чтобы использовать, у меня есть следующее:
x-amazon-apigateway-integration:
*Amazon
Ошибка при импорте API-шлюза: «Невозможно проанализировать определение API из-за неправильной интеграции по пути /»
Я также попытался определить это в разделе «определения» и использовать для доступа к нему «ref»:
definitions:
Amazon:
type: object
x-amazon-apigateway-integration:
responses:
default:
statusCode: '200'
passthroughBehavior: when_no_match
httpMethod: POST
uri: >-
arn:aws:apigateway:<region>:lambda:path/2015-03-31/functions/<lambda arn>/invocations
credentials: '<role arn>'
type: aws
requestTemplates:
"application/json": "<object definition>"
Для использования у меня есть следующее:
x-amazon-apigateway-integration:
$ref: '#/definitions/Amazon'
При импорте в API Gateway я получаю следующие ошибки:
Ваш API не был импортирован из-за ошибок в файле Swagger.
- Невозможно создать модель для Amazon: указана неверная модель: Результат проверки: предупреждения: [], ошибки: [Указана неверная схема модели. Неподдерживаемые ключевые слова: ["x-amazon-apigateway-интеграции"]]
- Кроме того, были найдены следующие предупреждения:
- Неизвестный тип интеграции 'null' для 'POST /'. Не обращая внимания.
Заранее благодарю за помощь.