Crea un conector personalizado

En esta página, se describe cómo crear un conector personalizado. Para entender qué es un conector personalizado, consulta Conectores personalizados.

Para establecer la conectividad con tu backend mediante un conector personalizado, debes realizar las siguientes tareas:

  1. Crear un conector personalizado: En esta tarea, definirás el contrato. entre Integration Connectors y tu extremo (backend) proporcionando la especificación de OpenAPI del extremo. Actualmente, solo se admiten la versión 3.0 de OpenAPI y todas sus versiones secundarias. Especificar la especificación es una actividad única.
  2. Crea una conexión de conector personalizado: En esta tarea, configurarás los detalles de conexión de tu backend, como el nombre de host y la autenticación. Para un conector personalizado específico, puedes crear tantas conexiones como necesites.

Para comprender la diferencia entre un conector y una conexión, consulta Diferencia entre conector y conexión.

Antes de comenzar

Crea un conector personalizado

Como se describe en los casos de conectividad del backend, los conectores personalizados pueden tener cualquiera de los siguientes patrones de conectividad:

  • Conectividad directa al extremo público de tu backend
  • Conectividad indirecta a tu backend a través de un extremo público intermedio

Los pasos para crear conectores personalizados varían un poco según estos dos patrones.

Crea con conectividad directa

Para crear un conector personalizado con conectividad directa al extremo de tu backend, sigue estos pasos:

Console

  1. En la consola, ve a la página Conectores de Integration > Conectores personalizados y, luego, selecciona o crea un proyecto de Google Cloud.

    Ir a la página Conectores personalizados

  2. Haz clic en Crear nuevo para abrir la página Crear conector personalizado.
  3. En la sección Detalles del conector, configure los siguientes campos:
    1. Nombre del conector: Ingresa un nombre para el conector.
    2. Nombre visible: Ingresa un nombre visible para el conector.
    3. Descripción: ingresa una descripción.
    4. Cuenta de servicio: Selecciona una cuenta de servicio que tenga los roles necesarios.
    5. Logotipo: Sube la imagen a un bucket de Cloud Storage para usarla como logotipo del conector.
  4. Haz clic en Siguiente.
  5. En la sección Especificación del conector, configura los siguientes campos:
    1. Tipo de conector personalizado: Selecciona el tipo de conector personalizado.
    2. Especificación del conector: Ingresa la URL pública de la especificación de la API abierta o sube el archivo de especificación a un bucket de Cloud Storage.
  6. Revisa los detalles de la configuración del conector y, luego, haz clic en Crear.

Si la creación del conector se realiza correctamente, el conector recién creado se se muestra en el Ve a la página Conectores personalizados y, si es un conector nuevo, una primera versión de también se crea el conector. Puedes ver los detalles de la versión en la pestaña Versión de la página Detalles del conector personalizado. Para obtener más información, consulta en la parte inferior derecha.

Sin embargo, ten en cuenta que, para conectarte a tu backend, debes crear una conexión para el conector que acabas de crear. Para obtener más información, consulta Cómo crear una conexión de conector personalizado.

API

En los siguientes comandos de muestra, se muestra cómo crear un conector personalizado con las APIs de Integration Connectors:

  1. Crea el conector.
    curl -X POST \
    -H "authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json"
    -d '{"customConnectorType":"OPEN_API", \
    "displayName":"CUSTOM_CONNECTOR_NAME", \
    "description": "an open api based custom connector for hrms"}' \
    "https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/customConnectors?custom_connector_id=UNIQUE_IDENTIFIER"
    

    Reemplaza lo siguiente:

    • CUSTOM_CONNECTOR_NAME: Es un nombre para el conector personalizado.
    • PROJECT_ID: El ID del proyecto de Google Cloud.
    • UNIQUE_IDENTIFIER: Un identificador único para el conector. Por ejemplo, custom-connector-1.
  2. Configura la versión del conector personalizado.
    curl -X POST \
    -H "authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"spec_location": "SPECIFICATION_URL",}' \
    "https://connectors.googleapis.comv1/projects/PROJECT_ID/locations/global/customConnectors/openapi-customconnector/customConnectorVersions?custom_connector_version_id=VERSION_NUMBER"
    
  3. Reemplaza lo siguiente:

    • SPECIFICATION_URL: Es la URL de la especificación de Open API. Por ejemplo, https://petstore3.swagger.io/api/v3/openapi.json.
    • PROJECT_ID: El ID del proyecto de Google Cloud.
    • VERSION_NUMBER: Es un número de versión para el conector. Por ejemplo, 2

Crea con conectividad indirecta

Para crear un conector personalizado que se conecte a tu backend a través de un extremo intermediario, sigue estos pasos:

