0

我正在使用 Rest api 方法来启动 Runbook。我在使用 rest API 执行 runbook 后得到输出,但没有得到错误

我用来获取输出的 API 是

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobName}/output?api-version=2017-05-15-preview

但没有得到任何 API 来获取错误。在这个链接中(https://docs.microsoft.com/en-us/rest/api/automation/job/get)我可以在那里看到ErrorResponse,但不知道如何使用它。

我需要 rest api 来获取运行手册中的错误。

4

2 回答 2

0

首先,您在Job - GetJob - Get Output REST API中看到的“ErrorResponse”基本上是关于特定 REST API 操作的响应。它与 Azure 自动化作业错误无关。

其次,AFAIK 目前没有直接支持的 REST API 来获取 Azure 自动化作业的错误信息。如果有兴趣,您可以在此处将您的反馈作为功能请求分享。但是,如果您想获取 Azure 自动化作业的错误信息,那么我们可以按照文档中的说明将作业状态和作业流从 Azure 自动化转发到 Azure Monitor 日志,然后利用Azure Log Analytics REST API在您所在位置获取 Azure 自动化作业的错误信息可能必须提供如下所示的查询。

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" and JobId_g == "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
| summarize AggregatedValue = count() by JobId_g

希望这可以帮助!!

更新

请在下面的屏幕截图中找到获取输出 API 仅捕获输出流内容的说明。

场景 1 - 作业只有错误流但没有输出流和 get output API 的输出

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

场景 2 - 作业只有输出流但没有错误流和 get output API 的输出

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

于 2019-08-19T12:32:06.170 回答
0

我遇到了同样的情况,我的应用程序需要知道作业是否以错误结束。由于没有直接的方法可以做到这一点,我想出了一个解决方法。

第 1 步:我假设您有工作 ID。使用作业 api 获取作业名称。我不认为 UI 正在显示作业名称。这就是为什么我必须使用作业 API 来获得相同的结果。例如。

https://management.azure.com/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP_NAME}/providers/Microsoft.Automation/automationAccounts/{AUTOMATION_ACCOUNT_NAME}/jobs/{JOB_ID}/?api-version=2017-05-15 -预习

第 2 步:将作业名称与作业流 API 一起使用。例如。 https://management.azure.com/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.Automation/automationAccounts/{AUTOMATION_ACCOUNT_NAME}/jobs/{JOB_NAME}/streams/?&api-version=2017-05 -15-预览

这将返回包括错误在内的所有输出。

 {"value" = [{
   "id": "...",
   "properties": 
    {
      "jobStreamId": "...",
      "summary": "Resource group not found",
      "time": "2021-04-05T13:37:04.3629685+00:00",
      "streamType": "Error"
    }
 }
]}

输出格式在此处的官方文档中定义。 https://docs.microsoft.com/en-us/rest/api/automation/jobstream/listbyjob

于 2021-04-05T15:23:35.990 回答