Couchbase

El conector de Couchbase le permite conectarse a una instancia de base de datos de Couchbase y realizar las operaciones de base de datos admitidas.

Versiones compatibles

  • Couchbase Server 4.0 y versiones posteriores (Enterprise Edition o Community Edition).

  • Couchbase Capella

Antes de empezar

Antes de usar el conector de Couchbase, haz lo siguiente:

  • En tu proyecto de Google Cloud:
    • Asegúrate de que la conectividad de red esté configurada. Para obtener información sobre los patrones de red, consulta Conectividad de red.
    • Concede el rol de gestión de identidades y accesos roles/connectors.admin al usuario que configure el conector.
    • Concede los siguientes roles de gestión de identidades y accesos a la cuenta de servicio que quieras usar para el conector:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Una cuenta de servicio es un tipo especial de cuenta de Google diseñada para representar a un usuario no humano que necesita autenticarse y disponer de autorización para acceder a los datos de las APIs de Google. Si no tienes una cuenta de servicio, debes crearla. El conector y la cuenta de servicio deben pertenecer al mismo proyecto. Para obtener más información, consulta el artículo Crear una cuenta de servicio.

    • Habilita los siguientes servicios:
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Para saber cómo habilitar servicios, consulta Habilitar servicios.

    Si estos servicios o permisos no se han habilitado en tu proyecto anteriormente, se te pedirá que los habilites al configurar el conector.

  • Si es necesario, crea un servidor de Couchbase. Para obtener más información, consulta la guía de inicio rápido de Couchbase Server.
  • Para obtener información sobre las APIs de Couchbase, consulta la documentación de la API REST de Couchbase.
  • Si es necesario, descarga el certificado SSL. Para obtener más información, consulta Conexión segura con TLS.

Configurar el conector

