Job Router Operations - Upsert Worker
Tworzy lub aktualizuje proces roboczy.
PATCH {endpoint}/routing/workers/{workerId}?api-version=2023-11-01
Parametry identyfikatora URI
Nazwa | W | Wymagane | Typ | Opis |
---|---|---|---|---|
endpoint
|
path | True |
string |
Identyfikator URI zasobu komunikacji |
worker
|
path | True |
string |
Identyfikator procesu roboczego. |
api-version
|
query | True |
string |
Wersja interfejsu API do użycia dla tej operacji. |
Nagłówek żądania
Media Types: "application/merge-patch+json"
Nazwa | Wymagane | Typ | Opis |
---|---|---|---|
If-Match |
string |
Żądanie powinno być kontynuowane tylko wtedy, gdy jednostka jest zgodna z tym ciągiem. |
|
If-Unmodified-Since |
string date-time-rfc7231 |
Żądanie powinno być kontynuowane tylko wtedy, gdy jednostka nie została zmodyfikowana po tym czasie. |
Treść żądania
Media Types: "application/merge-patch+json"
Nazwa | Typ | Opis |
---|---|---|
availableForOffers |
boolean |
Flaga wskazująca, że ten proces roboczy jest otwarty, aby otrzymywać oferty. |
capacity |
integer |
Łączny wynik pojemności, który ten proces roboczy musi zarządzać wieloma współbieżnych zadań. |
channels |
Kolekcja kanałów, które ten proces roboczy może obsłużyć, oraz ich wpływ na wydajność procesów roboczych. |
|
labels |
Zestaw par klucz/wartość identyfikujących atrybuty używane przez aparaty reguł do podejmowania decyzji. Wartości muszą być wartościami pierwotnymi — liczba, ciąg, wartość logiczna. |
|
queues |
string[] |
Kolekcja kolejek, z których ten proces roboczy może odbierać pracę. |
tags |
Zestaw atrybutów niezwiązanych z identyfikacją dołączonych do tego procesu roboczego. Wartości muszą być wartościami pierwotnymi — liczba, ciąg, wartość logiczna. |
Odpowiedzi
Nazwa | Typ | Opis |
---|---|---|
200 OK |
Żądanie zakończyło się pomyślnie. Headers
|
|
201 Created |
Żądanie zakończyło się pomyślnie i w rezultacie został utworzony nowy zasób. Headers
|
|
Other Status Codes |
Nieoczekiwana odpowiedź na błąd. Headers x-ms-error-code: string |
Przykłady
Creates a worker |
De-register an active worker |
De-register an inactive worker |
Register a worker |
Updates a worker |
Creates a worker
Sample Request
PATCH https://contoso.westus.communications.azure.com/routing/workers/WorkerId?api-version=2023-11-01
{
"capacity": 10,
"queues": [
"MainQueue"
],
"labels": {},
"tags": {},
"channels": [
{
"channelId": "CustomChatChannel",
"capacityCostPerJob": 11,
"maxNumberOfJobs": 4
},
{
"channelId": "CustomVoiceChannel",
"capacityCostPerJob": 10,
"maxNumberOfJobs": 1
}
],
"availableForOffers": false
}
Sample Response
{
"id": "WorkerId",
"state": "inactive",
"queues": [
"MainQueue"
],
"capacity": 10,
"labels": {},
"tags": {},
"channels": [
{
"channelId": "CustomChatChannel",
"capacityCostPerJob": 11,
"maxNumberOfJobs": 4
},
{
"channelId": "CustomVoiceChannel",
"capacityCostPerJob": 10,
"maxNumberOfJobs": 1
}
],
"offers": [],
"assignedJobs": [],
"loadRatio": 0,
"availableForOffers": false,
"etag": "etag"
}
{
"id": "WorkerId",
"state": "inactive",
"queues": [
"MainQueue"
],
"capacity": 10,
"labels": {},
"tags": {},
"channels": [
{
"channelId": "CustomChatChannel",
"capacityCostPerJob": 11,
"maxNumberOfJobs": 4
},
{
"channelId": "CustomVoiceChannel",
"capacityCostPerJob": 10,
"maxNumberOfJobs": 1
}
],
"offers": [],
"assignedJobs": [],
"loadRatio": 0,
"availableForOffers": false,
"etag": "etag"
}
De-register an active worker
Sample Request
PATCH https://contoso.westus.communications.azure.com/routing/workers/WorkerId?api-version=2023-11-01
{
"availableForOffers": false,
"capacity": 10
}
Sample Response
{
"id": "WorkerId",
"state": "draining",
"queues": [
"MainQueue"
],
"capacity": 10,
"labels": {},
"tags": {},
"channels": [
{
"channelId": "CustomChatChannel",
"capacityCostPerJob": 11,
"maxNumberOfJobs": 4
},
{
"channelId": "CustomVoiceChannel",
"capacityCostPerJob": 10,
"maxNumberOfJobs": 1
}
],
"offers": [],
"assignedJobs": [],
"loadRatio": 0,
"availableForOffers": false,
"etag": "etag"
}
{
"id": "WorkerId",
"state": "draining",
"queues": [
"MainQueue"
],
"capacity": 10,
"labels": {},
"tags": {},
"channels": [
{
"channelId": "CustomChatChannel",
"capacityCostPerJob": 11,
"maxNumberOfJobs": 4
},
{
"channelId": "CustomVoiceChannel",
"capacityCostPerJob": 10,
"maxNumberOfJobs": 1
}
],
"offers": [],
"assignedJobs": [],
"loadRatio": 0,
"availableForOffers": false,
"etag": "etag"
}
De-register an inactive worker
Sample Request
PATCH https://contoso.westus.communications.azure.com/routing/workers/WorkerId?api-version=2023-11-01
{
"availableForOffers": false,
"capacity": 10
}
Sample Response
{
"id": "WorkerId",
"state": "inactive",
"queues": [
"MainQueue"
],
"capacity": 10,
"labels": {},
"tags": {},
"channels": [
{
"channelId": "CustomChatChannel",
"capacityCostPerJob": 11,
"maxNumberOfJobs": 4
},
{
"channelId": "CustomVoiceChannel",
"capacityCostPerJob": 10,
"maxNumberOfJobs": 1
}
],
"offers": [],
"assignedJobs": [],
"loadRatio": 0,
"availableForOffers": false,
"etag": "etag"
}
{
"id": "WorkerId",
"state": "inactive",
"queues": [
"MainQueue"
],
"capacity": 10,
"labels": {},
"tags": {},
"channels": [
{
"channelId": "CustomChatChannel",
"capacityCostPerJob": 11,
"maxNumberOfJobs": 4
},
{
"channelId": "CustomVoiceChannel",
"capacityCostPerJob": 10,
"maxNumberOfJobs": 1
}
],
"offers": [],
"assignedJobs": [],
"loadRatio": 0,
"availableForOffers": false,
"etag": "etag"
}
Register a worker
Sample Request
PATCH https://contoso.westus.communications.azure.com/routing/workers/WorkerId?api-version=2023-11-01
{
"availableForOffers": true,
"capacity": 10
}
Sample Response
{
"id": "WorkerId",
"state": "active",
"queues": [
"MainQueue"
],
"capacity": 10,
"labels": {},
"tags": {},
"channels": [
{
"channelId": "CustomChatChannel",
"capacityCostPerJob": 11,
"maxNumberOfJobs": 4
},
{
"channelId": "CustomVoiceChannel",
"capacityCostPerJob": 10,
"maxNumberOfJobs": 1
}
],
"offers": [],
"assignedJobs": [],
"loadRatio": 0,
"availableForOffers": true,
"etag": "etag"
}
{
"id": "WorkerId",
"state": "active",
"queues": [
"MainQueue"
],
"capacity": 10,
"labels": {},
"tags": {},
"channels": [
{
"channelId": "CustomChatChannel",
"capacityCostPerJob": 11,
"maxNumberOfJobs": 4
},
{
"channelId": "CustomVoiceChannel",
"capacityCostPerJob": 10,
"maxNumberOfJobs": 1
}
],
"offers": [],
"assignedJobs": [],
"loadRatio": 0,
"availableForOffers": true,
"etag": "etag"
}
Updates a worker
Sample Request
PATCH https://contoso.westus.communications.azure.com/routing/workers/WorkerId?api-version=2023-11-01
{
"capacity": 10,
"queues": [
"MainQueue",
"SecondaryQueue"
],
"labels": {},
"tags": {},
"channels": [
{
"channelId": "CustomChatChannel",
"capacityCostPerJob": 11,
"maxNumberOfJobs": 4
},
{
"channelId": "CustomVoiceChannel",
"capacityCostPerJob": 10,
"maxNumberOfJobs": 1
}
],
"availableForOffers": false
}
Sample Response
{
"id": "WorkerId",
"state": "inactive",
"queues": [
"MainQueue"
],
"capacity": 10,
"labels": {},
"tags": {},
"channels": [
{
"channelId": "CustomChatChannel",
"capacityCostPerJob": 11,
"maxNumberOfJobs": 4
},
{
"channelId": "CustomVoiceChannel",
"capacityCostPerJob": 10,
"maxNumberOfJobs": 1
}
],
"offers": [],
"assignedJobs": [],
"loadRatio": 0,
"availableForOffers": false,
"etag": "etag"
}
{
"id": "WorkerId",
"state": "inactive",
"queues": [
"MainQueue"
],
"capacity": 10,
"labels": {},
"tags": {},
"channels": [
{
"channelId": "CustomChatChannel",
"capacityCostPerJob": 11,
"maxNumberOfJobs": 4
},
{
"channelId": "CustomVoiceChannel",
"capacityCostPerJob": 10,
"maxNumberOfJobs": 1
}
],
"offers": [],
"assignedJobs": [],
"loadRatio": 0,
"availableForOffers": false,
"etag": "etag"
}
Definicje
Nazwa | Opis |
---|---|
Azure. |
Obiekt error. |
Azure. |
Odpowiedź zawierająca szczegóły błędu. |
Azure. |
Obiekt zawierający bardziej szczegółowe informacje o błędzie. Zgodnie z wytycznymi interfejsu MICROSOFT One API — https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. |
Router |
Reprezentuje pojemność, która będzie zużywać zadanie w tym kanale z procesu roboczego. |
Router |
Oferta pracy dla pracownika. |
Router |
Jednostka, do którą mają być kierowane zadania. |
Router |
Przypisanie procesu roboczego do zadania. |
Router |
Jednostka, do którą mają być kierowane zadania. |
Router |
Wyliczenia dla stanów procesów roboczych. |
Azure.Core.Foundations.Error
Obiekt error.
Nazwa | Typ | Opis |
---|---|---|
code |
string |
Jeden z zdefiniowanych przez serwer zestaw kodów błędów. |
details |
Tablica szczegółów dotyczących określonych błędów, które doprowadziły do tego zgłoszonego błędu. |
|
innererror |
Obiekt zawierający bardziej szczegółowe informacje niż bieżący obiekt o błędzie. |
|
message |
string |
Czytelna dla człowieka reprezentacja błędu. |
target |
string |
Element docelowy błędu. |
Azure.Core.Foundations.ErrorResponse
Odpowiedź zawierająca szczegóły błędu.
Nazwa | Typ | Opis |
---|---|---|
error |
Obiekt error. |
Azure.Core.Foundations.InnerError
Obiekt zawierający bardziej szczegółowe informacje o błędzie. Zgodnie z wytycznymi interfejsu MICROSOFT One API — https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.
Nazwa | Typ | Opis |
---|---|---|
code |
string |
Jeden z zdefiniowanych przez serwer zestaw kodów błędów. |
innererror |
Błąd wewnętrzny. |
RouterChannel
Reprezentuje pojemność, która będzie zużywać zadanie w tym kanale z procesu roboczego.
Nazwa | Typ | Opis |
---|---|---|
capacityCostPerJob |
integer |
Ilość pojemności zużywanej przez wystąpienie zadania tego kanału całkowitej pojemności procesu roboczego. |
channelId |
string |
Identyfikator kanału. |
maxNumberOfJobs |
integer |
Maksymalna liczba zadań, które mogą być obsługiwane współbieżnie dla tego kanału. Wartość musi być większa niż zero. |
RouterJobOffer
Oferta pracy dla pracownika.
Nazwa | Typ | Opis |
---|---|---|
capacityCost |
integer |
Koszt pojemności zużywany przez ofertę zadania. |
expiresAt |
string |
Znacznik czasu wygaśnięcia oferty w formacie UTC. |
jobId |
string |
Identyfikator zadania. |
offerId |
string |
Identyfikator oferty. |
offeredAt |
string |
Sygnatura czasowa utworzenia oferty w formacie UTC. |
RouterWorker
Jednostka, do którą mają być kierowane zadania.
Nazwa | Typ | Opis |
---|---|---|
assignedJobs |
Lista przypisanych zadań dołączonych do tego procesu roboczego. |
|
availableForOffers |
boolean |
Flaga wskazująca, że ten proces roboczy jest otwarty, aby otrzymywać oferty. |
capacity |
integer |
Łączny wynik pojemności, który ten proces roboczy musi zarządzać wieloma współbieżnych zadań. |
channels |
Kolekcja kanałów, które ten proces roboczy może obsłużyć, oraz ich wpływ na wydajność procesów roboczych. |
|
etag |
string |
Tag jednostki dla tego zasobu. |
id |
string |
Identyfikator procesu roboczego. |
labels |
Zestaw par klucz/wartość identyfikujących atrybuty używane przez aparaty reguł do podejmowania decyzji. Wartości muszą być wartościami pierwotnymi — liczba, ciąg, wartość logiczna. |
|
loadRatio |
number |
Wartość wskazująca pojemność procesów roboczych. Wartość "1" oznacza, że jest zużywana cała pojemność. Wartość "0" oznacza, że obecnie nie jest zużywana żadna pojemność. |
offers |
Lista aktywnych ofert wystawionych dla tego procesu roboczego. |
|
queues |
string[] |
Kolekcja kolejek, z których ten proces roboczy może odbierać pracę. |
state |
Bieżący stan procesu roboczego. |
|
tags |
Zestaw atrybutów niezwiązanych z identyfikacją dołączonych do tego procesu roboczego. Wartości muszą być wartościami pierwotnymi — liczba, ciąg, wartość logiczna. |
RouterWorkerAssignment
Przypisanie procesu roboczego do zadania.
Nazwa | Typ | Opis |
---|---|---|
assignedAt |
string |
Czas przypisania zadania w formacie UTC. |
assignmentId |
string |
Identyfikator przypisania. |
capacityCost |
integer |
Ilość pojemności używanej przez to przypisanie w ramach procesu roboczego. |
jobId |
string |
Identyfikator przydzielonego zadania. |
RouterWorkerCreateOrUpdate
Jednostka, do którą mają być kierowane zadania.
Nazwa | Typ | Opis |
---|---|---|
availableForOffers |
boolean |
Flaga wskazująca, że ten proces roboczy jest otwarty, aby otrzymywać oferty. |
capacity |
integer |
Łączny wynik pojemności, który ten proces roboczy musi zarządzać wieloma współbieżnych zadań. |
channels |
Kolekcja kanałów, które ten proces roboczy może obsłużyć, oraz ich wpływ na wydajność procesów roboczych. |
|
labels |
Zestaw par klucz/wartość identyfikujących atrybuty używane przez aparaty reguł do podejmowania decyzji. Wartości muszą być wartościami pierwotnymi — liczba, ciąg, wartość logiczna. |
|
queues |
string[] |
Kolekcja kolejek, z których ten proces roboczy może odbierać pracę. |
tags |
Zestaw atrybutów niezwiązanych z identyfikacją dołączonych do tego procesu roboczego. Wartości muszą być wartościami pierwotnymi — liczba, ciąg, wartość logiczna. |
RouterWorkerState
Wyliczenia dla stanów procesów roboczych.
Nazwa | Typ | Opis |
---|---|---|
active |
string |
Proces roboczy jest aktywny i dostępny do skorzystania z ofert. |
draining |
string |
Proces roboczy nie jest aktywny, jeśli istnieją oferty, które są odwoływane. Nie są wysyłane żadne nowe oferty. |
inactive |
string |
Proces roboczy nie jest aktywny. Nie są wysyłane żadne nowe oferty. |