Console

  1. En la consola, ve a la página Conectores de Integration > Conectores personalizados y, luego, selecciona o crea un proyecto de Google Cloud.

    Ir a la página Conectores personalizados

  2. Haz clic en Crear nuevo para abrir la página Crear conector personalizado.
  3. En la sección Detalles del conector, establece los siguientes campos:
    1. Nombre del conector: Ingresa un nombre para el conector.
    2. Nombre visible: Ingresa un nombre visible para el conector.
    3. Descripción: ingresa una descripción.
    4. Configurar el destino del conector para el acceso al backend: Habilita esta opción. Se mostrarán las secciones de configuración adicionales de la página.
    5. Cuenta de servicio: Selecciona una cuenta de servicio que tenga los roles necesarios.
    6. Logotipo: Sube la imagen a un bucket de Cloud Storage para usarla como logotipo del conector.
  4. Haz clic en Siguiente.
  5. En la sección Especificación del conector, configura los siguientes campos:
    1. Tipo de conector personalizado: Selecciona el tipo de conector personalizado.
    2. Especificación del conector: Ingresa la URL pública de la especificación de la API abierta o sube el archivo de especificación a un bucket de Cloud Storage.
  6. Haz clic en Siguiente.
  7. En la sección Destino del conector, configura los siguientes campos:
    1. Tipo de destino: Selecciona Dirección de host.
    2. Host: Ingresa el nombre de host donde se ejecuta tu servicio intermediario.
    3. Puerto: Ingresa el número de puerto de tu servicio de intermediario.
  8. Haz clic en Siguiente.
  9. En la sección Autenticación del conector, selecciona el tipo de autenticación del servicio de intermediario y, luego, ingresa los detalles correspondientes cuando se te solicite. En este paso, debes configurar la autenticación de Integration Connectors al servicio de intermediario.

    La configuración de autenticación del servicio de intermediario al backend no se puede configurar en Integration Connectors. Depende del servicio de intermediario cómo desee autenticarse con el backend.

  10. Haz clic en Siguiente.
  11. En la sección Variables de backend, ingresa los valores que que quieres enviar a tu backend a través del servicio intermediario. Tú debes configurar los valores como pares clave-valor. Para ingresar un par clave-valor, Haz clic en Agregar variable y, luego, configura los siguientes campos:
    • Clave: Ingresa el nombre de la clave.
    • Tipo de valor: Selecciona el tipo de datos de la variable.
    • Nombre visible: Ingresa un nombre visible.
    • Ubicación: Especifica cómo deseas que el conector envíe. las variables al servicio intermediario. Opciones disponibles son: Header, Request payload y Query parameter.
    • De manera opcional, selecciona Required para especificar que la variable es obligatoria.
  12. Haz clic en Siguiente.
  13. Revisa los detalles de configuración del conector y, luego, haz clic en Crear.

Si la creación del conector se realiza correctamente, el conector recién creado se se muestran en la pestaña Connectors y, si es un conector nuevo, una primera versión de también se crea el conector. Puedes ver los detalles de la versión en Versión. de la página Detalles del conector personalizado. Para obtener información sobre crear y editar una versión de conector personalizado, consulta Administra las versiones de los conectores personalizados.

Sin embargo, ten en cuenta que, para conectarte a tu backend, debes crear una conexión para el conector recién creado. Para obtener más información, consulta Cómo crear una conexión de conector personalizado.

API

En los siguientes comandos de muestra, se muestra cómo crear un conector personalizado con las APIs de Integration Connectors:

  1. Crea el conector.
    curl -X POST \
    -H "authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json"
    -d '{"customConnectorType":"OPEN_API", \
    "displayName":"CUSTOM_CONNECTOR_NAME", \
    "description": "an open api based custom connector for hrms"}' \
    "https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/customConnectors?custom_connector_id=UNIQUE_IDENTIFIER"
    

    Reemplaza lo siguiente:

    • CUSTOM_CONNECTOR_NAME: Es un nombre para el conector personalizado.
    • PROJECT_ID: El ID del proyecto de Google Cloud.
    • UNIQUE_IDENTIFIER: Un identificador único para el conector. Por ejemplo, custom-connector-1.
  2. Configura la versión del conector personalizado y la autenticación.
    curl -X POST \
    -H "authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"spec_location": "SPECIFICATION_URL", \
    "service_account":"test-sa", \
    "enable_backend_destination_config": true, \
    "auth_config": { \
    "auth_type":"USER_PASSWORD", \
    "auth_key": "basic", \
    "user_password": { \
    "username":"USERNAME", \
    "password": {"secret_version":"projects/PROJECT_ID/secrets/fidelity-secret/versions/SECRET_VERSION_NUMBER"} \
    }}, \
    "backend_variable_templates": [{ \
    "key":"authkey", \
    "value_type":"SECRET", \
    "display_name":"Authorization Key", \
    "required":true, \
    "location_type": "HEADER" \
    }], \
    "destination_configs":[{ \
    "key":"base_url", \
    "destinations": [{ \
    "host":"DESTINATION_HOST_ADDRESS" \
    }]} \
    ]}' \
    "https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/customConnectors/facade-connector/customConnectorVersions?custom_connector_version_id=CONNECTOR_VERSION_NUMBER"
    
  3. Reemplaza lo siguiente:

    • SPECIFICATION_URL: Es la URL de la especificación de Open API. Por ejemplo, https://petstore3.swagger.io/api/v3/openapi.json.
    • PROJECT_ID: El ID del proyecto de Google Cloud.
    • USERNAME: Es el nombre de usuario para la autenticación con el servicio de intermediario.
    • SECRET_VERSION_NUMBER: Es el número de versión del secreto de Secret Manager. Por ejemplo, 2
    • DESTINATION_HOST_ADDRESS: Es la dirección del host del servicio de intermediario. Por ejemplo, http://www.test.com:80
    • CONNECTOR_VERSION_NUMBER: El número de versión del conector personalizado. Por ejemplo, 1

