UiPath Documentation
functions
latest
false
Zu den Funktionen im Benutzerhandbuch
  • Überblick
    • Über Funktionen
  • JavaScript-Funktionen
    • Erste Schritte
    • Erstellen von JavaScript-Funktionen
    • HTTP-Trigger und Routing
    • Funktionskontext
    • Zugriff auf Plattformdienste
    • Testen und Fehlerbehebung
  • Python-Funktionen
  • Bereitstellen und ausführen
Wichtig :
Dieser Inhalt wurde maschinell übersetzt. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

Funktionskontext

Die Identitäten, Plattformkoordinaten und Anforderungsdaten, die die Laufzeit an jeden JavaScript-Funktionshandler übergibt.

Jeder Handler erhält ein Kontextobjekt als zweites Argument. Es enthält Informationen darüber, wer die Funktion aufgerufen hat, die eigene Plattformidentität der Funktion und wo ausgehende Plattformaufrufe gesendet werden sollen – also muss nichts davon als Eingabe übergeben werden.

handler: async (input, ctx) => {
  ctx.user?.accessToken     // the caller's OAuth token
  ctx.user?.sub             // the caller's user id
  ctx.robot?.accessToken    // the function's own platform token
  ctx.robot?.key            // the serverless robot key
  ctx.platform?.baseUrl     // e.g. "https://cloud.uipath.com"
  ctx.platform?.orgId       // organization id
  ctx.platform?.tenantId    // tenant id
  ctx.platform?.folderKey   // folder of the invocation, if any
  ctx.params                // path parameters, as strings
  ctx.headers               // request headers, lowercase keys
}
handler: async (input, ctx) => {
  ctx.user?.accessToken     // the caller's OAuth token
  ctx.user?.sub             // the caller's user id
  ctx.robot?.accessToken    // the function's own platform token
  ctx.robot?.key            // the serverless robot key
  ctx.platform?.baseUrl     // e.g. "https://cloud.uipath.com"
  ctx.platform?.orgId       // organization id
  ctx.platform?.tenantId    // tenant id
  ctx.platform?.folderKey   // folder of the invocation, if any
  ctx.params                // path parameters, as strings
  ctx.headers               // request headers, lowercase keys
}

Zwei Identitäten​

Einer Funktion werden zwei Identitäten pro Aufruf übergeben, und die Wahl zwischen ihnen ist eine Sicherheitsentscheidung.

ctx.userctx.robot
Deren es istDer Aufrufer, der die Funktion aufgerufen hatDie eigene Plattformidentität der Funktion
Es gelten die BerechtigungenEigene des AufrufersDas Dienstkonto der Funktion
Verwenden Sie es fürHandeln im Namen des angemeldeten BenutzersLesen von Ressourcen, die der Anrufer nicht direkt erreichen darf

ctx.user.accessToken gilt, wenn der Aufrufer nur sehen soll, was seine eigenen Berechtigungen zulassen. ctx.robot.accessToken gilt, wenn die Funktion etwas erreichen muss, das der Aufrufer nicht erreichen kann – z. B. Anmeldeinformationen in einem eingeschränkten Ordner. Siehe Zugreifen auf Plattformdienste.

Hinweis:

ctx.robot ist die privilegierte Identität. Ein Handler, der einen beliebigen Ressourcennamen in der Anfrage liest, fungiert als Ersatz für die Anfrage des Aufrufers mit den eigenen Berechtigungen der Funktion. Das Abrufen muss auf einen festen Satz im Code beschränkt sein.

Plattformkoordinaten​

ctx.platform liefert baseUrl, orgId und tenantId für ausgehende Plattformaufrufe. Diese stammen aus der Laufzeit, nie vom Aufrufer, sodass eine Anforderung nicht umleiten kann, wohin die Funktion ihren Datenverkehr sendet, und sie dürfen niemals als Eingabefelder akzeptiert werden.

Es ist alles oder nichts: ctx.platform ist null, es sei denn, alle drei sind verfügbar. folderKey kann für einen ordnerlosen Aufruf selbst null sein.

Was wo verfügbar ist​

HTTP-TriggerAuftragLokal (Local) serve
ctx.userDie Identität des AnrufersKeine AnruferidentitätIst vorhanden, wenn die Anforderung ein Bearer-Token beinhaltet
ctx.robotJaJanull
ctx.platformJaJaNur mit festgelegten UIPATH_BASE_URL, UIPATH_ORG_ID und UIPATH_TENANT_ID
ctx.params, ctx.headersJaLeer – es ist keine HTTP-Anforderung vorhandenJa

Da ctx.robot lokal null ist, sollte Code, der ein Plattformtoken benötigt, auf eine Umgebungsvariable für die lokale Entwicklung zurückgreifen:

const token = ctx.robot?.accessToken || process.env["UIPATH_ACCESS_TOKEN"] || "";
const token = ctx.robot?.accessToken || process.env["UIPATH_ACCESS_TOKEN"] || "";

Nächste Schritte​

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben