Udostępnij za pośrednictwem


Subskrybowanie zdarzeń routera zadań

W tym przewodniku opisano kroki konfigurowania subskrypcji zdarzeń routera zadań i sposobu ich odbierania.

Aby uzyskać więcej informacji na temat usługi Event Grid, zobacz dokumentację usługi Event Grid.

Wymagania wstępne

Tworzenie subskrypcji usługi Event Grid

Ten szablon wdraża subskrypcję usługi Event Grid w kolejce magazynu dla zdarzeń routera zadań. Jeśli konto magazynu, kolejka lub temat systemowy nie istnieją, zostaną one również utworzone.

Wdróż na platformie Azure

Parametry

  • Nazwa zasobu usług Azure Communication Services: nazwa zasobu usług Azure Communication Services. Jeśli na przykład punkt końcowy zasobu to https://contoso.communication.azure.net, ustaw wartość contoso.
  • Nazwa magazynu: nazwa konta usługi Azure Storage. Jeśli nie istnieje, zostanie utworzony.
  • Nazwa podrzędna zdarzenia: nazwa subskrypcji zdarzeń do utworzenia.
  • Nazwa tematu systemu: jeśli masz istniejące subskrypcje zdarzeń w zasobie usług Azure Communication Services, znajdź System Topic nazwę na Events karcie zasobu usług Azure Communication Services. W przeciwnym razie określ unikatową nazwę, taką jak sama nazwa zasobu usług Azure Communication Services.
  • Nazwa kolejki: nazwa kolejki na koncie magazynu. Jeśli nie istnieje, zostanie utworzony.

Wdrożone zasoby

Następujące zasoby są wdrażane w ramach rozwiązania

  • Konto magazynu: jeśli nazwa konta magazynu nie istnieje.
  • Kolejka magazynu: jeśli kolejka nie istnieje na koncie magazynu.
  • Temat systemu usługi Event Grid: jeśli temat nie istnieje.
  • Subskrypcja usługi Event Grid: subskrypcja wszystkich zdarzeń routera zadań w kolejce magazynu.

Szybki start: odbieranie zdarzeń usługi Event Grid za pośrednictwem kolejki usługi Azure Storage

Tworzenie nowej aplikacji w języku C#

W oknie konsoli (takim jak cmd, PowerShell lub Bash) użyj dotnet new polecenia , aby utworzyć nową aplikację konsolową o nazwie EventReceiver. To polecenie tworzy prosty projekt języka C# "Hello World" z jednym plikiem źródłowym: Program.cs.

dotnet new console -o EventReceiver

Zmień katalog na nowo utworzony folder aplikacji i użyj dotnet build polecenia , aby skompilować aplikację.

cd EventReceiver
dotnet build

Instalowanie pakietów

Zainstaluj kolejki usługi Azure Storage i pakiety usługi Event Grid.

dotnet add package Azure.Storage.Queues
dotnet add package Azure.Messaging.EventGrid

Odbieranie komunikatów z kolejki

Skopiuj następujący fragment kodu i wklej go do pliku źródłowego: 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);
}

Uruchamianie kodu

Uruchom aplikację z katalogu aplikacji za dotnet run pomocą polecenia .

dotnet run

Wykaz zdarzeń

Zdarzenia routera

Zdarzenia Poddomena opis
RouterJobReceived Job Utworzono nowe zadanie na potrzeby routingu
RouterJobClassified Job Zasady klasyfikacji zostały zastosowane do zadania
RouterJobQueued Job Zadanie zostało pomyślnie w kolejce
RouterJobClassificationFailed Job Router nie może sklasyfikować zadania przy użyciu zasad klasyfikacji
RouterJobCompleted Job Zadanie zostało ukończone i wchodzi w podsumowanie
RouterJobClosed Job Zadanie zostało zamknięte i zakończono podsumowanie
RouterJobCancelled Job Zadanie zostało anulowane
RouterJobExceptionTriggered Job Wyjątek zadania został wyzwolony
RouterJobWorkerSelectorsExpired Job Co najmniej jeden selektor procesów roboczych w zadaniu wygasł
RouterJobUnassigned Job Zadanie już przydzielone zostało nieprzypisane z procesu roboczego
RouterJobWaitingForActivation Job Przybył żądany zaplanowany czas zadania, router czeka na contoso, aby wykonać zadanie
RouterJobSchedulingFailed Job Zażądano jednak wykonania zaplanowanego zadania, ponieważ router nie mógł go utworzyć
RouterWorkerOfferIssued Worker Praca została zaproponowana pracownikowi
RouterWorkerOfferAccepted Worker Zaakceptowano ofertę procesu roboczego
RouterWorkerOfferDeclined Worker Oferta pracownika została odrzucona
RouterWorkerOfferRevoked Worker Oferta procesu roboczego została odwołana
RouterWorkerOfferExpired Worker Oferta procesu roboczego wygasła
RouterWorkerRegistered Worker Zarejestrowano proces roboczy (stan został zmieniony z nieaktywnego/opróżniania na aktywny)
RouterWorkerUpdated Worker Zaktualizowano jedną z następujących właściwości procesu roboczego: AvailableForOffers, , TotalCapacity, ChannelConfigurationsQueueAssignments, , , LabelsTags
RouterWorkerDeregistered Worker Proces roboczy został wyrejestrowany (stan został zmieniony z aktywnego na nieaktywny/opróżniany)

