Freigeben über


Job Router Operations - Upsert Worker

Erstellt oder aktualisiert einen Worker.

PATCH {endpoint}/routing/workers/{workerId}?api-version=2023-11-01

URI-Parameter

Name In Erforderlich Typ Beschreibung
endpoint
path True

string

URI Ihrer Kommunikationsressource

workerId
path True

string

Id eines Workers.

api-version
query True

string

Hierbei handelt es sich um die für diesen Vorgang zu verwendende API-Version.

Anforderungsheader

Media Types: "application/merge-patch+json"

Name Erforderlich Typ Beschreibung
If-Match

string

Die Anforderung sollte nur fortgesetzt werden, wenn eine Entität mit dieser Zeichenfolge übereinstimmt.

If-Unmodified-Since

string

date-time-rfc7231

Die Anforderung sollte nur fortgesetzt werden, wenn die Entität nach diesem Zeitpunkt nicht geändert wurde.

Anforderungstext

Media Types: "application/merge-patch+json"

Name Typ Beschreibung
availableForOffers

boolean

Ein Flag, das angibt, dass dieser Worker für den Empfang von Angeboten geöffnet ist oder nicht.

capacity

integer

Die Gesamtkapazitätsbewertung, die dieser Worker zum Verwalten mehrerer gleichzeitiger Aufträge hat.

channels

RouterChannel[]

Sammlung von Kanälen, die dieser Worker verarbeiten kann, und deren Auswirkungen auf die Workerkapazität.

labels

Eine Reihe von Schlüssel-Wert-Paaren, die Attribute identifizieren, die von den Regel-Engines zum Treffen von Entscheidungen verwendet werden. Werte müssen primitive Werte sein – Zahl, Zeichenfolge, boolesch.

queues

string[]

Sammlung von Warteschlangen, von denen dieser Worker Arbeit empfangen kann.

tags

Eine Reihe von nicht identifizierenden Attributen, die diesem Worker angefügt sind. Werte müssen primitive Werte sein – Zahl, Zeichenfolge, boolesch.

Antworten

Name Typ Beschreibung
200 OK

RouterWorker

Die Anforderung wurde erfolgreich durchgeführt.

Headers

  • ETag: string
  • Last-Modified: string
201 Created

RouterWorker

Die Anforderung war erfolgreich, und als Ergebnis wurde eine neue Ressource erstellt.

Headers

  • ETag: string
  • Last-Modified: string
Other Status Codes

Azure.Core.Foundations.ErrorResponse

Eine unerwartete Fehlerantwort.

Headers

x-ms-error-code: string

Beispiele

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

Definitionen

Name Beschreibung
Azure.Core.Foundations.Error

Das Fehlerobjekt.

Azure.Core.Foundations.ErrorResponse

Eine Antwort, die Fehlerdetails enthält.

Azure.Core.Foundations.InnerError

Ein Objekt, das spezifischere Informationen zum Fehler enthält. Gemäß den Microsoft One-API-Richtlinien: https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

RouterChannel

Stellt die Kapazität dar, die ein Auftrag in diesem Kanal von einem Worker beansprucht.

RouterJobOffer

Ein Angebot eines Auftrags für einen Mitarbeiter.

RouterWorker

Eine Entität, an die Aufträge weitergeleitet werden sollen.

RouterWorkerAssignment

Die Zuweisung eines Workers zu einem Auftrag.

RouterWorkerCreateOrUpdate

Eine Entität, an die Aufträge weitergeleitet werden sollen.

RouterWorkerState

Enumerationen für Workerzustände.

Azure.Core.Foundations.Error

Das Fehlerobjekt.

Name Typ Beschreibung
code

string

Einer der vom Server definierten Fehlercodes.

details

Azure.Core.Foundations.Error[]

Ein Array von Details zu bestimmten Fehlern, die zu diesem gemeldeten Fehler geführt haben.

innererror

Azure.Core.Foundations.InnerError

Ein Objekt, das spezifischere Informationen enthält als das aktuelle Objekt über den Fehler.

message

string

Eine für Menschen lesbare Darstellung des Fehlers.

target

string

Das Ziel des Fehlers.

Azure.Core.Foundations.ErrorResponse

Eine Antwort, die Fehlerdetails enthält.

Name Typ Beschreibung
error

Azure.Core.Foundations.Error

Das Fehlerobjekt.

Azure.Core.Foundations.InnerError

Ein Objekt, das spezifischere Informationen zum Fehler enthält. Gemäß den Microsoft One-API-Richtlinien: https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

Name Typ Beschreibung
code

string

Einer der vom Server definierten Fehlercodes.

innererror

Azure.Core.Foundations.InnerError

Innerer Fehler.

RouterChannel