Una conexión es específica de una fuente de datos. Esto significa que, si tiene muchas fuentes de datos, debe crear una conexión independiente para cada una de ellas. Para crear una conexión, sigue estos pasos:

  1. En la consola de Cloud, ve a la página Integration Connectors > Connections (Conectores de integración > Conexiones) y, a continuación, selecciona o crea un proyecto de Google Cloud.

    Ve 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, elige la ubicación de la conexión.
    1. Región: selecciona una ubicación de la lista desplegable.

      Para ver la lista de todas las regiones admitidas, consulta Ubicaciones.

    2. Haz clic en SIGUIENTE.
  4. En la sección Detalles de la conexión, haz lo siguiente:
    1. Conector: selecciona Couchbase en la lista desplegable de conectores disponibles.
    2. Versión del conector: seleccione la versión del conector en la lista desplegable de versiones disponibles.
    3. En el campo Connection Name (Nombre de conexión), introduce un nombre para la instancia de conexión.

      Los nombres de las conexiones deben cumplir los siguientes criterios:

      • Los nombres de conexión pueden contener letras, números o guiones.
      • Las letras deben estar en minúsculas.
      • Los nombres de conexión deben empezar por una letra y terminar por una letra o un número.
      • Los nombres de conexión no pueden tener más de 49 caracteres.
    4. Si quiere, puede introducir una Descripción para la instancia de conexión.
    5. También puedes habilitar Registro en la nube y, a continuación, seleccionar un nivel de registro. De forma predeterminada, el nivel de registro es Error.
    6. Cuenta de servicio: selecciona una cuenta de servicio que tenga los roles necesarios.
    7. Si quieres, configura los ajustes del nodo de conexión:

      • Número mínimo de nodos: introduce el número mínimo de nodos de conexión.
      • Número máximo de nodos: introduce el número máximo de nodos de conexión.

      Un nodo es una unidad (o réplica) de una conexión que procesa transacciones. Se necesitan más nodos para procesar más transacciones en una conexión y, a la inversa, se necesitan menos nodos para procesar menos transacciones. Para saber cómo influyen los nodos en el precio de tu conector, consulta la sección Precios de los nodos de conexión. Si no introduces ningún valor, de forma predeterminada, el número mínimo de nodos se establece en 2 (para mejorar la disponibilidad) y el máximo en 50.

    8. Permitir parámetros JSON: permite usar JSON sin formato en los parámetros cuando QueryPassthrough está habilitado.
    9. Puerto de Analytics: el puerto para conectarse al endpoint de Couchbase Analytics.
    10. Separador de elementos secundarios: carácter o caracteres que se usan para denotar tablas secundarias.
    11. Servicio de Couchbase: determina el servicio de Couchbase al que se va a conectar. El valor predeterminado es N1QL. Las opciones disponibles son N1QL y Analytics.
    12. Create Table Ram Quota: cuota de RAM predeterminada, en megabytes, que se usará al insertar contenedores mediante la sintaxis CREATE TABLE.
    13. Separador de Dataverse: carácter o caracteres que se usan para denotar los Dataverses y los ámbitos o colecciones de Analytics.
    14. Separador de variantes: carácter o caracteres que se usan para indicar las variantes.
    15. Puerto N1QL: puerto para conectarse al endpoint N1QL de Couchbase.
    16. Separador de periodos: el carácter o los caracteres que se usan para indicar la jerarquía.
    17. Tiempo de espera de ejecución de la consulta: define el tiempo de espera del lado del servidor de la consulta, que determina cuánto tiempo ejecutará Couchbase la consulta antes de devolver un error de tiempo de espera.
    18. Comparación estricta: ajusta la precisión con la que se traducen los filtros de las consultas de entrada de SQL a consultas de Couchbase. Se puede definir como una lista de valores separados por comas, donde cada valor puede ser una fecha, un número, un valor booleano o una cadena.
    19. Durabilidad de las transacciones: especifica cómo se debe almacenar un documento para que una transacción se realice correctamente. Especifica si se deben usar transacciones N1QL al ejecutar consultas.
    20. Tiempo de espera de la transacción: define el tiempo que puede tardar una transacción en ejecutarse antes de que Couchbase agote el tiempo de espera.
    21. Usar colecciones para DDL: indica si se debe asumir que las instrucciones CREATE TABLE usan colecciones en lugar de variantes. Solo tiene efecto cuando se conecta a Couchbase v7 o una versión posterior y GenerateSchemaFiles se define como OnCreate.
    22. Usar transacciones: especifica si se deben usar transacciones N1QL al ejecutar consultas.
    23. Validar parámetros JSON: permite al proveedor validar que los parámetros de cadena sean JSON válidos antes de enviar la consulta a Couchbase.
    24. (Opcional) En la sección Configuración avanzada, marca la casilla Usar proxy para configurar un servidor proxy para la conexión y define los siguientes valores:
      • Esquema de autenticación de proxy: selecciona el tipo de autenticación para autenticarte con el servidor proxy. Se admiten los siguientes tipos de autenticación:
        • Básica: autenticación HTTP básica.
        • Digest: autenticación HTTP Digest.
      • Usuario proxy: nombre de usuario que se usará para autenticar el servidor proxy.
      • Contraseña de proxy: el secreto de Secret Manager de la contraseña del usuario.
      • Tipo de SSL de proxy: el tipo de SSL que se debe usar al conectarse al servidor proxy. Se admiten los siguientes tipos de autenticación:
        • Automático: es el ajuste predeterminado. Si la URL es una URL HTTPS, se usa la opción Tunnel. Si la URL es una URL HTTP, se usa la opción NUNCA.
        • Siempre: la conexión siempre tiene habilitado SSL.
        • Nunca: la conexión no tiene habilitado el protocolo SSL.
        • Túnel: la conexión se realiza a través de un proxy de tunelización. El servidor proxy abre una conexión con el host remoto y el tráfico fluye de un lado a otro a través del proxy.
      • En la sección Servidor proxy, introduce los detalles del servidor proxy.
        1. Haga clic en + Añadir destino.
        2. Selecciona un Tipo de destino.
          • Dirección de host: especifica el nombre de host o la dirección IP del destino.

            Si quieres establecer una conexión privada con tu sistema backend, haz lo siguiente:

    25. También puedes hacer clic en + AÑADIR ETIQUETA para añadir una etiqueta a la conexión en forma de par clave-valor.
    26. Haz clic en SIGUIENTE.
  5. En la sección Destinations (Destinos), introduce los detalles del host remoto (sistema backend) al que quieras conectarte.
    1. Tipo de destino: selecciona un Tipo de destino.
      • Para especificar el nombre de host o la dirección IP de destino, selecciona Dirección de host y introduce la dirección en el campo Host 1.
      • Para establecer una conexión privada, selecciona Endpoint attachment (Endpoint adjunto) y elige el adjunto que quieras de la lista Endpoint Attachment (Endpoint adjunto).

      Si quieres establecer una conexión pública con tus sistemas backend con seguridad adicional, puedes configurar direcciones IP de salida estáticas para tus conexiones y, a continuación, configurar las reglas de tu cortafuegos para que solo se permitan las direcciones IP estáticas específicas.

      Para introducir más destinos, haga clic en +AÑADIR DESTINO.

    2. Haz clic en SIGUIENTE.
  6. En la sección Autenticación, introduce los detalles de autenticación.
    1. Seleccione un Tipo de autenticación e introduzca los detalles pertinentes.

      La conexión de Couchbase admite los siguientes tipos de autenticación:

      • Nombre de usuario y contraseña
    2. Para saber cómo configurar estos tipos de autenticación, consulta Configurar la autenticación.

    3. Haz clic en SIGUIENTE.
  7. Revisar: revisa los detalles de la conexión y la autenticación.
  8. Haz clic en Crear.