Microsoft.Communication.RouterJobReceived

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
identyfikator zadania string
channelReference string
jobStatus enum Możliwe wartości PendingClassification, Queued Po wysłaniu tego zdarzenia proces klasyfikacji nie został jeszcze wykonany lub zadanie zostało utworzone za pomocą skojarzonego identyfikatora queueId.
channelId string
classificationPolicyId string ✔️ null gdy queueId jest określony dla zadania
queueId string ✔️ null gdy classificationPolicyId jest określony dla zadania
priority int ✔️ Wartość null, gdy classificationPolicyId jest określona. Wartość niepusta w przypadku przypisania kolejki bezpośredniej.
Etykiety Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
tags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
requestedWorkerSelectors List<WorkerSelector> ✔️ Na podstawie danych wejściowych użytkownika
scheduledOn DateTimeOffset ✔️ Na podstawie danych wejściowych użytkownika
niedostępnyForMatching bool ✔️ Na podstawie danych wejściowych użytkownika

Microsoft.Communication.RouterJobClassified

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
queueDetails QueueDetails
identyfikator zadania string
channelReference string
channelId string
classificationPolicyId string
queueId string ✔️ null gdy classificationPolicy nie jest używany do wyboru kolejki
priority int ✔️ null gdy classificationPolicy nie jest używany do stosowania priorytetu zadania
Etykiety Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
tags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
attachedWorkerSelectors List<WorkerSelector> ✔️ Lista selektorów procesów roboczych dołączonych przez zasady klasyfikacji

Microsoft.Communication.RouterJobQueued

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
identyfikator zadania string
channelReference string ✔️
channelId string
queueId string
priority int
Etykiety Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
tags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
requestedWorkerSelectors List<WorkerSelector> ✔️ Na podstawie danych wejściowych użytkownika podczas tworzenia zadania
attachedWorkerSelectors List<WorkerSelector> ✔️ Lista selektorów procesów roboczych dołączonych przez zasady klasyfikacji

Microsoft.Communication.RouterJobClassificationFailed

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
błędy List<CommunicationError>
identyfikator zadania string
channelReference string
channelId string
classificationPolicyId string
Etykiety Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
tags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika

Microsoft.Communication.RouterJobCompleted

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
identyfikator zadania string
channelReference string
channelId string
queueId string
Etykiety Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
tags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
identyfikator przypisania string
identyfikator procesu roboczego string

Microsoft.Communication.RouterJobClosed

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
identyfikator zadania string
channelReference string
channelId string
queueId string
Etykiety Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
tags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
dispositionCode string ✔️ Na podstawie danych wejściowych użytkownika
identyfikator procesu roboczego string
identyfikator przypisania string

Microsoft.Communication.RouterJobCancelled

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
uwaga string ✔️ Na podstawie danych wejściowych użytkownika
dispositionCode string
identyfikator zadania string
channelReference string
channelId string
Etykiety Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
tags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
queueId string ✔️

Microsoft.Communication.RouterJobExceptionTriggered

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
ruleKey string
exceptionRuleId string
identyfikator zadania string
channelReference string
channelId string
Etykiety Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
tags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika

Microsoft.Communication.RouterJobWorkerSelectorsExpired

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
identyfikator zadania string
channelReference string ✔️
queueId string
channelId string
Etykiety Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
tags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
requestedWorkerSelectorsExpired List<WorkerSelector> ✔️ Na podstawie danych wejściowych użytkownika podczas tworzenia zadania
attachedWorkerSelectorsExpired List<WorkerSelector> ✔️ Lista selektorów procesów roboczych dołączonych przez zasady klasyfikacji