Crea una conexión de conector personalizada

Después de crear el conector personalizado, para conectarte a tu backend, debes debe crear una conexión del tipo de conector personalizado. Los siguientes son los pasos de alto nivel para crear una nueva conexión:

  1. En la consola de Cloud, ve a la página Conectores de Integration > Conexiones y, luego, selecciona o crea un proyecto de Google Cloud.

    Ir a la página Conexiones

  2. Haz clic en Crear nueva para abrir la página Crear conexión.
  3. En la sección Ubicación, selecciona una ubicación para la conexión en el campo Región.

    Para obtener la lista de todas las regiones compatibles, consulta Ubicaciones.

  4. Haz clic en Siguiente.
  5. En la sección Detalles de la conexión, configura los siguientes campos:
    1. Conector: Selecciona tu conector personalizado en la lista desplegable de conectores disponibles.
    2. Versión del conector: selecciona la versión del conector de la lista desplegable de versiones disponibles.
    3. En el campo Nombre de la conexión, ingresa un nombre para la conexión.

      Los nombres de las conexiones deben cumplir con los siguientes criterios:

      • Los nombres de las conexiones pueden usar letras, números o guiones.
      • Las letras deben estar en minúsculas.
      • Los nombres de las conexiones deben comenzar con una letra y terminar con una letra o un número.
      • Los nombres de las conexiones no pueden superar los 63 caracteres.
    4. De manera opcional, ingresa una Descripción para la conexión.
    5. De manera opcional, selecciona Habilitar el registro en la nube para habilitarlo.
    6. Cuenta de servicio: Selecciona una cuenta de servicio que tenga los roles requeridos.
    7. De manera opcional, configura los parámetros de nodo de conexión:

      • Cantidad mínima de nodos: Ingresa la cantidad mínima de nodos de conexión.
      • Cantidad máxima de nodos: Ingresa la cantidad máxima de nodos de conexión.

      Un nodo es una unidad (o réplica) de una conexión que procesa transacciones. Se requieren más nodos para procesar más transacciones para una conexión y, del mismo modo, se requieren menos para procesar menos transacciones. Para comprender cómo los nodos afectan el precio del conector, consulta Precios de nodos de conexión. Si no ingresas ningún valor, se establecen de forma predeterminada los nodos mínimos en 2 (para una mejor disponibilidad) y los nodos máximos se establecen en 50.

    8. De forma opcional, haz clic en Agregar etiqueta para agregar una etiqueta a la conexión en forma de un par clave-valor.
  6. Haz clic en Siguiente.
  7. En la sección Authentication, ingresa los detalles de autenticación. para tu backend.
    • Si te conectas directamente a tu backend, Integration Connectors te solicitará que configures la autenticación para tu backend.
    • Si te conectas indirectamente a tu backend a través de un servicio de intermediario, Integration Connectors no te solicita que configures los detalles de autenticación. Cuando creaste el conector, ya habrías configurado la autenticación entre Integration Connectors y el servicio de intermediario. Integration Connectors no requiere que configures la autenticación entre el servicio intermediario y el backend; depende del intermediario servicio en cómo quiere autenticarse con el backend.
  8. Haz clic en Siguiente.
  9. Revisa los detalles de la configuración de la conexión y, luego, haz clic en Crear.

Si la creación de la conexión se realiza correctamente, aparecerá en la página Todas las conexiones, y la conexión estará disponible en la integración de aplicaciones. Puedes usar la conexión en tu integración a través de la tarea Conectores.

Consideraciones

Ten en cuenta los siguientes puntos cuando crees un conector personalizado:

  • Integration Connectors solo admite la versión 3.0 de OpenAPI y todas sus versiones secundarias.
  • La especificación de Open API no se valida durante la creación del conector personalizado. Cuando crear una conexión para el conector personalizado, Integration Connectors valida la especificación y si tiene errores, la conexión tendrá el estado Error.
  • Los conectores de integración no diferencian entre entidades y acciones. Por lo tanto, tanto las entidades como las acciones de tu backend se enumerarán como Actions en tu conector personalizado.
  • Los conectores personalizados no son compatibles con los proyectos de Google Cloud que tienen habilitados los Controles del servicio de VPC.
  • Tanto el extremo de la especificación de OpenAPI como el extremo de backend deben ser de acceso público. Esto significa que no puedes establecer conectividad privada con tu backend.
  • El tipo de contenido multimedia de varias partes no es compatible con la especificación de OpenAPI.
  • No puedes editar los detalles de la versión de un conector personalizado.