Condividi tramite


Sottoscrivere gli eventi del router di processo

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.

Distribuzione in Azure

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

Eventi Sottodominio Descrizione
RouterJobReceived Job È stato creato un nuovo processo per il routing
RouterJobClassified Job I criteri di classificazione sono stati applicati a un processo
RouterJobQueued Job Un processo è stato accodato correttamente
RouterJobClassificationFailed Job Il router non è riuscito a classificare il processo usando i criteri di classificazione
RouterJobCompleted Job Un processo è stato completato e immesso il wrapping
RouterJobClosed Job Un processo è stato chiuso ed è stato completato il wrapping
RouterJobCancelled Job Un processo è stato annullato
RouterJobExceptionTriggered Job È stata attivata un'eccezione del processo
RouterJobWorkerSelectorsExpired Job Uno o più selettori di lavoro in un processo sono scaduti
RouterJobUnassigned Job Un processo già assegnato non è stato assegnato da un lavoratore
RouterJobWaitingForActivation Job È arrivata l'ora pianificata richiesta di un processo pianificato, router è in attesa di contoso per agire sul processo
RouterJobSchedulingFailed Job È stato richiesto un processo pianificato, ma router non è riuscito a crearne uno
RouterWorkerOfferIssued Worker Un lavoro è stato offerto a un lavoratore
RouterWorkerOfferAccepted Worker È stata accettata un'offerta a un lavoratore
RouterWorkerOfferDeclined Worker È stata rifiutata un'offerta a un lavoratore
RouterWorkerOfferRevoked Worker È stata revocata un'offerta a un lavoratore
RouterWorkerOfferExpired Worker Un'offerta a un ruolo di lavoro è scaduta
RouterWorkerRegistered Worker Un ruolo di lavoro è stato registrato (stato modificato da inattivo/svuotamento ad attivo)
RouterWorkerUpdated Worker Una delle proprietà di lavoro seguenti è stata aggiornata: AvailableForOffers, TotalCapacity, QueueAssignments, ChannelConfigurations, LabelsTags
RouterWorkerDeregistered Worker Un ruolo di lavoro è stato annullato la registrazione (stato modificato da attivo a inattivo/svuotamento)

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,
}