我在 Azure 中有一个逻辑应用程序,我想创建一个应用程序来监视所有运行并提供比 Azure 门户更好的过滤。
我正在尝试执行一个简单的请求来获取运行列表:https://learn.microsoft.com/en-us/rest/api/logic/workflow-runs/list?view=rest-logic- 2016-06-01&tabs=HTTP
但是 API 端点需要身份验证令牌,问题是我不知道如何获取它,没有任何有关如何获取它的详细信息。
是否有关于如何执行此操作的分步指南?我做了一些研究,我发现的每个链接都已过时,其中包含有关 Azure 门户中页面的详细信息,这些详细信息与几年前不同。
要生成访问令牌并调用 Azure 服务管理 API,您需要创建一个 Microsoft Entra ID 应用程序 并添加以下 API 权限:
向应用程序分配 逻辑应用贡献者、逻辑应用操作员或读者角色:
现在通过传递如下参数来生成访问令牌:
GET https://login.microsoftonline.com/TenantID/oauth2/v2.0/token
client_id=ClientID
scope=https://management.azure.com/.default
client_secret=ClientSecret
grant_type=client_credentials
我使用 MsDoc
中提到的 API 调用创建了示例工作流程的工作流程我能够通过传递访问令牌成功获取工作流程运行:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs?api-version=2016-06-01
您还可以利用用户交互流程来调用API。
参考: