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