- Vue d'ensemble (Overview)
- Fonctions Python
- Déployer et exécuter
Appelez une opération de connecteur à partir d'une fonction Python avec invoquer_activité et résolvez le chemin d'objet derrière un nom d'activité Studio à l'aide de la UiPath CLI.
Les noms d’activité Studio tels que Obtenir l’e-mail par ID sont des libellés appliqués à un objet et à une opération de connecteur. Python n'a pas de recherche équivalente par nom d'activité, de sorte qu'une fonction appelle l'opération sous-jacente directement via connections.invoke_activity, décrivant la requête avec ActivityMetadata.
Prérequis
- Une connexion Integration Service pour le connecteur, déclarée comme une liaison. Voir Déclarer une liaison de ressource.
- Une session de UiPath CLI (
uip) authentifiée.
sdk.connections.retrieve() renvoie uniquement les métadonnées de connexion, telles que l’identifiant, l’URI de base et le dossier. Il n'appelle pas le connecteur. invoke_activity appelle retrieve en interne, donc les deux ne sont pas nécessaires.
Résoudre le chemin de l'objet pour une activité
-
Dressez la liste des activités du connecteur et de l'objet auquel chacune correspond:
uip is activities list uipath-microsoft-outlook365 --output tableuip is activities list uipath-microsoft-outlook365 --output table -
Décrivez l’objet pour obtenir le chemin concret de chacune de ses opérations:
uip is resources describe uipath-microsoft-outlook365 Message \ --connection-id <connection-id>uip is resources describe uipath-microsoft-outlook365 Message \ --connection-id <connection-id>
Résultat
Les deux commandes résolvent un nom d'activité en chemin. Pour Obtenir l’e-mail par ID:
| Nom de l'activité | Objet | Opération (Operation) | Chemin d'accès |
|---|---|---|---|
| Get Email By Id | Message | GETBYID | /hubs/productivity/messages/{id} |
| Get Email List | Message | GET | /messages |
Les deux mêmes commandes fonctionnent pour n'importe quel connecteur, il s'agit donc de la méthode générale pour transformer un nom d'activité en définition ActivityMetadata.
GETBYID est le type d'opération du connecteur, et non un verbe HTTP. Transmettez method_name="GET" à ActivityMetadata.
Appelez l'opération à partir de votre fonction
-
Importer
ActivityMetadataetActivityParameterLocationInfo: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, ) -
Décrivez la requête et acheminez chaque entrée vers son emplacement:
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}, ) -
Associez la réponse du connecteur à votre modèle
Output.
Résultat
Le SDK remplace id dans le chemin et envoie la requête:
GET /elements_/v3/element/instances/{connectionId}/hubs/productivity/messages/{id}
GET /elements_/v3/element/instances/{connectionId}/hubs/productivity/messages/{id}
Le segment instances comporte l’ID de connexion, et non le elementInstanceId des métadonnées de connexion.
Routage des entrées avec parameter_location_info
Chaque champ de ActivityParameterLocationInfo nomme les clés de activity_input qui appartiennent à une partie de la requête.
| Champ | Achemine l'entrée vers |
|---|---|
path_params | Espaces réservés dans object_path, par exemple {id} |
query_params | La chaîne de requête |
header_params | En-têtes de requête. |
body_fields | Corps de la demande |
multipart_params | Champs de formulaire multipart |
Une entrée qui n'est pas répertoriée dans parameter_location_info est supprimée sans erreur. Une clé mal orthographiée apparaît comme un paramètre manquant dans la réponse du connecteur, et non comme un échec d'appel.
Les réponses du connecteur varient par version. Le même enregistrement peut arriver sous forme d'objet barré, encapsulé dans une liste ou à l'intérieur d'une enveloppe items, et les noms de champ peuvent suivre la forme du fournisseur ou une forme de connecteur aplati. Lisez les champs dont vous avez besoin de manière défensive plutôt que de supposer une seule forme.
Prochaines étapes
- Accès aux services de la plateforme — Autres ressources de la plateforme disponibles au moment de l'exécution.
- Test et débogage : exécutez et déboguez la fonction.