Microsoft 发布了一个新的Azure API
管理开发人员门户。
我正在寻找一种从API
开发人员门户导出所有文件和配置并能够将其导入另一个的方法。因此,我可以将相同的自定义应用于我的所有APIM
实例。
有没有办法做到这一点?
我目前正在尝试使用以下文档实施 Oauth2.0 来保护 API
https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-protect-backend-with-aad
目前使用azure apim提供的DEMO CONFERENCE API来测试实现。
目前在开发者门户测试期间收到错误:
“message”:“JWT 验证失败:声明值不匹配:aud=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxx..”
通过解码及其匹配来将传递的令牌与声明值进行比较。
我的 jwt 令牌验证策略如下
<inbound>
<base />
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid." require-expiration-time="false" require-signed-tokens="false">
<openid-config url="https://login.microsoftonline.com/xxxxxxxxx-07c8-xxxxx-xxxx-xxxxxxxxx/.well-known/openid-configuration" />
<required-claims>
<claim name="aud" match="all" separator="-">
<value>xxxxxxxx-xxxxx-489e-a26e-xxxxxxxx</value>
</claim>
</required-claims>
</validate-jwt>
</inbound>
Run Code Online (Sandbox Code Playgroud) 我们希望在每次部署 azure 函数时自动化将函数定义导入 CD 流程的过程。在 azure 门户中,有一种非常简单的方法可以通过 UI 导入函数定义,但它们似乎没有任何 api/cli/powershell 库来自动化此过程。
我们已经成功创建了一个解决方法,其中涉及使用 C# OpenApi 库使我们的函数应用程序定义保持最新,然后使用az apim import
cli 命令作为部署管道的一部分,但感觉需要额外的工作来保持 OpenApi 定义的最新和准确我们函数的每个端点,当您导入函数应用程序时,最好自动化门户在后台执行的操作(这不需要在源代码中保持最新的 openapi 定义)。任何帮助将不胜感激。
我们正在使用 Azure DevOps 进行 CI/CD 管道和发布。
在我的 azure devops 管道中,我有一个任务 AzureCLI@2,它将 api 部署到 apim。如何使用 az apim api执行相同的任务来更新 api?我知道有一个操作可以做到这一点,但文档没有显示如何操作,而且我没有找到任何示例。我正在使用管道中生成的开放 api 文件来创建,并且我想用它来更新 api。
我正在利用 Azure API 管理解决方案编写概念验证。
我正在尝试编写一项<inbound>
执行以下操作的策略:
<send-request>
向 API 的身份验证端点发出请求。JObject
这就是我目前的政策:
<inbound>
<base />
<!-- Authenticate with the API and get authentication tokens for subsequent calls -->
<send-request mode="new" response-variable-name="auth" timeout="20" ignore-error="true">
<set-url>https://www.service.com/api/authenticate</set-url>
<set-method>POST</set-method>
<set-header name="Content-Type" exists-action="override">
<value>application/json</value>
</set-header>
<set-body>
@{
var credentials = new JObject();
credentials.Add(new JProperty("logonId", "{{API_LOGON_USERNAME}}"));
credentials.Add(new JProperty("logonPassword", "{{API_LOGON_PASSWORD}}"));
return credentials.ToString();
}
</set-body>
</send-request>
<!-- Make …
Run Code Online (Sandbox Code Playgroud) azure apim中是否有睡眠策略或任何替代方案,以便我可以延迟 5 秒特定响应?在此处输入图像描述 在所附图像中,我需要为突出显示的条件提供 5 秒的延迟或睡眠条件。
我正在构建一个逻辑应用程序,从我的本地 SQL 数据库中提取数据 -> 将其转换为 XML -> 将其发送到 SOAP API。
以下是我从本地数据库获取到 Logic App 的示例数据:
{
"ResultSets": {
"Table1": [
{
"ID": "VM001",
"FirstName": "TestFirstName",
"LastName": "TestLastName",
"Email": "test1@company.com",
"DOB": "1990-05-05"
},
{
"ID": "VM002",
"FirstName": "TestFirstName2",
"LastName": "TestLastName2",
"Email": "test2@company.com",
"DOB": "1990-06-06"
}
]
},
"OutputParameters": {}
}
Run Code Online (Sandbox Code Playgroud)
...然后我的计划是调用内部 API 并应用某种策略(我相信我们可以在入站/出站策略中使用 Liquid 模板,而不使用集成帐户或 Azure 函数)将上面的数据转换为下面的 XML,但我与之斗争:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<userRequest>
<extMessageId>12345</extMessageId>
<users>
<!--1 or more repetitions:-->
<user>
<ID> ID from JSON data </ID>
<!--Optional:-->
<FirstName> FirstName from …
Run Code Online (Sandbox Code Playgroud)