向市场托管应用中的自定义资源提供者提供全面的规范

问题描述

我正在尝试将Azure托管应用程序发布到市场中,该市场将连同其他内容一起部署Microsoft.CustomProvider / resourceProvider。

当我们第一次尝试部署预览时,它失败了,并且错误消息告诉我们资源提供者的市场版本必须具有严格的规范。 api文档https://docs.microsoft.com/en-us/rest/api/customproviders/customresourceprovider/createorupdate#customrpvalidations)指出,一般URI必须托管在raw.githubusercontent.com上。因此,我们创建了一个repo并上传一个大张旗鼓的规范,并使其在预览中正常运行,然后单击“实时”。

但是,在Marketplace手动验证期间,审阅者拒绝了该参考,并参考了以下最佳做法文档:https://github.com/Azure/azure-quickstart-templates/blob/master/1-CONTRIBUTION-GUIDE/best-practices.md

根据该文档,所有工件都应包含在软件包中,并使用deployment().properties.templateLink.uri动态引用。

但是,这似乎不起作用,因为它会产生以下错误消息: The resource provider 'myprovider' has an invalid specification 'myprovider'. It should be a valid URI with a host of 'https://catalogartifact.azureedge.net/publicartifacts/mycompany.myapp-preview-9d9c3bf5-f61f-4856-ba26-ce3f9b229db0-myplan/Artifacts/functions/swaggerSpecification.json'

我尝试了错误消息中的URI,该URI成功返回了swagger规范,因此并不是它具有错误的URI。一旦我用raw.githubusercontent.com URI替换了它,它就再次起作用(即使文件是相同的)。

那么这里似乎有矛盾的信息吗?我应该使用哪个?后者(将其包含在.zip中)似乎是正确的做法,对我们来说,比将其余所有代码都托管在其他地方的情况下,在github的repo中维护这个文件要好得多。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)