Configurar la autenticación

Introduce los detalles en función de la autenticación que quieras usar.

  • Nombre de usuario y contraseña
    • Nombre de usuario: nombre de usuario del conector.
    • Contraseña: secreto de Secret Manager que contiene la contraseña asociada al conector.
    • UseSSL este campo indica si SSL está habilitado.
    • SSLServerCert SSLServerCert para el conector de Couchbase
    • Esquema de autenticación: esquema de autenticación de Couchbase Connector.
    • Modo de conexión: determina cómo conectarse al servidor de Couchbase. Debe ser Direct o Cloud. En el caso de Cloud, el protocolo SSL es obligatorio. Para obtener más información, consulta Conexiones seguras con TLS.
    • Servidor DNS: determina qué servidor DNS se debe usar al recuperar información de Couchbase Cloud. Por ejemplo, 8.8.8.8.

Ejemplos de configuración de conexiones

En esta sección se indican los valores de ejemplo de los distintos campos que se configuran al crear el conector de Couchbase.

SSL: tipo de conexión de certificado

Nombre del campo Detalles
Región us-central1
Conector Couchbase
Versión del conector 1
Nombre del conector Couchbase-basic-auth-conn
Cuenta de servicio NAME-compute@developer.gserviceaccount.com
Nivel de verbosidad 5
Ajustes de nodos de conexión: Número mínimo o máximo de nodos 2/50
Configuración de SSL Habilitar SSL Verdadero
Almacén de confianza Privado
Almacén de confianza personalizado Un certificado PEM completo (-----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----)
Versión de secreto 1
Dirección del host xx.1HOST_NAME.cloud.couchbase.com:18xxx
Autenticación Contraseña de usuario
Nombre de usuario nombre de usuario
Contraseña contraseña
versiones 1
vConnection Mode Nube
Servidor DNS 192.0.2.0
Esquema de OAuth Básico

Tipo de conexión de Analytics Couchbase

Nombre del campo Detalles
Región us-central1
Conector Couchbase
Versión del conector 1
Nombre del conector Couchbase-basic-auth-Analytics-conn
Cuenta de servicio NAME-compute@developer.gserviceaccount.com
Puerto de Analytics 18095
Servicio de Couchbase Analytics
Nivel de verbosidad 5
Ajustes de nodos de conexión: Número mínimo o máximo de nodos 2/50
Dirección del host xx.1HOST_NAME.cloud.couchbase.com:18095
Autenticación Contraseña de usuario
Nombre de usuario nombre de usuario
Contraseña contraseña
versiones 1
vConnection Mode Nube
Servidor DNS 192.0.2.0
Esquema de OAuth Básico

Entidades, operaciones y acciones

Todos los conectores de integración proporcionan una capa de abstracción para los objetos de la aplicación conectada. Solo puedes acceder a los objetos de una aplicación a través de esta abstracción. La abstracción se te muestra como entidades, operaciones y acciones.

  • Entidad: una entidad se puede considerar como un objeto o un conjunto de propiedades en la aplicación o el servicio conectados. La definición de una entidad varía de un conector a otro. Por ejemplo, en un conector de base de datos, las tablas son las entidades; en un conector de servidor de archivos, las carpetas son las entidades; y en un conector de sistema de mensajería, las colas son las entidades.

    Sin embargo, es posible que un conector no admita o no tenga ninguna entidad. En ese caso, la lista Entities estará vacía.

  • Operación: una operación es la actividad que puedes realizar en una entidad. Puedes realizar cualquiera de las siguientes operaciones en una entidad:

    Al seleccionar una entidad de la lista disponible, se genera una lista de operaciones disponibles para la entidad. Para ver una descripción detallada de las operaciones, consulta las operaciones de entidades de la tarea Connectors. Sin embargo, si un conector no admite ninguna de las operaciones de entidad, esas operaciones no admitidas no se mostrarán en la lista Operations.

  • Acción: una acción es una función de primera clase que se pone a disposición de la integración a través de la interfaz del conector. Una acción te permite hacer cambios en una o varias entidades y varía de un conector a otro. Normalmente, una acción tendrá algunos parámetros de entrada y un parámetro de salida. Sin embargo, es posible que un conector no admita ninguna acción, en cuyo caso la lista Actions estará vacía.

