Configurar la URL y el enrutamiento del host

Completado

Un uso común de las plantillas de directivas es permitir la configuración dinámica de la API que los desencadenadores y acciones de punto de conexión usarán en tiempo de ejecución. Las siguientes plantillas de directivas están disponibles:

  • Establecer URL de host: reemplaza la URL completa del host por una creada por la directiva.

  • Enrutar solicitud: enruta una solicitud entrante a un punto de conexión específico en la URL de host configurada.

Establecer URL de host

De forma predeterminada, la URL de host que se utiliza está configurada estáticamente, de manear similar a todos los desencadenadores y acciones del conector. Al usar la plantilla Establecer directiva de URL de host, puede configurar la URL para los desencadenadores y acciones de forma individual. Un ejemplo de este escenario sería si tuviera acciones relacionadas con pedidos en una URL (por ejemplo, ordersapi.contoso.com) y acciones relacionadas con el usuario en otra (por ejemplo, userapi.contoso.com). En este escenario, debe configurar dos plantillas de directivas, cada una seleccionando el usuario apropiado o las acciones de solicitud para aplicar las nuevas URL de host.

Probablemente, el uso más común es permitir que las personas proporcionen la URL del host en tiempo de ejecución cuando crean una nueva conexión utilizando el conector personalizado, como se mostró anteriormente en este módulo. En ese ejemplo, se agregó una propiedad llamada hostURL a la expresión connectionParameters y el usuario proporcionó la URL completa del host en el momento de la conexión.

Otra forma común de usar la plantilla Establecer directiva de URL de host es crear dinámicamente parte de la URL del host y convertir una parte en estática. Al utilizar este enfoque, el usuario solo tiene que proporcionar su nombre de cuenta u otros datos clave que formarían la URL completa. Un ejemplo de este escenario es el conector de Azure Key Vault, donde la URL del host es única para cada almacén. En lugar de pedirle al usuario que proporcione la URL completa del almacén (https://contosokv.vault.azure.net), puede agregar una propiedad de conexión llamada keyVaultName y luego pedirle al usuario que proporcione solo esa parte de la URL (contosokv, en este ejemplo). En el siguiente ejemplo, se muestra el aspecto de esta plantilla de directiva.

También puede incluir datos utilizando las expresiones @headers y @queryParameters, además de usar @connectionParameters.

Enrutar solicitud

Cada acción del conector personalizado tiene una URL completa (como https://api.contoso.com/AddInvoice) que se utiliza para realizar la solicitud a la API subyacente. Esta URL proviene de la combinación del host (por ejemplo, api.contoso.com) que especifica en la pestaña General y la ruta (como /AddInvoice) que provino de una definición que importó o se extrajo de una solicitud de ejemplo cuando realizó una solicitud de ejemplo de importación. La directiva Establecer URL de host le permite modificar el host y Enrutar solicitud le permite modificar la ruta.

Otro escenario que puede lograr con la directiva Enrutar solicitud tiene varias acciones que apuntan a la misma ruta. Por ejemplo, si tuviera una acción Mostrar facturas que tomase fromAmount como parámetro y desease crear una acción Mostrar facturas grandes con el valor predeterminado de fromAmount, obtendría un error porque ambas apuntarían a la misma ruta: /ListInvoices. En su lugar, puede definir la acción Mostrar facturas grandes con una ruta /ListBigInvoices, que no existe en la API. Entonces, puede usar Enrutar solicitud para enviar esas llamadas de acción a /ListInvoices. En el siguiente ejemplo, se muestra el aspecto de la plantilla de directiva.

También puede incluir parámetros y otras expresiones para ayudar a construir la ruta. Por ejemplo, el conector de tareas de Microsoft Outlook tiene una ruta predeterminada en las carpetas de lista en un grupo de /v2/me/taskgroups('{group_id}')/taskfolders. Al usar Enrutar solicitud a continuación, las solicitudes se enrutarán a la nueva ruta.

Tenga en cuenta que, en {group_id}, las solicitudes hacían referencia a uno de los parámetros de la acción, de manera similar a cómo se hizo en la ruta original.

El uso de las plantillas de directivas Establecer URL de host y Enrutar solicitud le brinda cierta flexibilidad para enrutar solicitudes a la API subyacente según sea necesario.