Espanol Foro

Expand all | Collapse all

Custom Connector con diferentes APIKeys

  • 1.  Custom Connector con diferentes APIKeys

    Posted 6 days ago
    Hola a todos.

    Estoy teniendo un problema con un conector personalizado al momento de utilizarlo con diferentes API Keys en un mismo flujo de trabajo. Generé el custom connector (
    shared_miConector.5f0d280deac9e1b885.5f654e63067b6d0953)
    sin mayor problema y funciona perfectamente en power apps y Flow, el problema es que quiero que dependiendo las opciones del usuario el custom connector pueda extraer la información de diferentes sesiones del servicio según el "api key", para esto realicé cuatro conexiones a las que llamé

    Conexión 1 - API Key 1
    Conexión 2 - API Key 2
    Conexión 3 - API Key 3
    Conexión 4 - API Key 4

    En el flujo de trabajo establecí un conmutador para escoger una de las cuatros conexiones y en el menú del conector establecí conexiones diferentes para cada caso. A las conexiones extras al inspeccionar el código se le agrega la cadena _1, _2, _3 según el caso. Anexo código de ejemplo que luce de la siguiente manera:

    {
        "inputs": {
            "host": {
                "connection": {
                    "name": "@json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$connections']['shared_miConector.5f0d280deac9e1b885.5f654e63067b6d0953_1']['connectionId']"
                }
            },
            "method": "get",
            "path": "/mex/shipping_letters/@{encodeURIComponent(triggerBody()['DetalledelShippingLetter_id'])}",
            "authentication": {
                "type": "Raw",
                "value": "@json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$ConnectionKey']"
            }
        },
        "metadata": {
            "flowSystemMetadata": {
                "swaggerOperationId": "IdShippingLetter"
            }
        }
    }

    Al correr el proceso y escoger la primera conexión funciona sin problema, esta primera conexión no tiene el _# anexado. Si el flujo se desarrolla a través de la segunda conexión me surge el siguiente error:

    No se pueden procesar las expresiones de lenguaje de plantilla en las entradas de la acción 'Detalle_del_Shipping_Letter_Estrella' en la línea '1' y la columna '1999': 'La expresión de lenguaje de plantilla 'json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$connections']['shared_miConector.5f0d280deac9e1b885.5f654e63067b6d0953_2']['connectionId']' no puede evaluarse porque la propiedad 'shared_miConector.5f0d280deac9e1b885.5f654e63067b6d0953_2' no existe; las propiedades disponibles son 'shared_miConector.5f0d280deac9e1b885.5f654e63067b6d0953, shared_commondataservice'. Vea https://aka.ms/logicexpressions para obtener detalles de uso.'.


     Cómo pueden observar el problema es ese "-#"  que referencia a cada conexión

    ¿Alguien tendrá alguna idea de lo que estoy realizando mal ?



    ¡Saludos y gracias!

    ------------------------------
    Manuel Juárez
    CDMX
    ------------------------------


  • 2.  RE: Custom Connector con diferentes APIKeys

    MVP DE MICROSOFT
    Posted 2 days ago
    Hola Manuel, fijate que no me he metido a trabajar con custom connectors, pero lo que puedo ver es que ese "_1" que estas agregando esta rompiendo con el id que es un GUID, por lo que si internamente hace una consulta pues jamas lo va a encontrar, si requieres hacer la diferencia creo que deberías tener diferentes APIs

    Insisto, no lo he hecho, pero la naturaleza de las búsquedas por medio de GUIDs se rompen si les agregamos caracteres adicionales.

    Saludos!

    ------------------------------
    Sergio Macias
    Bisoftt
    monterrey CA
    ------------------------------