Acciones

Este conector admite la ejecución de las siguientes acciones:

  • Procedimientos almacenados y funciones definidos por el usuario. Si tienes procedimientos y funciones almacenados en tu backend, se mostrarán en la columna Actions del cuadro de diálogo Configure connector task.
  • Consultas de SQL personalizadas. Para ejecutar consultas de SQL personalizadas, el conector proporciona la acción Ejecutar consulta personalizada.

    Para crear una consulta personalizada, sigue estos pasos:

    1. Sigue las instrucciones detalladas para añadir una tarea de conectores.
    2. Cuando configure la tarea del conector, en el tipo de acción que quiera realizar, seleccione Acciones.
    3. En la lista Acción, selecciona Ejecutar consulta personalizada y, a continuación, haz clic en Hecho.

      Imagen que muestra la acción execute-custom-query Imagen que muestra la acción execute-custom-query

    4. Despliega la sección Entrada de la tarea y, a continuación, haz lo siguiente:
      1. En el campo Tiempo de espera tras, introduce el número de segundos que deben transcurrir hasta que se ejecute la consulta.

        Valor predeterminado: 180 segundos.

      2. En el campo Número máximo de filas, introduzca el número máximo de filas que se devolverán de la base de datos.

        Valor predeterminado: 25.

      3. Para actualizar la consulta personalizada, haz clic en Editar secuencia de comandos personalizada. Se abrirá el cuadro de diálogo Editor de secuencias de comandos.

        Imagen que muestra custom-sql-query Imagen que muestra custom-sql-query

      4. En el cuadro de diálogo Editor de secuencias de comandos, introduce la consulta de SQL y haz clic en Guardar.

        Puedes usar un signo de interrogación (?) en una instrucción SQL para representar un único parámetro que debe especificarse en la lista de parámetros de la consulta. Por ejemplo, la siguiente consulta SQL selecciona todas las filas de la tabla Employees que coinciden con los valores especificados en la columna LastName:

        SELECT * FROM Employees where LastName=?

      5. Si has usado signos de interrogación en tu consulta SQL, debes añadir el parámetro haciendo clic en + Añadir nombre de parámetro por cada signo de interrogación. Durante la ejecución de la integración, estos parámetros sustituyen secuencialmente los signos de interrogación (?) de la consulta de SQL. Por ejemplo, si has añadido tres signos de interrogación (?), debes añadir tres parámetros en orden de secuencia.

        Imagen que muestra la opción para añadir un parámetro de consulta Imagen que muestra la opción para añadir un parámetro de consulta

        Para añadir parámetros de consulta, siga estos pasos:

        1. En la lista Tipo, seleccione el tipo de datos del parámetro.
        2. En el campo Valor, introduzca el valor del parámetro.
        3. Para añadir varios parámetros, haga clic en + Añadir parámetro de consulta.
      6. La acción Ejecutar consulta personalizada no admite variables de matriz.

Limitaciones del sistema

El conector de Couchbase puede procesar 25 transacciones por segundo por nodo y limita las transacciones que superen este límite. De forma predeterminada, Integration Connectors asigna 2 nodos (para mejorar la disponibilidad) a una conexión.

Para obtener información sobre los límites aplicables a Integration Connectors, consulta Límites.

Acciones

En esta sección se enumeran las acciones que admite el conector. Para saber cómo configurar las acciones, consulta los ejemplos de acciones.

Acción AddDocument

Esta acción añade documentos en Couchbase.

Parámetros de entrada de la acción AddDocument

Nombre del parámetro Tipo de datos Obligatorio Descripción
Nombre del segmento Cadena El segmento en el que se insertará el documento.
SourceTable Objeto No Nombre de la tabla temporal que contiene las columnas ID y Document. Obligatorio si no se especifica ningún ID.
ID Cadena No La clave principal en la que se insertará el documento. Obligatorio si no se especifica SourceTable.
Documento Cadena No El texto JSON del documento que se va a insertar. Obligatorio si no se especifica SourceTable.

Parámetros de salida de la acción AddDocument

Esta acción devuelve el estado 200 (OK) si se realiza correctamente.

Para ver un ejemplo de cómo configurar la acción AddDocument, consulta los ejemplos de acciones.

Acción CreateCollection

Esta acción crea una colección en un ámbito.

Parámetros de entrada de la acción CreateCollection