Stellt die Kapazität dar, die ein Auftrag in diesem Kanal von einem Worker beansprucht.

Name Typ Beschreibung
capacityCostPerJob

integer

Die Menge der Kapazität, die ein instance eines Auftrags dieses Kanals von der gesamten Workerkapazität beansprucht.

channelId

string

Id eines Kanals.

maxNumberOfJobs

integer

Die maximale Anzahl von Aufträgen, die gleichzeitig für diesen Kanal unterstützt werden können. Der Wert muss größer als 0 sein.

RouterJobOffer

Ein Angebot eines Auftrags für einen Mitarbeiter.

Name Typ Beschreibung
capacityCost

integer

Die vom Auftragsangebot beanspruchten Kapazitätskosten.

expiresAt

string

Zeitstempel, zu dem das Angebot in UTC abläuft.

jobId

string

Id des Auftrags.

offerId

string

Id eines Angebots.

offeredAt

string

Zeitstempel, zu dem das Angebot in UTC erstellt wurde.

RouterWorker

Eine Entität, an die Aufträge weitergeleitet werden sollen.

Name Typ Beschreibung
assignedJobs

RouterWorkerAssignment[]

Eine Liste der zugewiesenen Aufträge, die diesem Worker zugeordnet sind.

availableForOffers

boolean

Ein Flag, das angibt, dass dieser Worker für den Empfang von Angeboten geöffnet ist oder nicht.

capacity

integer

Die Gesamtkapazitätsbewertung, die dieser Worker zum Verwalten mehrerer gleichzeitiger Aufträge hat.

channels

RouterChannel[]

Sammlung von Kanälen, die dieser Worker verarbeiten kann, und deren Auswirkungen auf die Workerkapazität.

etag

string

Das Entitätstag für diese Ressource.

id

string

Id eines Workers.

labels

Eine Reihe von Schlüssel-Wert-Paaren, die Attribute identifizieren, die von den Regel-Engines zum Treffen von Entscheidungen verwendet werden. Werte müssen primitive Werte sein – Zahl, Zeichenfolge, boolesch.

loadRatio

number

Ein Wert, der die Kapazität der Worker angibt. Der Wert "1" bedeutet, dass die gesamte Kapazität verbraucht wird. Der Wert "0" bedeutet, dass derzeit keine Kapazität verbraucht wird.

offers

RouterJobOffer[]

Eine Liste der aktiven Angebote, die diesem Worker ausgestellt wurden.

queues

string[]

Sammlung von Warteschlangen, von denen dieser Worker Arbeit empfangen kann.

state

RouterWorkerState

Aktueller Status eines Workers.

tags

Eine Reihe von nicht identifizierenden Attributen, die diesem Worker angefügt sind. Werte müssen primitive Werte sein – Zahl, Zeichenfolge, boolesch.

RouterWorkerAssignment

Die Zuweisung eines Workers zu einem Auftrag.

Name Typ Beschreibung
assignedAt

string

Die Zuweisungszeit des Auftrags in UTC.

assignmentId

string

ID der Zuweisung.

capacityCost

integer

Die Menge an Kapazität, die diese Zuweisung für den Worker verbraucht hat.

jobId

string

Id des zugewiesenen Auftrags.

RouterWorkerCreateOrUpdate

Eine Entität, an die Aufträge weitergeleitet werden sollen.

Name Typ Beschreibung
availableForOffers

boolean

Ein Flag, das angibt, dass dieser Worker für den Empfang von Angeboten geöffnet ist oder nicht.

capacity

integer

Die Gesamtkapazitätsbewertung, die dieser Worker zum Verwalten mehrerer gleichzeitiger Aufträge hat.

channels

RouterChannel[]

Sammlung von Kanälen, die dieser Worker verarbeiten kann, und deren Auswirkungen auf die Workerkapazität.

labels

Eine Reihe von Schlüssel-Wert-Paaren, die Attribute identifizieren, die von den Regel-Engines zum Treffen von Entscheidungen verwendet werden. Werte müssen primitive Werte sein – Zahl, Zeichenfolge, boolesch.

queues

string[]

Sammlung von Warteschlangen, von denen dieser Worker Arbeit empfangen kann.

tags

Eine Reihe von nicht identifizierenden Attributen, die diesem Worker angefügt sind. Werte müssen primitive Werte sein – Zahl, Zeichenfolge, boolesch.

RouterWorkerState

Enumerationen für Workerzustände.

Name Typ Beschreibung
active

string

Worker ist aktiv und verfügbar, um Angebote anzunehmen.

draining

string

Worker ist nicht aktiv, wenn angebote vorhanden sind, werden sie widerrufen. Es werden keine neuen Angebote gesendet.

inactive

string

Worker ist nicht aktiv. Es werden keine neuen Angebote gesendet.