Подписка на события маршрутизатора заданий
Статья 10/26/2023
Участники: 9
Обратная связь
В этой статье
В этом руководстве описаны шаги по настройке подписки для событий маршрутизатора заданий и их получения.
Дополнительные сведения о сетке событий см. в документации по сетке событий.
Необходимые компоненты
Создание подписки Сетки событий
Этот шаблон развертывает подписку сетки событий в очереди хранилища для событий маршрутизатора заданий.
Если учетная запись хранения, очередь или системный раздел не существует, они также будут созданы.
Параметры
Службы коммуникации Azure имя ресурса: имя ресурса Службы коммуникации Azure. Например, если конечная точка ресурса имеет значение https://contoso.communication.azure.net
, то задайте для contoso
нее значение .
Имя хранилища: имя учетной записи служба хранилища Azure. Если он не существует, он будет создан.
Имя подмноза события: имя создаваемой подписки на событие.
Имя раздела системы: если у вас есть подписки на события в ресурсе Службы коммуникации Azure, найдите System Topic
имя на Events
вкладке ресурса Службы коммуникации Azure. В противном случае укажите уникальное имя, например имя самого ресурса Службы коммуникации Azure.
Имя очереди: имя очереди в учетной записи хранения. Если он не существует, он будет создан.
Развертываемые ресурсы
Следующие ресурсы развертываются в рамках решения
Учетная запись хранения: если имя учетной записи хранения не существует.
Очередь хранилища. Если очередь не существует в учетной записи хранения.
Системный раздел сетки событий: если раздел не существует.
Подписка сетки событий: подписка для всех событий маршрутизатора заданий в очереди хранилища.
Краткое руководство. Получение событий сетки событий с помощью очереди служба хранилища Azure
Создание нового приложения C#
В окне консоли (cmd, PowerShell или Bash) выполните команду dotnet new
, чтобы создать консольное приложение с именем EventReceiver
. Эта команда создает простой проект "Hello World" на языке C# с одним файлом исходного кода Program.cs .
dotnet new console -o EventReceiver
Измените каталог на только что созданную папку приложения и выполните команду dotnet build
, чтобы скомпилировать приложение.
cd EventReceiver
dotnet build
Установка пакетов
Установите пакеты служба хранилища Azure очередей и сетки событий.
dotnet add package Azure.Storage.Queues
dotnet add package Azure.Messaging.EventGrid
Получение сообщений из очереди
Скопируйте следующий фрагмент кода и вставьте его в исходный файл: Program.cs
using Azure.Storage.Queues;
using Azure.Messaging.EventGrid;
// For more detailed tutorials on storage queues, see: https://learn.microsoft.com/azure/storage/queues/storage-tutorial-queues
var queueClient = new QueueClient("<Storage Account Connection String>", "router-events");
while (true)
{
var msg = await queueClient.ReceiveMessageAsync();
if (msg.Value == null)
{
await Task.Delay(TimeSpan.FromSeconds(1));
continue;
}
var json = Convert.FromBase64String(msg.Value.Body.ToString());
var evt = EventGridEvent.Parse(BinaryData.FromBytes(json));
Console.WriteLine($"Received event: {evt.EventType} - {evt.Subject} - {evt.Data}");
await queueClient.DeleteMessageAsync(msg.Value.MessageId, msg.Value.PopReceipt);
}
Выполнение кода
Запустите приложение из каталога приложения с помощью команды dotnet run
.
dotnet run
Каталог событий
События маршрутизатора
Microsoft.Communication.RouterJobReceived
Вернуться к каталогу событий
{
"id": "acdf8fa5-8ab4-4a65-874a-c1d2a4a97f2e",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "job/{job-id}/channel/{channel-id}",
"data": {
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"channelReference": "test-abc",
"jobStatus": "PendingClassification",
"channelId": "FooVoiceChannelId",
"classificationPolicyId": "test-policy",
"queueId": "queue-id",
"priority": 0,
"labels": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"tags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"requestedWorkerSelectors": [
{
"key": "string",
"labelOperator": "equal",
"value": 5,
"ttlSeconds": 50,
"expirationTime": "2022-02-17T00:58:25.1736293Z"
}
],
"scheduledOn": "3/28/2007 7:13:50 PM +00:00",
"unavailableForMatching": false
},
"eventType": "Microsoft.Communication.RouterJobReceived",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
jobId
string
❌
channelReference
string
❌
jobStatus
enum
❌
Возможные значения PendingClassification, Queued
Когда это событие отправляется, процесс классификации еще не выполнен или задание было создано с соответствующим идентификатором очереди.
channelId
string
❌
classificationPolicyId
string
✔️
null
Значение ,когда queueId
указано для задания
queueId
string
✔️
null
Значение ,когда classificationPolicyId
указано для задания
priority
int
✔️
Значение NULL при classificationPolicyId
указании. Значение, отличное от NULL, в случае прямого назначения очереди.
меток.
Dictionary<string, object>
✔️
На основе ввода пользователем
tags
Dictionary<string, object>
✔️
На основе ввода пользователем
запрошенныеworkerSelectors
List<WorkerSelector>
✔️
На основе ввода пользователем
scheduledOn
DateTimeOffset
✔️
На основе ввода пользователем
недоступно ДляForMatching
bool
✔️
На основе ввода пользователем
Microsoft.Communication.RouterJobClassified
Вернуться к каталогу событий
{
"id": "b6d8687a-5a1a-42ae-b8b5-ff7ec338c872",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "job/{job-id}/channel/{channel-id}/queue/{queue-id}",
"data": {
"queueDetails": {
"id": "625fec06-ab81-4e60-b780-f364ed96ade1",
"name": "Queue 1",
"labels": {
"Language": "en",
"Product": "Office",
"Geo": "NA"
}
},
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"channelReference": "test-abc",
"channelId": "FooVoiceChannelId",
"classificationPolicyId": "test-policy",
"queueId": "625fec06-ab81-4e60-b780-f364ed96ade1",
"priority": 5,
"labels": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"tags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"attachedWorkerSelectors": [
{
"key": "string",
"labelOperator": "equal",
"value": 5,
"ttl": "P3Y6M4DT12H30M5S"
}
]
},
"eventType": "Microsoft.Communication.RouterJobClassified",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
queueDetails
QueueDetails
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
classificationPolicyId
string
❌
queueId
string
✔️
null
Если classificationPolicy
для выбора очереди не используется
priority
int
✔️
null
Если classificationPolicy
не используется для применения приоритета к заданию
меток.
Dictionary<string, object>
✔️
На основе ввода пользователем
tags
Dictionary<string, object>
✔️
На основе ввода пользователем
присоединенныеworkerSelectors
List<WorkerSelector>
✔️
Список селекторов рабочих селекторов, присоединенных политикой классификации
Microsoft.Communication.RouterJobQueued
Вернуться к каталогу событий
{
"id": "b6d8687a-5a1a-42ae-b8b5-ff7ec338c872",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "job/{job-id}/channel/{channel-id}/queue/{queue-id}",
"data": {
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"channelReference": "test-abc",
"channelId": "FooVoiceChannelId",
"queueId": "625fec06-ab81-4e60-b780-f364ed96ade1",
"priority": 1,
"labels": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"tags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"requestedWorkerSelectors": [
{
"key": "string",
"labelOperator": "equal",
"value": 5,
"ttl": "P3Y6M4DT12H30M5S"
}
],
"attachedWorkerSelectors": [
{
"key": "string",
"labelOperator": "equal",
"value": 5,
"ttl": "P3Y6M4DT12H30M5S"
}
]
},
"eventType": "Microsoft.Communication.RouterJobQueued",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
jobId
string
❌
channelReference
string
✔️
channelId
string
❌
queueId
string
❌
priority
int
❌
меток.
Dictionary<string, object>
✔️
На основе ввода пользователем
tags
Dictionary<string, object>
✔️
На основе ввода пользователем
запрошенныеworkerSelectors
List<WorkerSelector>
✔️
На основе входных данных пользователей при создании задания
присоединенныеworkerSelectors
List<WorkerSelector>
✔️
Список селекторов рабочих селекторов, присоединенных политикой классификации
Microsoft.Communication.RouterJobClassificationFailed
Вернуться к каталогу событий
{
"id": "b6d8687a-5a1a-42ae-b8b5-ff7ec338c872",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "job/{job-id}/channel/{channel-id}/classificationpolicy/{classificationpolicy-id}",
"data": {
"errors": [
{
"code": null,
"message": "Classification failed due to <reason>",
"target": null,
"innerError": null,
"details": null
}
],
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"channelReference": "test-abc",
"channelId": "FooVoiceChannelId",
"classificationPolicyId": "test-policy",
"labels": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"tags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
}
},
"eventType": "Microsoft.Communication.RouterJobClassificationFailed",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
ошибки
List<CommunicationError>
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
classificationPolicyId
string
❌
меток.
Dictionary<string, object>
✔️
На основе ввода пользователем
tags
Dictionary<string, object>
✔️
На основе ввода пользователем
Microsoft.Communication.RouterJobCompleted
Вернуться к каталогу событий
{
"id": "b6d8687a-5a1a-42ae-b8b5-ff7ec338c872",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "job/{job-id}/channel/{channel-id}/assignment/{assignment-id}",
"data": {
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"channelReference": "test-abc",
"channelId": "FooVoiceChannelId",
"queueId": "queue-id",
"assignmentId": "6f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"labels": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"tags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"workerId": "e3a3f2f9-3582-4bfe-9c5a-aa57831a0f88"
},
"eventType": "Microsoft.Communication.RouterJobCompleted",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
jobId
string
❌
channelReference
string
❌
channelId
string
❌
queueId
string
❌
меток.
Dictionary<string, object>
✔️
На основе ввода пользователем
tags
Dictionary<string, object>
✔️
На основе ввода пользователем
assignmentId
string
❌
workerId
string
❌
Microsoft.Communication.RouterJobClosed
Вернуться к каталогу событий
{
"id": "b6d8687a-5a1a-42ae-b8b5-ff7ec338c872",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "job/{job-id}/channel/{channel-id}/assignment/{assignment-id}",
"data": {
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"channelReference": "test-abc",
"channelId": "FooVoiceChannelId",
"queueId": "",
"dispositionCode": "",
"workerId": "",
"assignmentId": "",
"labels": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"tags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
}
},
"eventType": "Microsoft.Communication.RouterJobClosed",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
jobId
string
❌
channelReference
string
❌
channelId
string
❌
queueId
string
❌
меток.
Dictionary<string, object>
✔️
На основе ввода пользователем
tags
Dictionary<string, object>
✔️
На основе ввода пользователем
dispositionCode
string
✔️
На основе ввода пользователем
workerId
string
❌
assignmentId
string
❌
Microsoft.Communication.RouterJobCancelled
Вернуться к каталогу событий
{
"id": "b6d8687a-5a1a-42ae-b8b5-ff7ec338c872",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "job/{job-id}/channel/{channel-id}/disposition/{disposition-code}",
"data": {
"note": "Cancelled due to <reason>",
"dispositionCode": "100",
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"channelReference": "test-abc",
"channelId": "FooVoiceChannelId",
"labels": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"tags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"queueId": ""
},
"eventType": "Microsoft.Communication.RouterJobCancelled",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
сноска
string
✔️
На основе ввода пользователем
dispositionCode
string
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
меток.
Dictionary<string, object>
✔️
На основе ввода пользователем
tags
Dictionary<string, object>
✔️
На основе ввода пользователем
queueId
string
✔️
Microsoft.Communication.RouterJobExceptionTriggered
Вернуться к каталогу событий
{
"id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "job/{job-id}/channel/{channel-id}/exceptionrule/{rulekey}",
"data": {
"ruleKey": "r100",
"exceptionRuleId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"channelReference": "test-abc",
"channelId": "FooVoiceChannelId",
"labels": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"tags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
}
},
"eventType": "Microsoft.Communication.RouterJobExceptionTriggered",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
ruleKey
string
❌
exceptionRuleId
string
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
меток.
Dictionary<string, object>
✔️
На основе ввода пользователем
tags
Dictionary<string, object>
✔️
На основе ввода пользователем
Microsoft.Communication.RouterJobWorkerSelectorsExpired
Вернуться к каталогу событий
{
"id": "b6d8687a-5a1a-42ae-b8b5-ff7ec338c872",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "job/{job-id}/channel/{channel-id}/queue/{queue-id}",
"data": {
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"channelReference": "test-abc",
"channelId": "FooVoiceChannelId",
"queueId": "625fec06-ab81-4e60-b780-f364ed96ade1",
"labels": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"tags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"requestedWorkerSelectorsExpired": [
{
"key": "string",
"labelOperator": "equal",
"value": 5,
"ttl": "P3Y6M4DT12H30M5S"
}
],
"attachedWorkerSelectorsExpired": [
{
"key": "string",
"labelOperator": "equal",
"value": 5,
"ttl": "P3Y6M4DT12H30M5S"
}
]
},
"eventType": "Microsoft.Communication.RouterJobWorkerSelectorsExpired",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
jobId
string
❌
channelReference
string
✔️
queueId
string
❌
channelId
string
❌
меток.
Dictionary<string, object>
✔️
На основе ввода пользователем
tags
Dictionary<string, object>
✔️
На основе ввода пользователем
requestedWorkerSelectorsExpired
List<WorkerSelector>
✔️
На основе входных данных пользователей при создании задания
attachedWorkerSelectorsExpired
List<WorkerSelector>
✔️
Список селекторов рабочих селекторов, присоединенных политикой классификации
Microsoft.Communication.RouterJobUnassigned
Вернуться к каталогу событий
{
"id": "acdf8fa5-8ab4-4a65-874a-c1d2a4a97f2e",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "job/{job-id}/channel/{channel-id}/assignment/{assignment-id}",
"data": {
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"assignmentId": "",
"workerId": "",
"channelId": "FooVoiceChannelId",
"channelReference": "test-abc",
"queueId": "queue-id",
"labels": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"tags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
}
},
"eventType": "Microsoft.Communication.RouterJobUnassigned",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
jobId
string
❌
assignmentId
string
❌
workerId
string
❌
channelId
string
❌
channelReference
string
❌
queueId
string
✔️
null
Значение ,когда classificationPolicyId
указано для задания
меток.
Dictionary<string, object>
✔️
На основе ввода пользователем
tags
Dictionary<string, object>
✔️
На основе ввода пользователем
Microsoft.Communication.RouterJobWaitingForActivation
Вернуться к каталогу событий
{
"id": "acdf8fa5-8ab4-4a65-874a-c1d2a4a97f2e",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "job/{job-id}/channel/{channel-id}",
"data": {
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"channelId": "FooVoiceChannelId",
"channelReference": "test-abc",
"queueId": "queue-id",
"priority": 1,
"labels": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"tags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"requestedWorkerSelectors": [
{
"key": "string",
"labelOperator": "equal",
"value": 5,
"ttl": "P3Y6M4DT12H30M5S"
}
],
"attachedWorkerSelectors": [
{
"key": "string",
"labelOperator": "equal",
"value": 5,
"ttl": "P3Y6M4DT12H30M5S"
}
],
"scheduledOn": "2022-02-17T00:55:25.1736293Z",
"unavailableForMatching": false
},
"eventType": "Microsoft.Communication.RouterJobWaitingForActivation",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
jobId
string
❌
channelId
string
❌
channelReference
string
❌
queueId
string
✔️
null
Значение ,когда classificationPolicyId
указано для задания
меток.
Dictionary<string, object>
✔️
На основе ввода пользователем
tags
Dictionary<string, object>
✔️
На основе ввода пользователем
requestedWorkerSelectorsExpired
List<WorkerSelector>
✔️
На основе входных данных пользователей при создании задания
attachedWorkerSelectorsExpired
List<WorkerSelector>
✔️
Список селекторов рабочих селекторов, присоединенных политикой классификации
scheduledOn
DateTimeOffset
✔️
На основе входных данных пользователей при создании задания
недоступно ДляForMatching
bool
✔️
На основе входных данных пользователей при создании задания
priority
int
❌
На основе входных данных пользователей при создании задания
Microsoft.Communication.RouterJobSchedulingFailed
Вернуться к каталогу событий
{
"id": "acdf8fa5-8ab4-4a65-874a-c1d2a4a97f2e",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "job/{job-id}/channel/{channel-id}",
"data": {
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"channelId": "FooVoiceChannelId",
"channelReference": "test-abc",
"queueId": "queue-id",
"priority": 1,
"labels": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"tags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"requestedWorkerSelectors": [
{
"key": "string",
"labelOperator": "equal",
"value": 5,
"ttl": "P3Y6M4DT12H30M5S"
}
],
"attachedWorkerSelectors": [
{
"key": "string",
"labelOperator": "equal",
"value": 5,
"ttl": "P3Y6M4DT12H30M5S"
}
],
"scheduledOn": "2022-02-17T00:55:25.1736293Z",
"failureReason": "Error"
},
"eventType": "Microsoft.Communication.RouterJobSchedulingFailed",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
jobId
string
❌
channelId
string
❌
channelReference
string
❌
queueId
string
✔️
null
Значение ,когда classificationPolicyId
указано для задания
меток.
Dictionary<string, object>
✔️
На основе ввода пользователем
tags
Dictionary<string, object>
✔️
На основе ввода пользователем
requestedWorkerSelectorsExpired
List<WorkerSelector>
✔️
На основе входных данных пользователей при создании задания
attachedWorkerSelectorsExpired
List<WorkerSelector>
✔️
Список селекторов рабочих селекторов, присоединенных политикой классификации
scheduledOn
DateTimeOffset
✔️
На основе входных данных пользователей при создании задания
failureReason
string
✔️
Система определена
priority
int
❌
На основе входных данных пользователей при создании задания
Рабочие события
Microsoft.Communication.RouterWorkerOfferIssued
Вернуться к каталогу событий
{
"id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "worker/{worker-id}/job/{job-id}",
"data": {
"workerId": "w100",
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"channelReference": "test-abc",
"channelId": "FooVoiceChannelId",
"queueId": "625fec06-ab81-4e60-b780-f364ed96ade1",
"offerId": "525fec06-ab81-4e60-b780-f364ed96ade1",
"offeredOn": "2021-06-23T02:43:30.3847144Z",
"expiresOn": "2021-06-23T02:44:30.3847674Z",
"jobPriority": 5,
"jobLabels": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"jobTags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
}
},
"eventType": "Microsoft.Communication.RouterWorkerOfferIssued",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
workerId
string
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
queueId
string
❌
offerId
string
❌
предлагаемыйon
DateTimeOffset
❌
истекает срок действия
DateTimeOffset
❌
jobPriority
int
❌
jobLabels
Dictionary<string, object>
✔️
На основе ввода пользователем
jobTags
Dictionary<string, object>
✔️
На основе ввода пользователем
Microsoft.Communication.RouterWorkerOfferAccepted
Вернуться к каталогу событий
{
"id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "worker/{worker-id}/job/{job-id}",
"data": {
"workerId": "w100",
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"jobPriority": 5,
"jobLabels": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"jobTags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"channelReference": "test-abc",
"channelId": "FooVoiceChannelId",
"queueId": "625fec06-ab81-4e60-b780-f364ed96ade1",
"offerId": "565fec06-ab81-4e60-b780-f364ed96ade1",
"assignmentId": "765fec06-ab81-4e60-b780-f364ed96ade1"
},
"eventType": "Microsoft.Communication.RouterWorkerOfferAccepted",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
workerId
string
❌
jobId
string
❌
jobPriority
int
❌
jobLabels
Dictionary<string, object>
✔️
На основе ввода пользователем
jobTags
Dictionary<string, object>
✔️
На основе ввода пользователем
channelReference
string
❌
channelId
string
❌
queueId
string
❌
offerId
string
❌
assignmentId
string
❌
Microsoft.Communication.RouterWorkerOfferDeclined
Вернуться к каталогу событий
{
"id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "worker/{worker-id}/job/{job-id}",
"data": {
"workerId": "w100",
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"channelReference": "test-abc",
"channelId": "FooVoiceChannelId",
"queueId": "625fec06-ab81-4e60-b780-f364ed96ade1",
"offerId": "565fec06-ab81-4e60-b780-f364ed96ade1",
},
"eventType": "Microsoft.Communication.RouterWorkerOfferDeclined",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
workerId
string
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
queueId
string
❌
offerId
string
❌
Microsoft.Communication.RouterWorkerOfferRevoked
Вернуться к каталогу событий
{
"id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "worker/{worker-id}/job/{job-id}",
"data": {
"offerId": "565fec06-ab81-4e60-b780-f364ed96ade1",
"workerId": "w100",
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"channelReference": "test-abc",
"channelId": "FooVoiceChannelId",
"queueId": "625fec06-ab81-4e60-b780-f364ed96ade1"
},
"eventType": "Microsoft.Communication.RouterWorkerOfferRevoked",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
offerId
string
❌
workerId
string
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
queueId
string
❌
Microsoft.Communication.RouterWorkerOfferExpired
Вернуться к каталогу событий
{
"id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "worker/{worker-id}/job/{job-id}",
"data": {
"offerId": "565fec06-ab81-4e60-b780-f364ed96ade1",
"workerId": "w100",
"jobId": "7f1df17b-570b-4ae5-9cf5-fe6ff64cc712",
"channelReference": "test-abc",
"channelId": "FooVoiceChannelId",
"queueId": "625fec06-ab81-4e60-b780-f364ed96ade1"
},
"eventType": "Microsoft.Communication.RouterWorkerOfferExpired",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
workerId
string
❌
offerId
string
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
queueId
string
❌
Microsoft.Communication.RouterWorkerRegistered
Вернуться к каталогу событий
{
"id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "worker/{worker-id}",
"data": {
"workerId": "worker3",
"totalCapacity": 100,
"queueAssignments": [
{
"id": "MyQueueId2",
"name": "Queue 3",
"labels": {
"Language": "en",
"Product": "Office",
"Geo": "NA"
}
}
],
"labels": {
"x": "111",
"y": "111"
},
"channelConfigurations": [
{
"channelId": "FooVoiceChannelId",
"capacityCostPerJob": 10,
"maxNumberOfJobs": 5
}
],
"tags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
}
},
"eventType": "Microsoft.Communication.RouterWorkerRegistered",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
workerId
string
❌
totalCapacity
int
❌
queueAssignments
List<QueueDetails>
❌
меток.
Dictionary<string, object>
✔️
На основе ввода пользователем
channelConfigurations
List<ChannelConfiguration>
❌
tags
Dictionary<string, object>
✔️
На основе ввода пользователем
Microsoft.Communication.RouterWorkerUpdated
Вернуться к каталогу событий
{
"id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "worker/{worker-id}",
"data": {
"workerId": "worker3",
"availableForOffers": true,
"totalCapacity": 100,
"queueAssignments": [
{
"id": "MyQueueId2",
"name": "Queue 3",
"labels": {
"Language": "en",
"Product": "Office",
"Geo": "NA"
}
}
],
"labels": {
"x": "111",
"y": "111"
},
"channelConfigurations": [
{
"channelId": "FooVoiceChannelId",
"capacityCostPerJob": 10,
"maxNumberOfJobs": 5
}
],
"tags": {
"Locale": "en-us",
"Segment": "Enterprise",
"Token": "FooToken"
},
"updatedWorkerProperties": [
"TotalCapacity",
"Labels",
"Tags",
"ChannelConfigurations",
"AvailableForOffers",
"QueueAssignments"
]
},
"eventType": "Microsoft.Communication.RouterWorkerUpdated",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
workerId
string
❌
totalCapacity
int
❌
queueAssignments
List<QueueDetails>
❌
меток.
Dictionary<string, object>
✔️
На основе ввода пользователем
channelConfigurations
List<ChannelConfiguration>
❌
tags
Dictionary<string, object>
✔️
На основе ввода пользователем
updatedWorkerProperProperties
List<UpdateWorkerProperty>
❌
Обновления рабочих свойств, включая AvailableForOffers, QueueAssignments, ChannelConfigurations, TotalCapacity, Метки и теги
Microsoft.Communication.RouterWorkerDeregistered
Вернуться к каталогу событий
{
"id": "1027db4a-17fe-4a7f-ae67-276c3120a29f",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
"subject": "worker/{worker-id}",
"data": {
"workerId": "worker3"
},
"eventType": "Microsoft.Communication.RouterWorkerDeregistered",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2022-02-17T00:55:25.1736293Z"
}
Список атрибутов
Атрибут
Тип
Допускает значение NULL
Описание
Основание
workerId
string
❌
Определения моделей
QueueDetails
public class QueueDetails
{
public string Id { get; set; }
public string Name { get; set; }
public Dictionary<string, object>? Labels { get; set; }
}
CommunicationError
public class CommunicationError
{
public string? Code { get; init; }
public string Message { get; init; }
public string? Target { get; init; }
public CommunicationError? InnerError { get; init; }
public IEnumerable<CommunicationError>? Details { get; init; }
}
ChannelConfiguration
public class ChannelConfiguration
{
public string ChannelId { get; set; }
public int CapacityCostPerJob { get; set; }
public int? MaxNumberOfJobs { get; set; }
}
UpdatedWorkerProperProperty
public enum UpdatedWorkerProperty
{
AvailableForOffers,
Capacity,
QueueAssignments,
Labels,
Tags,
ChannelConfigurations
}
WorkerSelector
public class WorkerSelector
{
public string Key { get; set; }
public LabelOperator LabelOperator { get; set; }
public object Value { get; set; }
public double? TTLSeconds { get; set; }
public WorkerSelectorState State { get; set; }
public DateTimeOffset? ExpireTime { get; set; }
}
public enum WorkerSelectorState
{
Active = 0,
Expired = 1
}
public enum LabelOperator
{
Equal,
NotEqual,
LessThan,
LessThanEqual,
GreaterThan,
GreaterThanEqual,
}