微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 OpenAPI 架构定义包含到 ARM 模板中

如何解决如何将 OpenAPI 架构定义包含到 ARM 模板中

我正在将一个正常运行的 API 逆向工程到 ARM 模板中。 由于缺少架构定义,使用 ARM 模板的部署目前失败:

{
    "code": "ValidationError","target": "operation 'DELETE'-'/{accountNumber}/addresses/{addresstype}' response '200' 'application/json' representation schema 5ff73174ffb8c010d47f74fd","message": "Operation references schema that does not exist."
}

当我使用 Azure 门户为我的 APIM 实例生成完整的 ARM 模板时,类型定义不存在:

{
    "type": "Microsoft.apimanagement/service/apis/schemas","apiVersion": "2020-06-01-preview",...
    "properties": {
        "contentType": "application/vnd.ms-azure-apim.swagger.deFinitions+json","document": {
            "deFinitions": {}
        }
    }
}

定义元素应该是什么样的?我无法从 documentation 中弥补。

解决方法

我能够从 Azure 门户中的 OpenAPI 规范视图复制定义。

enter image description here

,

你可以像这样包含它

"properties": {
    "contentType": "application/vnd.oai.openapi.components+json","document": {
        "components": {
            "schemas": {
                "DefinitionXYZ": {
                    "type": "object","properties": {}
                }
            }
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。