【问题标题】:API Management Service can't find API definitionAPI 管理服务找不到 API 定义
【发布时间】:2021-04-24 23:02:08
【问题描述】:

我正在尝试在 Azure 上创建新的 API 管理服务 (AMS)。我面临着一个我以前从未遇到过的问题。我在公共 URL 中有我的 OpenAPI 文件。如果我粘贴此 URL 以在 AMS 中创建新 API,我总是会收到错误消息

无法下载指定文件。请确保 URL 有效且文件可公开访问。

然后,我尝试从 Azure 控制台下载此 OpenAPI 定义,它可以访问该文件并下载它。这个问题发生在昨天之前,我可以毫无问题地使用相同的 OpenAPI 文件。

另外,我检查了托管 API 的虚拟机的配置。这似乎是正确的,我可以从浏览器访问该文件。

【问题讨论】:

  • 我假设您遇到的错误来自 url。当我打电话给http://51.137.177.245:8000/openapi.json 时,我得到了json 响应,但没有开始下载,所以它说unable to download ...。对了,我把response复制下来,本地保存为json文件,但是上传文件的时候遇到unable to parse specified file的错误,然后查了一下发现你漏掉了servers.url。加值后就可以上传成功了i.stack.imgur.com/IJ0v4.pngi.stack.imgur.com/iPJrO.png
  • 这里有一个doc 描述了对 api 导入的限制。它是指用户去 azure apim 选择一个现有的 api 来查看 openapi 的格式。 i.stack.imgur.com/CQsKq.png
  • 非常感谢您的帮助。我错过了服务器 url 参数。我不知道unable to download... 错误。需要什么样的配置才能避免这种情况?
  • 可能和ip地址有关。可以改用域名吗?我将我的 json 文件上传到 azure 存储 blob。我可以将文件 url 用于 apim。 i.stack.imgur.com/uwmuu.png
  • 我使用与您相同的网址。将http://51.137.177.245:8000/openapi.json 放入字段OpenAPIspecification,然后得到错误Unable to down specified file. Please ensure the url is valid ...,这里没有使用任何工具。

标签: azure-api-management


【解决方案1】:

unable to download ...的错误可能来自ip地址url,因为当我用azure storage blob url填充该字段时,我没有收到错误。

我将你的请求响应保存到本地json文件并上传到apim,我得到unable to parse specified file的错误,我发现它是由于缺少servers.url造成的。

我认为您可以尝试通过从本地主机上传 json 文件来添加 api 实例。

【讨论】:

    【解决方案2】:

    在与 Microsoft 支持人员长时间通话后,我发现了问题。在网络安全组中,我添加了一个新的入站安全规则

    首先,来源。我看到 Service Tag 有一个选项。如果我选择服务标签,则以下下拉列表会更改 源服务标签 中的标签。在此下拉列表中,您可以选择 ApiManagement

    错误的选择。您必须允许从下拉列表中选择 IP 并输入 API 管理服务的 IP。

    我创建了一个post on my blog 来逐步解释你必须做什么。希望它有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      • 2021-11-29
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多