Sottoscrivere gli eventi del router di processo
Articolo 03/12/2024
9 contributori
Commenti e suggerimenti
In questo articolo
Questa guida illustra i passaggi per configurare una sottoscrizione per gli eventi del router di processo e come riceverli.
Per altri dettagli su Griglia di eventi, vedere la documentazione di Griglia di eventi.
Prerequisiti
Creare una sottoscrizione di Griglia di eventi
Questo modello distribuisce una sottoscrizione di Griglia di eventi in una coda di archiviazione per gli eventi del router processo.
Se l'account di archiviazione, la coda o l'argomento di sistema non esiste, verranno creati anche.
Parametri
Servizi di comunicazione di Azure Nome risorsa: nome della risorsa Servizi di comunicazione di Azure. Ad esempio, se l'endpoint della risorsa è https://contoso.communication.azure.net
, impostare su contoso
.
Nome archiviazione: nome dell'account Archiviazione di Azure. Se non esiste, verrà creato.
Nome secondario evento: nome della sottoscrizione di eventi da creare.
Nome argomento di sistema: se sono presenti sottoscrizioni di eventi nella risorsa Servizi di comunicazione di Azure, trovare il System Topic
nome nella Events
scheda della risorsa Servizi di comunicazione di Azure. In caso contrario, specificare un nome univoco, ad esempio il nome della risorsa Servizi di comunicazione di Azure.
Nome coda: nome della coda all'interno dell'account di archiviazione. Se non esiste, verrà creato.
Risorse distribuite
Le risorse seguenti vengono distribuite come parte della soluzione
Account di archiviazione: se il nome dell'account di archiviazione non esiste.
Coda di archiviazione: se la coda non esiste nell'account di archiviazione.
Argomento di sistema di Griglia di eventi: se l'argomento non esiste.
Sottoscrizione di Griglia di eventi: una sottoscrizione per tutti gli eventi del router di processo nella coda di archiviazione.
Guida introduttiva: Ricevere eventi di Griglia di eventi tramite una coda di Archiviazione di Azure
Creare una nuova applicazione C#
In una finestra di una console, ad esempio cmd, PowerShell o Bash, usare il comando dotnet new
per creare una nuova app console con il nome EventReceiver
. Questo comando crea un semplice progetto C# "Hello World" con un singolo file di origine: Program.cs .
dotnet new console -o EventReceiver
Passare alla cartella dell'app appena creata e usare il comando dotnet build
per compilare l'applicazione.
cd EventReceiver
dotnet build
Installare i pacchetti
Installare i pacchetti Archiviazione di Azure Code e Griglia di eventi.
dotnet add package Azure.Storage.Queues
dotnet add package Azure.Messaging.EventGrid
Ricevere messaggi dalla coda
Copiare il frammento di codice seguente e incollarlo nel file di origine: 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);
}
Eseguire il codice
Eseguire l'applicazione dalla directory dell'applicazione con il comando dotnet run
.
dotnet run
Catalogo eventi
Eventi router
Microsoft.Communication.RouterJobReceived
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
jobId
string
❌
channelReference
string
❌
jobStatus
enum
❌
Valori possibili PendingClassification, Queued
Quando questo evento viene inviato, il processo di classificazione è ancora stato eseguito o il processo è stato creato con un queueId associato.
channelId
string
❌
classificationPolicyId
string
✔️
null
quando queueId
viene specificato per un processo
queueId
string
✔️
null
quando classificationPolicyId
viene specificato per un processo
priority
int
✔️
Null quando classificationPolicyId
viene specificato. Valore non Null in caso di assegnazione diretta della coda.
Etichette
Dictionary<string, object>
✔️
In base all'input dell'utente
tag
Dictionary<string, object>
✔️
In base all'input dell'utente
requestedWorkerSelectors
List<WorkerSelector>
✔️
In base all'input dell'utente
scheduledOn
DateTimeOffset
✔️
In base all'input dell'utente
unavailableForMatching
bool
✔️
In base all'input dell'utente
Microsoft.Communication.RouterJobClassified
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
queueDetails
QueueDetails
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
classificationPolicyId
string
❌
queueId
string
✔️
null
quando classificationPolicy
non viene usato per la selezione della coda
priority
int
✔️
null
quando classificationPolicy
non viene usato per applicare la priorità al processo
Etichette
Dictionary<string, object>
✔️
In base all'input dell'utente
tag
Dictionary<string, object>
✔️
In base all'input dell'utente
attachedWorkerSelectors
List<WorkerSelector>
✔️
Elenco dei selettori di lavoro associati da un criterio di classificazione
Microsoft.Communication.RouterJobQueued
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
jobId
string
❌
channelReference
string
✔️
channelId
string
❌
queueId
string
❌
priority
int
❌
Etichette
Dictionary<string, object>
✔️
In base all'input dell'utente
tag
Dictionary<string, object>
✔️
In base all'input dell'utente
requestedWorkerSelectors
List<WorkerSelector>
✔️
In base all'input dell'utente durante la creazione del processo
attachedWorkerSelectors
List<WorkerSelector>
✔️
Elenco dei selettori di lavoro associati da un criterio di classificazione
Microsoft.Communication.RouterJobClassificationFailed
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
errori
List<CommunicationError>
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
classificationPolicyId
string
❌
Etichette
Dictionary<string, object>
✔️
In base all'input dell'utente
tag
Dictionary<string, object>
✔️
In base all'input dell'utente
Microsoft.Communication.RouterJobCompleted
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
jobId
string
❌
channelReference
string
❌
channelId
string
❌
queueId
string
❌
Etichette
Dictionary<string, object>
✔️
In base all'input dell'utente
tag
Dictionary<string, object>
✔️
In base all'input dell'utente
assignmentId
string
❌
workerId
string
❌
Microsoft.Communication.RouterJobClosed
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
jobId
string
❌
channelReference
string
❌
channelId
string
❌
queueId
string
❌
Etichette
Dictionary<string, object>
✔️
In base all'input dell'utente
tag
Dictionary<string, object>
✔️
In base all'input dell'utente
dispositionCode
string
✔️
In base all'input dell'utente
workerId
string
❌
assignmentId
string
❌
Microsoft.Communication.RouterJobCancelled
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
nota
string
✔️
In base all'input dell'utente
dispositionCode
string
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
Etichette
Dictionary<string, object>
✔️
In base all'input dell'utente
tag
Dictionary<string, object>
✔️
In base all'input dell'utente
queueId
string
✔️
Microsoft.Communication.RouterJobExceptionTriggered
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
ruleKey
string
❌
exceptionRuleId
string
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
Etichette
Dictionary<string, object>
✔️
In base all'input dell'utente
tag
Dictionary<string, object>
✔️
In base all'input dell'utente
Microsoft.Communication.RouterJobWorkerSelectorsExpired
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
jobId
string
❌
channelReference
string
✔️
queueId
string
❌
channelId
string
❌
Etichette
Dictionary<string, object>
✔️
In base all'input dell'utente
tag
Dictionary<string, object>
✔️
In base all'input dell'utente
requestedWorkerSelectorsExpired
List<WorkerSelector>
✔️
In base all'input dell'utente durante la creazione di un processo
attachedWorkerSelectorsExpired
List<WorkerSelector>
✔️
Elenco dei selettori di lavoro associati da un criterio di classificazione
Microsoft.Communication.RouterJobUnassigned
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
jobId
string
❌
assignmentId
string
❌
workerId
string
❌
channelId
string
❌
channelReference
string
❌
queueId
string
✔️
null
quando classificationPolicyId
viene specificato per un processo
Etichette
Dictionary<string, object>
✔️
In base all'input dell'utente
tag
Dictionary<string, object>
✔️
In base all'input dell'utente
Microsoft.Communication.RouterJobWaitingForActivation
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
jobId
string
❌
channelId
string
❌
channelReference
string
❌
queueId
string
✔️
null
quando classificationPolicyId
viene specificato per un processo
Etichette
Dictionary<string, object>
✔️
In base all'input dell'utente
tag
Dictionary<string, object>
✔️
In base all'input dell'utente
requestedWorkerSelectorsExpired
List<WorkerSelector>
✔️
In base all'input dell'utente durante la creazione di un processo
attachedWorkerSelectorsExpired
List<WorkerSelector>
✔️
Elenco dei selettori di lavoro associati da un criterio di classificazione
scheduledOn
DateTimeOffset
✔️
In base all'input dell'utente durante la creazione di un processo
unavailableForMatching
bool
✔️
In base all'input dell'utente durante la creazione di un processo
priority
int
❌
In base all'input dell'utente durante la creazione di un processo
Microsoft.Communication.RouterJobSchedulingFailed
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
jobId
string
❌
channelId
string
❌
channelReference
string
❌
queueId
string
✔️
null
quando classificationPolicyId
viene specificato per un processo
Etichette
Dictionary<string, object>
✔️
In base all'input dell'utente
tag
Dictionary<string, object>
✔️
In base all'input dell'utente
requestedWorkerSelectorsExpired
List<WorkerSelector>
✔️
In base all'input dell'utente durante la creazione di un processo
attachedWorkerSelectorsExpired
List<WorkerSelector>
✔️
Elenco dei selettori di lavoro associati da un criterio di classificazione
scheduledOn
DateTimeOffset
✔️
In base all'input dell'utente durante la creazione di un processo
failureReason
string
✔️
Sistema determinato
priority
int
❌
In base all'input dell'utente durante la creazione di un processo
Eventi di lavoro
Microsoft.Communication.RouterWorkerOfferIssued
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
workerId
string
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
queueId
string
❌
offerId
string
❌
offeredOn
DateTimeOffset
❌
expiresOn
DateTimeOffset
❌
jobPriority
int
❌
jobLabels
Dictionary<string, object>
✔️
In base all'input dell'utente
jobTags
Dictionary<string, object>
✔️
In base all'input dell'utente
Microsoft.Communication.RouterWorkerOfferAccepted
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
workerId
string
❌
jobId
string
❌
jobPriority
int
❌
jobLabels
Dictionary<string, object>
✔️
In base all'input dell'utente
jobTags
Dictionary<string, object>
✔️
In base all'input dell'utente
channelReference
string
❌
channelId
string
❌
queueId
string
❌
offerId
string
❌
assignmentId
string
❌
Microsoft.Communication.RouterWorkerOfferDeclined
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
workerId
string
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
queueId
string
❌
offerId
string
❌
Microsoft.Communication.RouterWorkerOfferRevoked
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
offerId
string
❌
workerId
string
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
queueId
string
❌
Microsoft.Communication.RouterWorkerOfferExpired
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
workerId
string
❌
offerId
string
❌
jobId
string
❌
channelReference
string
❌
channelId
string
❌
queueId
string
❌
Microsoft.Communication.RouterWorkerRegistered
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
workerId
string
❌
totalCapacity
int
❌
queueAssignments
List<QueueDetails>
❌
Etichette
Dictionary<string, object>
✔️
In base all'input dell'utente
channelConfigurations
List<ChannelConfiguration>
❌
tag
Dictionary<string, object>
✔️
In base all'input dell'utente
Microsoft.Communication.RouterWorkerUpdated
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
workerId
string
❌
totalCapacity
int
❌
queueAssignments
List<QueueDetails>
❌
Etichette
Dictionary<string, object>
✔️
In base all'input dell'utente
channelConfigurations
List<ChannelConfiguration>
❌
tag
Dictionary<string, object>
✔️
In base all'input dell'utente
updatedWorkerProperties
List<UpdateWorkerProperty>
❌
Proprietà del ruolo di lavoro aggiornate, tra cui AvailableForOffers, QueueAssignments, ChannelConfigurations, TotalCapacity, Etichette e tag
Microsoft.Communication.RouterWorkerDeregistered
Torna al catalogo eventi
{
"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"
}
Elenco attributi
Attributo
Type
Nullable
Descrizione
Note
workerId
string
❌
Definizioni di modello
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; }
}
UpdatedWorkerProperty
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,
}