Nombre del parámetro Tipo de datos Obligatorio Descripción
Segmento Cadena Nombre del segmento que contiene la colección.
Ámbito Cadena Nombre del ámbito que contiene la colección.
Nombre Cadena Nombre de la colección que se va a crear.

Parámetros de salida de la acción CreateCollection

Esta acción devuelve el estado 200 (OK) si se realiza correctamente.

Para ver un ejemplo de cómo configurar la acción CreateCollection, consulta los ejemplos de acciones.

Acción DeleteCollection

Esta acción elimina una colección de un ámbito.

Parámetros de entrada de la acción DeleteCollection

Nombre del parámetro Tipo de datos Obligatorio Descripción
Segmento cadena Verdadero Nombre del segmento que contiene la colección.
Ámbito Cadena Verdadero Nombre del ámbito que contiene la colección.
Nombre cadena Verdadero Nombre de la colección que se va a eliminar.

Parámetros de salida de la acción DeleteCollection

Esta acción devuelve el estado 200 (OK) si se realiza correctamente.

Para ver un ejemplo de cómo configurar la acción DeleteCollection, consulta los ejemplos de acciones.

Acción CreateScope

Esta acción crea un ámbito en un segmento.

Parámetros de entrada de la acción CreateScope

Nombre del parámetro Tipo de datos Obligatorio Descripción
Segmento Cadena Nombre del segmento que contiene el ámbito
Nombre Cadena Nombre del ámbito que se va a crear.

Parámetros de salida de la acción CreateScope

Esta acción devuelve el estado 200 (OK) si se realiza correctamente.

Para ver un ejemplo de cómo configurar la acción CreateScope, consulta los ejemplos de acciones.

Acción DeleteScope

Esta acción elimina un ámbito y todas sus colecciones.

Parámetros de entrada de la acción DeleteScope

Nombre del parámetro Tipo de datos Obligatorio Descripción
Segmento Cadena Nombre del segmento que contiene el ámbito.
Nombre Cadena Nombre del ámbito que se va a eliminar.

Parámetros de salida de la acción DeleteScope

Esta acción devuelve el estado 200 (OK) si se realiza correctamente.

Para ver un ejemplo de cómo configurar la acción DeleteScope, consulta los ejemplos de acciones.

Acción ListIndices

Esta acción muestra todos los índices disponibles en Couchbase.

Parámetros de entrada de la acción ListIndices

N/A

Parámetros de salida de la acción ListIndices

Esta acción devuelve el estado 200 (OK) si se realiza correctamente.

Para ver un ejemplo de cómo configurar la acción ListIndices, consulta Ejemplos de acciones.

Acción ManageIndices

Esta acción crea o elimina un índice en un segmento.

Parámetros de entrada de la acción ManageIndices

Nombre del parámetro Tipo de datos Obligatorio Descripción
Nombre del segmento Cadena El contenedor de destino en el que se va a crear o eliminar el índice.
ScopeName objeto No El ámbito de destino para crear o eliminar el índice (Couchbase versión 7 y posteriores)
CollectionName Cadena No La colección de destino en la que se va a crear o eliminar el índice (Couchbase versión 7 y posteriores)
Acción Cadena Especifica la acción que se va a realizar en el índice. Puede ser Create o Drop.
Expresiones Cadena No Lista de expresiones o funciones, codificadas como JSON, en las que se basará el índice. Se necesita al menos una si IsPrimary se define como false y la acción es Create.
Nombre Cadena No Nombre del índice que se va a crear o eliminar. Es obligatorio si IsPrimary tiene el valor "false".
IsPrimary Cadena No Especifica si el índice debe ser un índice principal.El valor predeterminado es true.
Filtros Cadena No Lista de filtros, codificada como JSON, que se aplicará al índice.
IndexType Cadena No El tipo de índice que se va a crear. Puede ser GSI o View. Solo se usa si la acción es Create. El valor predeterminado es GSI.
ViewName Cadena No Obsoleto, incluido solo por motivos de compatibilidad. No hace nada.
Nodos Cadena No Una lista, codificada como JSON, de nodos que deben contener el índice y el puerto. Solo se usa si la acción es Create.
NumReplica Cadena No Número de réplicas que se crearán entre los nodos de índice del clúster.

Parámetros de salida de la acción ManageIndices

Esta acción devuelve el estado 200 (OK) si se realiza correctamente.

Para ver un ejemplo de cómo configurar la acción ManageIndices, consulta Ejemplos de acciones.

Acción ExecuteCustomQuery

Esta acción te permite ejecutar una consulta personalizada.

