如何重置开发者门户的内容

How to reset content of the developer portal

Azure APIM 开发人员门户(新门户)已经过编辑,现在某些菜单无法使用。

是否可以重新设置内容?

我已经尝试将 capture.bat(来自另一个 APIM 实例)和 generate.bat 放入损坏的实例中,但它似乎没有用 - 我什至对脚本中的一个 jpg 文件进行了更改.v3/media 目录,但是当我 运行 生成时它在门户中没有改变。

我发现“运行 您自己的托管开发者门户”场景令人困惑。我不清楚:

在自托管方案上进行开发时,理想情况下,我认为将内容保存在本地以便将其置于源代码管理中是有益的。如果做不到这一点,是否可以进行自定义,使“运行 您自己的托管开发人员门户”内容位于可访问的位置,例如代码发布到的同一存储帐户上的容器中的 blob?这样我就可以将内容从未损坏的 APIM 复制到存储帐户并使用它进行开发。

Is it possible reset the content ?

是的。您真的尝试过最简单的解决方案吗?

  1. 在编辑模式下打开开发者门户:

  1. 点击重置内容


where is the content held for the unpublished managed portal ?

where is the content held for the published managed portal ?

同一个地方 - 在 APIM 资源中。当您编辑开发人员门户并保存它时, 在您单击“发布”之前,其他用户不会看到这些更改。

您还可以使用来自 REST API 或直接来自 Azure 门户的开发人员门户修订版。这将使您有机会回到以前的修订版。因此,如果您手动发布,在编辑并保存开发人员门户后,我建议转到 azure 门户中的修订选项卡并从那里发布它——这样您将拥有简单的版本控制。

对于托管版本,重要的是要理解,“内容”包括:

  • 内容类型和内容项只是 json 模板文件,用于描述您在开发人员门户上的页面。这些可以通过 REST API here and here 访问(这是父子关系)。
  • 以及您上传的自定义媒体(图像、字体等),可以从 APIM Blob 存储中检索。要为 APIM Blob 存储获取 SAS URL 并连接到它,只需使用地址 POST /portalSettings/mediaContent/listSecrets/ 调用您的 APIM 管理 API - 这个 URL 没有记录,但您可以像调用任何其他端点一样调用它。

就是这样。这就是您所需要的 - json 文件和媒体文件。其余的为您管理。事实上,这就是 github repository 中的那些脚本所做的。 capture.bat 例如从开发人员门户下载所有媒体和 json 并将其保存到您的本地文件夹。因此,例如,您可以将其保存到源代码管理 or/and 上传到另一个 APIM 开发人员门户实例。


当托管开发人员门户和在线编辑器对您来说不够用,并且您需要更多自定义功能(如自定义小部件等)时,您可以使用自托管版本。它给了你更多的自由,但缺点当然是你要对它的升级负责。

where is the content held for the unpublished "own hosted" portal ? ie when running locally (npm start on the Github repo code)

当您 运行 npm start 时,它只是 运行 在本地就像您开发任何其他网页一样。在这种情况下,它使用 webpack-dev-server 来托管页面。

where is the content held for the published "own hosted" portal ?

随心所欲。这就是自托管版本背后的想法。在您对所做的更改感到满意后,运行 npm run publish 和文件将出现在 dist 文件夹中。然后您可以将它们上传到您选择的资源。 This tutorial 向您展示如何为您的 blob 存储启用静态网站托管并在那里托管您的开发人员门户。一切都得到了解释,只需按照文章一步一步仔细操作(不要跳过任何步骤,每一个步骤对于成功配置和部署您的自托管开发人员门户都很重要)。祝你好运。