UiPath Documentation
functions
latest
false
Zu den Funktionen im Benutzerhandbuch
  • Überblick
    • Über Funktionen
  • JavaScript-Funktionen
  • 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.

Rufen Sie eine Integration Service-Aktivität auf

Rufen Sie einen Connector-Vorgang aus einer Python-Funktion mit invoke_activity auf und lösen Sie den Objektpfad hinter einem Studio-Aktivitätsnamen mithilfe der UiPath CLI auf.

Studio-Aktivitätsnamen wie Get Email By ID sind Beschriftungen für ein Connector-Objekt und einen Vorgang. Python hat keine gleichwertige Suche nach Aktivitätsname, daher ruft eine Funktion den zugrunde liegenden Vorgang direkt über connections.invoke_activity auf und beschreibt die Anforderung mit ActivityMetadata.

Voraussetzungen​

  • Eine Integration Service-Verbindung für den Connector, die als Bindung deklariert wurde. Siehe Deklarieren einer Ressourcenbindung.
  • Eine authentifizierte UiPath-CLI-Sitzung (uip).
Hinweis:

sdk.connections.retrieve() gibt nur Verbindungsmetadaten zurück, wie die ID, den Basis-URI und den Ordner. Der Connector wird nicht aufgerufen. invoke_activity ruft retrieve intern auf, sodass beide nicht benötigt werden.

Lösen Sie den Objektpfad für eine Aktivität auf​

  1. Listen Sie die Aktivitäten des Connectors und das Objekt auf, dem jeder zugeordnet ist:

    uip is activities list uipath-microsoft-outlook365 --output table
    uip is activities list uipath-microsoft-outlook365 --output table
    
  2. Beschreiben Sie das Objekt, um den konkreten Pfad für jeden seiner Vorgänge zu erhalten:

    uip is resources describe uipath-microsoft-outlook365 Message \
        --connection-id <connection-id>
    uip is resources describe uipath-microsoft-outlook365 Message \
        --connection-id <connection-id>
    

Ergebnis​

Die beiden Befehle lösen einen Aktivitätsnamen in einen Pfad auf. Für „Get Email By ID“:

AktivitätsnameObjektBetriebPfad
Get Email By IdMessageGETBYID/hubs/productivity/messages/{id}
Get Email ListMessageGET/messages

Dieselben beiden Befehle funktionieren für jeden Connector. Dies ist also das allgemeine Schema, um einen Aktivitätsnamen in eine ActivityMetadata -Definition umzuwandeln.

Wichtig:

GETBYID ist die Vorgangsart des Connectors, kein HTTP-Verb. Übergeben Sie method_name="GET" an ActivityMetadata.

Rufen Sie den Vorgang über Ihre Funktion auf​

  1. Importieren Sie ActivityMetadata und ActivityParameterLocationInfo:

    from uipath.platform import UiPath
    from uipath.platform.connections.connections import (
        ActivityMetadata,
        ActivityParameterLocationInfo,
    )
    from uipath.platform import UiPath
    from uipath.platform.connections.connections import (
        ActivityMetadata,
        ActivityParameterLocationInfo,
    )
    
  2. Beschreiben Sie die Anforderung und leiten Sie jede Eingabe an ihren Speicherort weiter:

    sdk = UiPath()
    
    payload = sdk.connections.invoke_activity(
        activity_metadata=ActivityMetadata(
            object_path="/hubs/productivity/messages/{id}",
            method_name="GET",
            content_type="application/json",
            parameter_location_info=ActivityParameterLocationInfo(
                path_params=["id"],
            ),
        ),
        connection_id=OUTLOOK_CONNECTION_KEY,
        activity_input={"id": message_id},
    )
    sdk = UiPath()
    
    payload = sdk.connections.invoke_activity(
        activity_metadata=ActivityMetadata(
            object_path="/hubs/productivity/messages/{id}",
            method_name="GET",
            content_type="application/json",
            parameter_location_info=ActivityParameterLocationInfo(
                path_params=["id"],
            ),
        ),
        connection_id=OUTLOOK_CONNECTION_KEY,
        activity_input={"id": message_id},
    )
    
  3. Ordnen Sie die Connector-Antwort Ihrem Modell Output zu.

Ergebnis​

Das SDK ersetzt id in den Pfad und gibt die Anforderung aus:

GET /elements_/v3/element/instances/{connectionId}/hubs/productivity/messages/{id}
GET /elements_/v3/element/instances/{connectionId}/hubs/productivity/messages/{id}

Das Segment instances enthält die Verbindungs-ID, nicht elementInstanceId aus den Verbindungsmetadaten.

Weiterleitung von Eingaben mit parameter_location_info​

Jedes Feld von ActivityParameterLocationInfo benennt die Schlüssel von activity_input, die zu einem Teil der Anforderung gehören.

FeldLeitet die Eingabe weiter an
path_paramsPlatzhalter in object_path, z. B. {id}
query_paramsDie Abfragezeichenfolge
header_paramsAnforderungsheader
body_fieldsDer Anforderungstext
multipart_paramsMehrteilige Formularfelder
Warnung:

Eine Eingabe, die nicht in parameter_location_info aufgeführt ist, wird ohne Fehler verworfen. Ein falsch geschriebener Schlüssel wird als fehlender Parameter in der Connector-Antwort angezeigt, nicht als fehlgeschlagener Aufruf.

Connector-Antworten variieren je nach Version. Derselbe Datensatz kann als leeres Objekt, in eine Liste eingebettet oder in einem items -Umschlag eintreffen, und Feldnamen können entweder der Form des Anbieters oder einer vereinfachten Connector-Form folgen. Lesen Sie die Felder, die Sie benötigen, defensiv, anstatt eine einzige Form annehmen.

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