Para crear una consulta personalizada, sigue estos pasos:

  1. Sigue las instrucciones detalladas para añadir una tarea de conectores.
  2. Cuando configure la tarea del conector, en el tipo de acción que quiera realizar, seleccione Acciones.
  3. En la lista Acción, selecciona Ejecutar consulta personalizada y, a continuación, haz clic en Hecho.

    Imagen que muestra la acción execute-custom-query Imagen que muestra la acción execute-custom-query

  4. Despliega la sección Entrada de la tarea y, a continuación, haz lo siguiente:
    1. En el campo Tiempo de espera tras, introduce el número de segundos que deben transcurrir hasta que se ejecute la consulta.

      Valor predeterminado: 180 segundos.

    2. En el campo Número máximo de filas, introduzca el número máximo de filas que se devolverán de la base de datos.

      Valor predeterminado: 25.

    3. Para actualizar la consulta personalizada, haz clic en Editar secuencia de comandos personalizada. Se abrirá el cuadro de diálogo Editor de secuencias de comandos.

      Imagen que muestra custom-sql-query Imagen que muestra custom-sql-query

    4. En el cuadro de diálogo Editor de secuencias de comandos, introduce la consulta de SQL y haz clic en Guardar.

      Puedes usar un signo de interrogación (?) en una instrucción SQL para representar un único parámetro que debe especificarse en la lista de parámetros de la consulta. Por ejemplo, la siguiente consulta SQL selecciona todas las filas de la tabla Employees que coinciden con los valores especificados en la columna LastName:

      SELECT * FROM Employees where LastName=?

    5. Si has usado signos de interrogación en tu consulta SQL, debes añadir el parámetro haciendo clic en + Añadir nombre de parámetro por cada signo de interrogación. Durante la ejecución de la integración, estos parámetros sustituyen secuencialmente los signos de interrogación (?) de la consulta de SQL. Por ejemplo, si has añadido tres signos de interrogación (?), debes añadir tres parámetros en orden de secuencia.

      Imagen que muestra la opción para añadir un parámetro de consulta Imagen que muestra la opción para añadir un parámetro de consulta

      Para añadir parámetros de consulta, siga estos pasos:

      1. En la lista Tipo, seleccione el tipo de datos del parámetro.
      2. En el campo Valor, introduzca el valor del parámetro.
      3. Para añadir varios parámetros, haga clic en + Añadir parámetro de consulta.
    6. La acción Ejecutar consulta personalizada no admite variables de matriz.

Si se ejecuta correctamente, esta acción devuelve el estado 200 (OK) con un cuerpo de respuesta que contiene los resultados de la consulta.

Ejemplos de acciones

En esta sección se describe cómo realizar algunas de las acciones de este conector.

Ejemplo: añadir un documento

En este ejemplo se añade un documento a un segmento de Couchbase.

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción AddDocument y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
    "Document": "{\"ID\":10,\"Name\":\"TestDoc\"}",
    "BucketName": "CouchbaseTestBucket",
    "ID": "Test"
    }
  4. Si la acción se realiza correctamente, el parámetro de respuesta connectorOutputPayload de la tarea AddDocument tendrá un valor similar al siguiente:

    [{
    "RowsAffected": "1"
    }]

Ejemplo: crear una colección

En este ejemplo se crea una colección.

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción CreateCollection y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
    "bucket": "CouchbaseTestBucket",
    "scope": "TestScope",
    "name": "CollectionFromGoogleCloud"
    }
  4. En este ejemplo, se crea una colección en TestScope. Si la acción se realiza correctamente, el parámetro de respuesta connectorOutputPayload de la tarea CreateCollection tendrá un valor similar al siguiente:

    [{
    "Success": true,
    "scope": null,
    "uid": null,
    "collection": null,
    "collections.uid": null,
    "maxTTL": null,
    "history": null
    }]

Ejemplo: eliminar una colección

En este ejemplo se elimina una colección.

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción DeleteCollection y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
    "bucket": "CouchbaseTestBucket",
    "scope": "TestScope",
    "name": "CollectionFromGoogleCloud"
    }
  4. En este ejemplo se elimina una colección de TestScope. Si la acción se realiza correctamente, el parámetro connectorOutputPayload response de la tarea CreateCollection tendrá un valor similar al siguiente:

    [{
    "Success": true,
    "uid": "12"
    }]

Ejemplo: crear un ámbito

