我目前正在使用 Swagger 定义具有许多端点的 API,并且每个端点都具有相同的“x-amazon-apigateway-integration”键定义。我想在文档中的某个位置定义它,并在整个过程中重复使用该定义。
要么我不理解应该如何定义定义,要么我没有将其放在正确的位置,或者两者混合。我尝试在“定义”中定义这个定义,并作为它自己的键下的一些别名。定义(删除了关键信息)是:
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 时,我收到以下错误:
由于 Swagger 文件中的错误,您的 API 未导入。
- 无法为“Amazon”创建模型:指定的模型无效:验证结果:警告:[],错误:[指定的模型架构无效。不支持的关键字:[“x-amazon-apigateway-integration”]]
- 此外,还发现了这些警告:
- “POST /”的未知集成类型“null”。忽略。
预先感谢您的帮助。