- Información general
- Funciones de Python
- Implementar y ejecutar
Declarar un recurso de Orchestrator o Integration Service en vinculantes.json, verifica que se resuelva durante una ejecución local y hazlo reasignable en todos los tenants.
bindings.json se mantiene a mano: uipath init crea el archivo con la estructura necesaria cuando está ausente y deja intacto un archivo existente. Declara un enlace para cada recurso de plataforma que alcance tu función, de modo que el recurso pueda reasignarse cuando el paquete se ejecute en otro tenant. Para conocer el mecanismo de resolución, consulta Vinculaciones de recursos.
Requisitos previos
- Un proyecto de función de Python creado con
uipath new. - Una sesión autenticada, establecida con
uipath auth. - El recurso ya existe en el tenant en el que desarrollas.
- Se instala UiPath CLI (
uip), para la búsqueda de conexiones en el paso 1.
Declarar un enlace de conexión
-
Recupera el ID de conexión de Integration Service:
uip is connections list uipath-microsoft-outlook365uip is connections list uipath-microsoft-outlook365 -
Abre
bindings.jsonen la raíz del proyecto. -
Añade una entrada a la matriz
resources, utilizando el ID de conexión tanto parakeycomo paraConnectionId.defaultValue:{ "resource": "connection", "key": "<connection-id>", "value": { "ConnectionId": { "defaultValue": "<connection-id>", "isExpression": false, "displayName": "Microsoft Outlook 365 Connection" }, "Connector": { "defaultValue": "uipath-microsoft-outlook365", "isExpression": false, "displayName": "Connector" } }, "metadata": { "Connector": "uipath-microsoft-outlook365", "UseConnectionService": "True", "BindingsVersion": "2.2" } }{ "resource": "connection", "key": "<connection-id>", "value": { "ConnectionId": { "defaultValue": "<connection-id>", "isExpression": false, "displayName": "Microsoft Outlook 365 Connection" }, "Connector": { "defaultValue": "uipath-microsoft-outlook365", "isExpression": false, "displayName": "Connector" } }, "metadata": { "Connector": "uipath-microsoft-outlook365", "UseConnectionService": "True", "BindingsVersion": "2.2" } } -
Declara el mismo id como una constante en el nivel de módulo en tu función y pásalo a la llamada del SDK:
OUTLOOK_CONNECTION_KEY = "<connection-id>" conn = sdk.connections.retrieve(OUTLOOK_CONNECTION_KEY)OUTLOOK_CONNECTION_KEY = "<connection-id>" conn = sdk.connections.retrieve(OUTLOOK_CONNECTION_KEY) -
Ejecuta la función localmente:
uipath run main -f input.jsonuipath run main -f input.json
Resultado
El registro de ejecución contiene una línea por enlace declarado:
No resource overwrite matched for connection key='connection.<connection-id>' on retrieve
No resource overwrite matched for connection key='connection.<connection-id>' on retrieve
Esta línea confirma que la búsqueda de anulación se ejecutó y volvió al ID de tiempo de diseño, que es el resultado esperado localmente porque no existe una asignación de tenant. Si la línea nombra un ID diferente al de bindings.json, la constante de código y la vinculación no están de acuerdo.
Declarar vinculaciones para otros tipos de recursos sigue el mismo patrón con una forma value diferente. Los activos, depósitos, colas, procesos, aplicaciones e índices utilizan name y folderPath en lugar de ConnectionId, y su key los une con un punto.
Hacer que la vinculación sea reasignable en todos los tenants
-
Registra el proyecto de función en una solución:
uip solution project add ./my-solution/my-functionuip solution project add ./my-solution/my-function -
Sincroniza la lista de recursos de la solución desde los enlaces declarados del proyecto:
uip solution resource refreshuip solution resource refresh -
Revisa la lista de recursos resultante:
uip solution resource list --source localuip solution resource list --source local
Resultado
Cada vinculación declarada aparece en la lista de recursos locales de la solución. La implementación asigna cada entrada a un recurso en el tenant de destino, por lo que el mismo paquete se ejecuta en la propia conexión de ese tenant. Para empaquetar y publicar la solución, consulta uip solution pack.
Una vinculación que no está asignada en el tenant de destino no produce un error en el trabajo. La llamada recurre al identificador de tiempo de diseño, así que verifica que cada enlace aparezca en la asignación de recursos del tenant de destino antes de promover una solución.
Próximos pasos
- Llamar a una actividad de Integration Service : utiliza una conexión declarada para llegar a una operación de conector.
- Empaquetado y publicación : implementa la función en Orchestrator.