En este ejemplo se crea un ámbito.

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción CreateScope y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
    "bucket": "CouchbaseTestBucket",
    "name": "ScopeFromGoogleCloud"
    }
  4. En este ejemplo, se crea un ámbito en CouchbaseTestBucket. Si la acción se realiza correctamente, el parámetro connectorOutputPayload response de la tarea CreateScope tendrá un valor similar al siguiente:

    [{
    "Success": true,
    "name": null,
    "uid": null,
    "collections": null,
    "collections.name": null,
    "collections.uid": null,
    "collections.maxTTL": null,
    "collections.history": null
    }]

Ejemplo: eliminar un permiso

En este ejemplo se elimina un ámbito.

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción DeleteScope y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
    "bucket": "CouchbaseTestBucket",
    "name": "ScopeFromGoogleCloud"
    }
  4. En este ejemplo se elimina el permiso ScopeFromGoogleCloud. Si la acción se realiza correctamente, el parámetro connectorOutputPayload response de la tarea DeleteScope tendrá un valor similar al siguiente:

    [{
    "Success": true,
    "uid": "10"
    }]

Ejemplo: mostrar índices

En este ejemplo se enumeran todos los índices disponibles en Couchbase.

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción ListIndices y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
    }
  4. Si la acción se realiza correctamente, el parámetro connectorOutputPayload de la respuesta ListIndices tendrá un valor similar al siguiente:

    [{
    "id": "3d8a78cd2e302ac2",
    "datastore_id": "http://127.0.0.1:8091",
    "namespace_id": "default",
    "bucket_id": null,
    "scope_id": null,
    "keyspace_id": "CouchbaseTestBucket",
    "index_key": "",
    "condition": null,
    "is_primary": "false",
    "name": "test",
    "state": "online",
    "using": "gsi"
    }, {
    "id": "d6ce8c103b97a00d",
    "datastore_id": "http://127.0.0.1:8091",
    "namespace_id": "default",
    "bucket_id": "CouchbaseTestBucket",
    "scope_id": "TestScope",
    "keyspace_id": "CouchBaseDatatypes",
    "index_key": "",
    "condition": null,
    "is_primary": "true",
    "name": "#primary",
    "state": "online",
    "using": "gsi"
    },
    {
    "id": "58c25aef49dd32b3",
    "datastore_id": "http://127.0.0.1:8091",
    "namespace_id": "default",
    "bucket_id": "CouchbaseTestBucket",
    "scope_id": "TestScope",
    "keyspace_id": "TestCollection",
    "index_key": "",
    "condition": null,
    "is_primary": "false",
    "name": "SearchIndexTest_1",
    "state": "online",
    "using": "fts"
    }]

Ejemplo: gestionar índices

En este ejemplo se elimina un índice del segmento especificado.

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción ManageIndices y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
    "BucketName": "CouchbaseTestBucket",
    "Action": "DROP",
    "Name": "CouchBaseTestIndex"
    }
  4. Si la acción se realiza correctamente, el parámetro connectorOutputPayload response de la tarea ManageIndices tendrá un valor similar al siguiente:

    [{
    "Success": "true"
    }]

Ejemplos de operaciones de entidades

En esta sección se muestra cómo realizar algunas de las operaciones de entidad en este conector.

Ejemplo: listar todos los registros

En este ejemplo se enumeran todos los registros de la entidad TestCollection.

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona TestCollection en la lista Entity.
  3. Selecciona la operación List y, a continuación, haz clic en Hecho.
  4. Opcionalmente, en la sección Entrada de tarea de la tarea Conectores, puedes filtrar el conjunto de resultados especificando una cláusula de filtro. Especifica siempre el valor de la cláusula de filtro entre comillas simples (').

Ejemplo: obtener un registro de una entidad

En este ejemplo se obtiene un registro con el ID especificado de la entidad TestCollection.

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona TestCollection en la lista Entity.
  3. Selecciona la operación Get y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haga clic en EntityId y, a continuación, introduzca 120 en el campo Valor predeterminado.

    En este caso, 120 es un ID de registro único de la entidad TestCollection.

Ejemplo: actualizar un registro de una entidad

En este ejemplo se actualiza un registro de la entidad TestCollection.

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona TestCollection en la lista Entity.
  3. Selecciona la operación Update y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
    "COL_TEXT": "CouchBase Update"
    }
  5. Haga clic en entityId y, a continuación, introduzca 120 en el campo Valor predeterminado.

    Si la integración se realiza correctamente, el campo connectorOutputPayload de la tarea del conector tendrá un valor similar al siguiente:

    [{
    "Document.Id": "120"
    }]

Ejemplo: eliminar un registro de una entidad

En este ejemplo se elimina el registro con el ID especificado de la entidad TestCollection.

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona TestCollection en la lista Entity.
  3. Selecciona la operación Delete y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haga clic en entityId y, a continuación, introduzca 20 en el campo Valor predeterminado.

