Crea un conector personalizado

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

Para establecer la conectividad con tu backend a través de 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) cuando proporciones 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 que se realiza una sola vez.
  2. Crea una conexión de conector personalizada: 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 todas las conexiones que necesites.

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

Antes de comenzar

Asegúrate de que el usuario que crea el conector personalizado tenga alguna de las siguientes funciones de IAM:

Crea un conector personalizado

Como se describe en las situaciones de conectividad de 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 un conector personalizado 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 Integration Connectors > Custom Connectors 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, configura 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 tu especificación de Open API o sube el archivo de la especificación a un bucket de Cloud Storage.
  6. Revisa los detalles de configuración del conector y, luego, haz clic en Crear.

Si el conector se crea correctamente, el conector recién creado se mostrará en la página Ir a la página Conectores personalizados y, si se trata de un conector nuevo, también se creará una primera versión del 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 .

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 Crea una conexión de conector personalizada.

API

En los siguientes comandos de ejemplo, 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: La URL de 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 un conector personalizado con conectividad indirecta

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

Console

  1. En la consola, ve a la página Integration Connectors > Custom Connectors 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, configura 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 requeridos.
    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 tu especificación de Open API o sube el archivo de la 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 intermediario.
  8. Haz clic en Siguiente.
  9. En la sección Autenticación del conector, selecciona el tipo de autenticación del servicio intermediario y, luego, ingresa los detalles correspondientes cuando se solicite. En este paso, se configura la autenticación de Integration Connectors al servicio intermediario.

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

  10. Haz clic en Siguiente.
  11. En la sección Variables de backend, ingresa los valores que deseas enviar a tu backend a través del servicio intermediario. 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. Las 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 el conector se crea correctamente, el conector recién creado se mostrará en la página Conectores personalizados y, si se trata de un conector nuevo, también se creará una primera versión del 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 información sobre cómo crear y editar una versión de conector personalizada, consulta Administra versiones de conectores personalizadas.

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 Crea una conexión de conector personalizada.

API

En los siguientes comandos de ejemplo, 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: La URL de 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 intermediario.
    • SECRET_VERSION_NUMBER: El número de versión del secreto de Secret Manager. Por ejemplo, 2
    • DESTINATION_HOST_ADDRESS: Es la dirección de host del servicio 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 al backend, debes crear una conexión del tipo de conector personalizado. A continuación, se muestran los pasos de alto nivel para crear una conexión nueva:

  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 de 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 ella.

      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 Cloud Logging para habilitarlo.
    6. Cuenta de servicio: Selecciona una cuenta de servicio que tenga los roles necesarios.
    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 manera 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 Autenticación, ingresa los detalles de autenticación de tu backend.
    • Si te conectas directamente a tu backend, Integration Connectors te solicita que configures la autenticación para tu backend.
    • Si te conectas de forma indirecta a tu backend a través de un servicio intermediario, Integration Connectors no te solicita que configures detalles de autenticación. Cuando crees el conector, ya habrás configurado la autenticación entre Integration Connectors y el servicio intermediario. Integration Connectors no requiere que configures la autenticación entre el servicio intermediario y el backend; depende del servicio intermediario cómo desea 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 conexión se crea correctamente, aparecerá en la página Todas las conexiones y la conexión estará disponible en Application Integration. 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 creas una conexión para el conector personalizado, Integration Connectors valida la especificación y, si tiene errores, la conexión tendrá el estado Error.
  • Integration Connectors no diferencia entre entidades y acciones. Por lo tanto, las entidades y 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 especificación de Open API como el extremo de backend deben ser de acceso público. Esto significa que no puedes establecer una conectividad privada a tu backend.
  • El tipo de medio de varias partes no se admite en la especificación de Open API.
  • No puedes editar los detalles de la versión de un conector personalizado.