Microsoft.Communication.RouterJobUnassigned

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
identyfikator zadania string
identyfikator przypisania string
identyfikator procesu roboczego string
channelId string
channelReference string
queueId string ✔️ null gdy classificationPolicyId jest określony dla zadania
Etykiety Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
tags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika

Microsoft.Communication.RouterJobWaitingForActivation

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
identyfikator zadania string
channelId string
channelReference string
queueId string ✔️ null gdy classificationPolicyId jest określony dla zadania
Etykiety Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
tags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
requestedWorkerSelectorsExpired List<WorkerSelector> ✔️ Na podstawie danych wejściowych użytkownika podczas tworzenia zadania
attachedWorkerSelectorsExpired List<WorkerSelector> ✔️ Lista selektorów procesów roboczych dołączonych przez zasady klasyfikacji
scheduledOn DateTimeOffset ✔️ Na podstawie danych wejściowych użytkownika podczas tworzenia zadania
niedostępnyForMatching bool ✔️ Na podstawie danych wejściowych użytkownika podczas tworzenia zadania
priority int Na podstawie danych wejściowych użytkownika podczas tworzenia zadania

Microsoft.Communication.RouterJobSchedulingFailed

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
identyfikator zadania string
channelId string
channelReference string
queueId string ✔️ null gdy classificationPolicyId jest określony dla zadania
Etykiety Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
tags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
requestedWorkerSelectorsExpired List<WorkerSelector> ✔️ Na podstawie danych wejściowych użytkownika podczas tworzenia zadania
attachedWorkerSelectorsExpired List<WorkerSelector> ✔️ Lista selektorów procesów roboczych dołączonych przez zasady klasyfikacji
scheduledOn DateTimeOffset ✔️ Na podstawie danych wejściowych użytkownika podczas tworzenia zadania
failureReason string ✔️ Ustalone przez system
priority int Na podstawie danych wejściowych użytkownika podczas tworzenia zadania

Zdarzenia procesu roboczego

Microsoft.Communication.RouterWorkerOfferIssued

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
identyfikator procesu roboczego string
identyfikator zadania string
channelReference string
channelId string
queueId string
offerId string
offeredOn DateTimeOffset
expiresOn DateTimeOffset
jobPriority int
jobLabels Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
jobTags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika

Microsoft.Communication.RouterWorkerOfferAccepted

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
identyfikator procesu roboczego string
identyfikator zadania string
jobPriority int
jobLabels Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
jobTags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
channelReference string
channelId string
queueId string
offerId string
identyfikator przypisania string

Microsoft.Communication.RouterWorkerOfferDeclined

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
identyfikator procesu roboczego string
identyfikator zadania string
channelReference string
channelId string
queueId string
offerId string

Microsoft.Communication.RouterWorkerOfferRevoked

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
offerId string
identyfikator procesu roboczego string
identyfikator zadania string
channelReference string
channelId string
queueId string

Microsoft.Communication.RouterWorkerOfferExpired

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
identyfikator procesu roboczego string
offerId string
identyfikator zadania string
channelReference string
channelId string
queueId string

Microsoft.Communication.RouterWorkerRegistered

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
identyfikator procesu roboczego string
totalCapacity int
queueAssignments List<QueueDetails>
Etykiety Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
channelConfigurations List<ChannelConfiguration>
tags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika

Microsoft.Communication.RouterWorkerUpdated

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
identyfikator procesu roboczego string
totalCapacity int
queueAssignments List<QueueDetails>
Etykiety Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
channelConfigurations List<ChannelConfiguration>
tags Dictionary<string, object> ✔️ Na podstawie danych wejściowych użytkownika
updatedWorkerProperties List<UpdateWorkerProperty> Zaktualizowano właściwości procesu roboczego, w tym AvailableForOffers, QueueAssignments, ChannelConfigurations, TotalCapacity, Labels i Tags

Microsoft.Communication.RouterWorkerDeregistered

Powrót do wykazu zdarzeń

{
  "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"
}

Lista atrybutów

Atrybut Typ Możliwa wartość Null opis Uwagi
identyfikator procesu roboczego string

Definicje modelu

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

Konfiguracja kanału

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