Problemas conocidos

No se admite la operación create en entidades.

Crear conexiones con Terraform

Puedes usar el recurso de Terraform para crear una conexión.

Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.

Para ver una plantilla de Terraform de ejemplo para crear una conexión, consulta la plantilla de ejemplo.

Cuando crees esta conexión con Terraform, debes definir las siguientes variables en el archivo de configuración de Terraform:

Nombre del parámetro Tipo de datos Obligatorio Descripción
allow_jsonparameters BOOLEAN Falso Permite usar JSON sin formato en los parámetros cuando QueryPassthrough está habilitado.
analytics_port STRING Falso Puerto para conectarse al endpoint de Couchbase Analytics.
child_separator STRING Falso El carácter o los caracteres que se usan para denotar tablas secundarias.
couchbase_service ENUM Falso Determina el servicio de Couchbase al que se va a conectar. El valor predeterminado es N1QL. Las opciones disponibles son N1QL y Analytics. Los valores admitidos son: N1QL y Analytics.
create_table_ram_quota STRING Falso Cuota de RAM predeterminada, en megabytes, que se usará al insertar segmentos mediante la sintaxis CREATE TABLE.
dataverse_separator STRING Falso El carácter o los caracteres que se usan para denotar los universos de datos y los ámbitos o las colecciones de Analytics.
flavor_separator STRING Falso El carácter o los caracteres que se usan para indicar las variantes.
n1_qlport STRING Falso Puerto para conectarse al endpoint N1QL de Couchbase.
periods_separator STRING Falso El carácter o los caracteres que se usan para denotar la jerarquía.
query_execution_timeout STRING Falso Define el tiempo de espera del lado del servidor de la consulta, que determina cuánto tiempo ejecutará Couchbase la consulta antes de devolver un error de tiempo de espera.
strict_comparison STRING Falso Ajusta la precisión con la que se traducen los filtros de las consultas de entrada de SQL a consultas de Couchbase. Se puede definir como una lista de valores separados por comas, donde cada valor puede ser una fecha, un número, un valor booleano o una cadena.
transaction_durability STRING Falso Especifica cómo se debe almacenar un documento para que una transacción se complete correctamente. Especifica si se deben usar transacciones N1QL al ejecutar consultas.
transaction_timeout STRING Falso Define la cantidad de tiempo que puede ejecutarse una transacción antes de que Couchbase agote el tiempo de espera.
use_collections_for_ddl BOOLEAN Falso Indica si se debe asumir que las instrucciones CREATE TABLE usan colecciones en lugar de variantes. Solo tiene efecto cuando se conecta a Couchbase v7 o una versión posterior y GenerateSchemaFiles se define como OnCreate.
use_transactions STRING Falso Especifica si se deben usar transacciones N1QL al ejecutar consultas.
validate_jsonparameters BOOLEAN Falso Permite al proveedor validar que los parámetros de cadena son JSON válidos antes de enviar la consulta a Couchbase.
proxy_enabled BOOLEAN Falso Seleccione esta casilla para configurar un servidor proxy para la conexión.
proxy_auth_scheme ENUM Falso Tipo de autenticación que se usará para autenticar el proxy ProxyServer. Los valores posibles son: BASIC, DIGEST y NONE.
proxy_user STRING Falso Nombre de usuario que se usará para autenticar el proxy ProxyServer.
proxy_password SECRET Falso Contraseña que se usará para autenticarse en el proxy ProxyServer.
proxy_ssltype ENUM Falso El tipo de SSL que se debe usar al conectarse al proxy ProxyServer. Los valores admitidos son AUTO, ALWAYS, NEVER y TUNNEL.
verbosidad STRING Falso Nivel de detalle de la conexión, que varía de 1 a 5. Si el nivel de verbosidad es más alto, se registrarán todos los detalles de la comunicación (solicitud, respuesta y certificados SSL).

Usar la conexión de Couchbase en una integración

Una vez que hayas creado la conexión, estará disponible tanto en Apigee Integration como en Application Integration. Puedes usar la conexión en una integración a través de la tarea Conectores.

  • Para saber cómo crear y usar la tarea Conectores en la integración de Apigee, consulta Tarea Conectores.
  • Para saber cómo crear y usar la tarea Conectores en Application Integration, consulta Tarea Conectores.

Obtener ayuda de la comunidad de Google Cloud

Puedes publicar tus preguntas y hablar sobre este conector en la comunidad de Google Cloud, en los foros de Cloud.

Siguientes pasos