Azure APIM 新开发人员门户不工作

Azure APIM new developer portal not working

我正在尝试发布我的 Azure API 管理的开发人员门户,但由于某种原因它无法正常工作。

这是我的做法:

  1. 单击左侧的门户概览菜单项(在开发人员门户下)
  2. 点击发布 -> 是
  3. 点击启用 CORS -> 是
  4. 等待 ~5 分钟
  5. 单击页面顶部的开发人员门户 link 新门户打开,并显示 3 个点的加载标志。几秒钟后,我收到以下错误:

就是这样,基本上...

现在,旧版门户网站运行良好,所以我认为这不是 APIM 设置本身的问题。 我不知道它是否相关,但 APIM 部署在外部 VNet 中。使用 Postman 等访问它没有任何问题。此外,我确保端口 3443 是打开的。

这可能是什么问题?如何查看新的开发者门户?

编辑: 我在客户端做了一些挖掘,发现浏览器调用以下 URL which returns 404:

https://myapimname.management.azure-api.net/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.ApiManagement/service/myapimname/contentTypes/document/contentItems/?api-version=2019-12-01

此错误就在这次失败后出现。

知道是什么原因造成的吗?

开发人员门户的托管版本只是存储中的一堆 json 文件。这些 json 文件称为内容项,它们定义了开发人员门户的外观。虽然我不知道为什么,但对您来说,这些内容项中的一项丢失了,这就是您收到 404 的原因。

可能的解决方案: 通常在出现问题的情况下,您要做的是转到开发人员门户并单击 'reset content':

此操作只会加载默认 json 文件并重置所有内容。但是由于开发者门户没有为您加载,我认为您不能这样做?

因此,除非您负担得起创建新的 APIM 并将所有内容移到那里,否则您可以有点冒险并利用 REST API。您去那里列出所有内容类型 ID 等于 document 的内容项。内容类型只是内容项的父级。根据您的错误,缺少类型为 document 的内容项之一。

您列出这些并与“健康”apim 实例中的内容项进行比较,并尝试找出缺少的内容。如果您发现差异,您可以尝试使用相同的其余部分 api 添加缺失的内容项。你这样做,它可能会奏效。祝你好运。

PS。 Here 您可以找到我的 json 文件 - 具有 document 内容类型的默认内容项。