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 conectividad con tu backend mediante un conector personalizado, debes realizar las siguientes tareas:

  1. Crea un conector personalizado: En esta tarea, definirás el contrato entre los conectores de integración y tu extremo (backend) proporcionando la especificación de OpenAPI del extremo. Actualmente, solo se admite 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 ligeramente para 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 Console, ve a la página Conectores de Integration > Conectores personalizados y, luego, selecciona o crea un Google Cloud proyecto.

    Ve 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. 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, establece 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 mostrará en la página Ir a la página Conectores personalizados y, si es 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 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: Es el ID de tu Google Cloud proyecto.
    • UNIQUE_IDENTIFIER: Es 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: Es el ID de tu Google Cloud proyecto.
    • VERSION_NUMBER: Es un número de versión para el conector. Por ejemplo, 2

Cómo crear 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 Console, ve a la página Conectores de Integration > Conectores personalizados y, luego, selecciona o crea un Google Cloud proyecto.

    Ve 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, establece 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 en el que se ejecuta tu servicio de 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 los conectores de integración al servicio de intermediario.

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

    Puedes usar los siguientes tipos de autenticación para autenticar el servicio de intermediario:

    • Autenticación de la cuenta de servicio
    • Autenticación de la clave de API
    • OAuth 2.0: Autenticación de credenciales de cliente
    • Autenticación básica
    • Autenticación de resumen
    • Para comprender cómo configurar estos tipos de autenticación, consulta Configura la autenticación.

    Si el acceso a los recursos de la API no tiene restricciones y no requiere ninguna autenticación, selecciona Sin autenticación.

  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 de intermediario. Debes configurar los valores como pares clave-valor. Para ingresar un par clave-valor, haz clic en Agregar variable y, luego, establece 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 de 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 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 mostrará en la página Custom connectors y, si es 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 personalizado, consulta Administra versiones de conectores personalizados.

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.

Configura la autenticación

Ingresa los detalles según la autenticación que desees usar.

  • Autenticación de la cuenta de servicio

    Selecciona esta opción para autenticarte con una cuenta de servicio de Google Cloud. Asegúrate de haber proporcionado a la cuenta de servicio los roles y permisos de IAM relevantes necesarios para la autenticación.

    • Alcances: Selecciona los permisos de OAuth 2.0 necesarios en el menú desplegable. Para obtener más información, consulta Niveles de acceso.
  • Autenticación de la clave de API

    Selecciona esta opción para autenticar con una clave de API.

    • Clave de API: Selecciona el Secret de Secret Manager de la clave de API.
    • Versión del Secret: Selecciona la versión del Secret.
    • Nombre del parámetro de la clave de API: Ingresa un nombre de parámetro para la clave de API. Se envía una clave de API a tu servidor de backend como un par clave-valor. El valor que ingreses aquí se usará como nombre de la clave de API que seleccionaste anteriormente.
    • Ubicación de la clave de API: Selecciona dónde quieres agregar la clave de API en la solicitud.
  • OAuth 2.0: Otorgamiento de credenciales de cliente
    • ID de cliente: Es el ID de cliente que se usará para autenticar el servicio de intermediario.
    • Secreto del cliente: Secret de Secret Manager que contiene el secreto del cliente para autenticar el servicio de intermediario.
    • Formato de solicitud para el token de acceso: Es el formato de solicitud que se usará en las solicitudes realizadas para recuperar el token de acceso desde el servidor de autenticación. Selecciona body para pasar el ID de cliente y el Secret como un cuerpo de solicitud o header a fin de pasarlos como encabezado codificado.
    • Ruta de acceso a la solicitud del token: Es la ruta de acceso de la solicitud que se agregará a la URL del servidor de autenticación para recuperar la URL del token de acceso.
  • Autenticación básica
    • Nombre de usuario: Es el nombre de usuario que se usa para autenticarse en el servicio de intermediario.
    • Contraseña: El Secret de Secret Manager que contiene la contraseña asociada con el nombre de usuario proporcionado
  • Autenticación de resumen
    • Nombre de usuario: Es el nombre de usuario que se usa para autenticarse en el servicio de intermediario.
    • Contraseña: El Secret de Secret Manager que contiene la contraseña asociada con el nombre de usuario proporcionado

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: Es el ID de tu Google Cloud proyecto.
    • UNIQUE_IDENTIFIER: Es 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: Es el ID de tu Google Cloud proyecto.
    • 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: Es el número de versión del conector personalizado. Por ejemplo, 1

Crea una conexión de conector personalizado

Después de crear tu conector personalizado, para conectarte a tu backend, debes crear una conexión del tipo de conector personalizado. Los siguientes son 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 nuevo 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, establece 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 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 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 Autenticación, ingresa los detalles de autenticación de tu backend.
    • Si te conectas directamente a tu backend, Integration Connectors te solicitará que configures la autenticación para tu backend.
    • Si te conectas de forma indirecta 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. Los conectores de integración no requieren que configures la autenticación entre el servicio de intermediario y el backend. Depende del servicio de intermediario cómo desee 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:

  • Los conectores de integración solo admiten la versión 3.0 de OpenAPI y todas sus versiones menores.
  • La especificación de OpenAPI 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 estará en 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 aparecerán como Actions en tu conector personalizado.
  • Los conectores personalizados no son compatibles con los Google Cloud proyectos 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.