【问题标题】:Could not find azure app service hosted web api in azure api management在 azure api 管理中找不到 azure app 服务托管的 web api
【发布时间】:2019-04-03 05:22:21
【问题描述】:

我创建了一个基于令牌的身份验证的 Web api,并部署在 azure app 服务中。如果我尝试从 APIM 中的 azure 托管应用程序服务打开它找不到。我们需要更改设置吗?(我没有使用 azure AD 进行身份验证,因为它是测试服务)。

谁能帮忙解决这个问题。

提前致谢, 埃斯瓦尔

【问题讨论】:

  • 当您没有得到 API 管理的响应时,您应该检查 HTTPS 状态码。你得到什么状态码? APIM 不强制使用 Azure AD。您可以在同一个应用程序中创建一个 hello world api(没有任何安全性),然后您可以尝试通过 APIM 访问该 api。 c-sharpcorner.com/UploadFile/g_arora/…
  • 我没有调用 APIM。我刚刚创建了普通的 Web API 并托管在 Azure 应用服务中。当我从 APIM 中的 API 应用程序浏览它时。未检测到我的服务。
  • APIM 返回什么状态码?
  • 对我来说它是在一段时间后出现的。

标签: azure-api-management


【解决方案1】:

APIM 仅支持导入 API 应用程序。尝试转到https://resources.azure.com/ 并在那里找到您的应用程序。在其属性中,它的种类必须等于“api”。

【讨论】:

  • 它在资源中可用,但在我浏览它时在 APIM 中未检测到。 “id”:“/subscriptions/---/resourceGroups/CCS-T/WebAPIDemo17”,“名称”:“WebAPIDemo17”,“类型”:“Microsoft.Web/sites”,“种类”:“app”,“ location": "centralus", "identity": { "principalId": "", "tenantId": "", "type": "SystemAssigned" },
  • 你去。 APIM 仅识别 kind=api,而不识别 app。但这并不重要。你的应用有 OpenAPI 规范吗?如果是这样 - 只需将其作为常规 API 导入,如果不是 - 只需注册为常规 API。
  • 我只有网址。如何获取openApi规范firstadwebapp20161103050055.azurewebsites
  • 托管在 Azure api 应用中
  • @Eswarreddy OpenAPI 规范是您自己编写的,或者由类似 Swashbuckle:nuget.org/packages/Swashbuckle 之类的东西为您生成。无论哪种方式,如果您没有,您仍然可以在 APIM 中手动注册 API。只需点击“添加 API”并选择“空白”
【解决方案2】:

当您在 APIM 中导入 API 应用程序时,APIM 会找到与所选应用程序关联的 swagger,获取并导入它。如果 APIM 没有发现 swagger,它会将 API 公开为“直通”API

所以当你在本地创建API应用时,你需要选择Azure API App然后部署到azure。这样,你就可以找到它了。

【讨论】:

  • Azure API App 在 APIM 中也找不到
猜你喜欢
  • 1970-01-01
  • 2021-10-03
  • 2022-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-02
  • 1970-01-01
相关资源
最近更新 更多