# Google Cloud Storage

Google Cloud Storage es el servicio de almacenamiento de objetos unificado de Google para almacenar y acceder a datos en la infraestructura de Google Cloud. Ofrece alta disponibilidad, redundancia global y se integra con el ecosistema más amplio de Google Cloud.

Qlik Talend Cloud utiliza una cuenta de servicio de Google Cloud con acceso de lectura al depósito de destino para conectarse a Google Cloud Storage (GCS). El conector recupera archivos del depósito especificado, descubre automáticamente los esquemas mediante el muestreo del contenido de los archivos y realiza la replicación de datos incremental basándose en las marcas de tiempo de modificación de los archivos.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/Connecting-Google-Cloud-Storage.htm)

#### Captura de funciones

Una visión detallada de este conector, incluye enlaces útiles y funcionalidad compatible.

| Función/Capacidad | Detalles de compatibilidad |
| --- | --- |
| Compatibilidad con proyectos de Qlik Talend Data Integration | Solo [proyectos de replicación](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/data-replication-task.htm). No se admiten proyectos de canalización de datos. |
| [Métodos de actualización de destinos](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/Change-processing.htm) | Tareas de replicación:<br><br><ul><li><p>Aplicar los cambios</p></li><li><p>Guardar cambios</p></li></ul><br><br>Tareas de aterrizaje de datos en un lago de datos:<br><br><ul><li><p>Captura de datos de cambios (CDC)</p></li></ul> |
| [Conectar con aplicaciones SaaS](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm#Managing) | No es necesario generar metadatos manualmente. |
| [Evolución automática del esquema](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings.htm#Schema) | Solo se admite la operación Cambiar tipo de datos de columna. |
| Replicación de columnas LOB (NCLOB, CLOB y BLOB) | No admitido. |
| CDC programado | Obligatorio. Así es como el destino se mantiene actualizado con los cambios en la fuente.<br><br>Para tareas de replicación, vea [Programar tareas](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings.htm#Scheduli2)<br><br>Para tareas de aterrizaje en un lago de datos, vea [Programación de CDC para tareas de destino/aterrizaje en un lago de datos](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/landing-datalakes-settings.htm#Scheduli2) |
| Notificaciones | Parcialmente compatible<br><br>[Configuración de notificaciones sobre cambios](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Notifications.htm) |
| Supervisión | Solo CDC, ya que la carga completa no es relevante para este conector.<br><br>[Supervisar una tarea individual de datos](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Monitoring-data-tasks.htm) |
| Descarte automático de cargas útiles de columnas JSON | No admitido. Las cargas útiles de columnas JSON en los conjuntos de datos de origen no se deniegan automáticamente en el destino. |

## Preparación para la autenticación.

Para acceder a sus datos, debe autenticar la conexión con las credenciales de su cuenta.

Nota informativaAsegúrese de que la cuenta que utiliza tenga acceso de lectura a las tablas que desea recuperar.

Para configurar su cuenta de Google Cloud Storage, necesita:

* Un proyecto de Google Cloud Platform (GCP) con la API de Cloud Storage habilitada.

* Un depósito de Google Cloud Storage (GCS) que contiene los archivos que se van a replicar.

* Una cuenta de servicio con acceso de lectura al depósito.

  El rol recomendado es Visualizador de objetos de almacenamiento (`roles/storage.objectViewer`), que otorga los permisos necesarios `storage.objects.get` y `storage.objects.list`. Para más información, consulte la [documentación de roles de IAM de Google Cloud Storage](https://docs.cloud.google.com/storage/docs/access-control/iam-roles).

* Un archivo de clave JSON de cuenta de servicio descargado para la cuenta de servicio.

Para crear una cuenta de servicio y recuperar sus credenciales:

1. Inicie sesión en su cuenta de [Google Cloud](https://accounts.google.com/v3/signin/identifier?authuser=0&ec=GAlAywI&hl=en&flowName=GlifWebSignIn&flowEntry=AddSession&dsh=S-1020015778%3A1777897358935634).

2. Vaya a IAM y administración &gt; Cuentas de servicio.

3. Haga clic en Crear cuenta de servicio.

4. Indique un nombre y una descripción para la cuenta de servicio y, a continuación, haga clic en Crear y continuar.

5. Conceda a la cuenta de servicio el rol de Visualizador de objetos de almacenamiento o un rol personalizado con los permisos `storage.objects.get` y `storage.objects.list`.

6. Haga clic en Continuar y Listo.

7. En su cuenta de servicio recién creada, haga clic en el menú Acciones.

8. Vaya a Administrar claves &gt; Añadir clave &gt; Crear nueva clave.

9. Seleccione JSON y haga clic en Crear.

   El archivo de clave JSON se descarga directamente en su máquina. Este archivo incluye los campos `project_id`, `client_email` y `private_key` necesarios para establecer la conexión.

   Puede descargar el archivo de clave solo una vez. Asegúrese de almacenarlo de forma segura y hacer una copia de seguridad, ya que proporciona acceso a sus recursos de Google Cloud.

### Formatos de archivo admitidos

* Texto delimitado: CSV, TSV, PSV, TXT (con delimitador configurable)
* JSON Lines (`.jsonl`)
* Parquet (`.parquet`)
* Avro (`.avro`)
* Archivos comprimidos con Gzip (`.gz`) que contienen cualquiera de los formatos anteriores
* Archivos ZIP que contienen archivos CSV, JSON Lines, TXT, TSV, PSV o Gzip

## Crear la conexión

Para más información, vea [Conectar con aplicaciones SaaS](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm).

1. Rellene las propiedades de conexión necesarias.

2. Proporcione un nombre para la conexión en Nombre de la conexión.

3. Seleccione Abrir metadatos de conexión para definir metadatos para la conexión cuando se haya creado.

4. Haga clic en Crear.

Configuración de la conexión

| Configuración | Descripción |
| --- | --- |
| Pasarela de datos | Seleccione una Pasarela de datos de movimiento de datos si su caso de uso así lo requiere.<br><br>Nota informativa<br><br>Este campo no está disponible con la suscripción Qlik Talend Cloud Starter porque Pasarela de datos de movimiento de datos no se admite. Si tiene otro nivel de suscripción y no desea utilizar Pasarela de datos de movimiento de datos, seleccione Ninguna.<br><br>Para obtener información sobre las ventajas de Pasarela de datos de movimiento de datos y los casos de uso que lo requieren, consulte [Qlik Data Gateway - Data Movement](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm). |
| Fecha de inicio | Indique la fecha, en el formato `MM/DD/YYYY`, a partir de la cual deben replicarse los datos de su fuente a su destino. |
| Correo electrónico del cliente | Correo electrónico del cliente del archivo de claves JSON de la cuenta de servicio. |
| ID de proyecto | ID del proyecto del archivo de claves JSON de la cuenta de servicio. |
| Depósito | Nombre del depósito de Google Cloud Storage (GCS) donde se almacenan los archivos, por ejemplo, `my-gcs-bucket`.<br><br>No incluya el prefijo `gs://`. |
| Tablas | Configure tablas para controlar qué archivos se leen y cómo se interpreta su contenido. Cada definición de tabla incluye un patrón de búsqueda de archivos, un nombre de tabla y configuraciones opcionales para un comportamiento avanzado. |
| Clave privada | Clave privada del archivo de clave JSON de la cuenta de servicio. |

### Configuración de la tabla

Cada entrada en la configuración de la tabla especifica una tabla lógica creada a partir de archivos en el depósito de destino. Puede configurar las siguientes propiedades para cada tabla:

| Propiedad | Obligatorio u opcional | Descripción |
| --- | --- | --- |
| Nombre de tabla | Obligatorio | Especifique un nombre para la tabla lógica, por ejemplo `my_orders_csv`. Este nombre aparecerá como el nombre del stream en Qlik Talend Cloud. |
| Patrón de búsqueda | Obligatorio | Introduzca una expresión regular para que coincida con los nombres de archivo, por ejemplo `.*\.csv$` para seleccionar todos los archivos CSV. El conector utiliza la sintaxis de patrones de búsqueda regex y glob. En regex, `*.csv` no coincide con los nombres de archivo CSV porque `*` debe seguir a una expresión para repetirla. Utilice patrones como `\.csv$` o `.*\.csv$` para hacer coincidir nombres de archivo como `report.csv` y `my.data.csv`. |
| Prefijo de búsqueda | Opcional | Proporcione un prefijo de ruta dentro del depósito para acotar la búsqueda de archivos, por ejemplo `exports/orders/`. El uso de un prefijo mejora el rendimiento al limitar el número de archivos analizados. |
| Propiedades clave | Opcional | Enumere uno o más nombres de columna, separados por comas, para definir la clave principal. Por ejemplo: `id` o `id,date`. |
| Anulaciones de fecha | Opcional | Enumere los nombres de columna, separados por comas, que se tratarán como campos de fecha y hora. Utilice esta opción si estos campos no se detectan automáticamente durante el descubrimiento del esquema. |
| Delimitador | Opcional | Especifique el carácter que separa los valores en sus archivos. El valor predeterminado es `,` (coma). Use `\t` para archivos delimitados por tabulaciones (TSV) o `\|` para archivos separados por barras verticales (PSV). Si se deja en blanco, el sistema detecta automáticamente el delimitador basándose en la extensión del archivo. |

### Tablas replicadas

Las tablas se crean en función de la configuración de la tabla (véase más arriba). Cada tabla corresponde a un conjunto de archivos en el depósito de Google Cloud Storage (GCS) que coinciden con el patrón de búsqueda especificado y cualquier prefijo opcional. El conector descubre automáticamente los esquemas muestreando hasta 5 archivos por tabla, leyendo cada quinta fila, con un máximo de 1000 registros por archivo.

La replicación es incremental y utiliza las marcas de tiempo de modificación de archivos para rastrear los cambios. Durante cada extracción, el conector procesa solo aquellos archivos que se han modificado desde la última sincronización correcta, según lo registrado por el marcador de sincronización.

Las siguientes columnas del sistema se añaden a cada tabla de manera predeterminada:

| Columna | Descripción |
| --- | --- |
| `_sdc_source_bucket` | El nombre del depósito de Google Cloud Storage (GCS) donde se leyó el registro. |
| `_sdc_source_file` | La ruta completa del archivo que contiene el registro. |
| `_sdc_source_lineno` | El número de línea del registro dentro del archivo. |
| `_sdc_extra` | Cualquier columna adicional encontrada durante el análisis que no coincida con el esquema descubierto. Se aplica solo a archivos JSONL. |

## Limitaciones y consideraciones

* Las credenciales de la cuenta de servicio (`project_id`, `client_email`, `private_key`) deben proporcionarse como valores individuales extraídos del archivo de claves JSON; no se admite la carga de archivos.
* Se admiten los archivos comprimidos con Gzip (`.gz`). El conector lee el nombre de archivo original del encabezado gzip para determinar el formato del archivo interno. Los archivos Gzip creados con `--no-name` (sin nombre de archivo almacenado en el encabezado) se omiten.
* La compresión anidada (por ejemplo, un `.gz` dentro de otro `.gz` o un `.zip` dentro de un `.zip`) no es compatible. Estos archivos se omiten.
* Los archivos con las extensiones `.csv`, `.txt`, `.tsv`, `.psv` o `.jsonl` se comprueban en busca de bytes mágicos gzip y se descomprimen si están comprimidos con gzip, incluso cuando el archivo no tiene una `.gz` extensión.
* El campo `search_pattern` utiliza la sintaxis de patrones de búsqueda regex y glob. En regex, `*.csv` no coincide con los nombres de archivo CSV porque `*` debe seguir a una expresión para repetirla. Utilice `.*\.csv$` para hacer coincidir nombres de archivo como `report.csv` y `my.data.csv`.
* El conector tiene una lógica de reintento integrada con retroceso exponencial para los límites de velocidad de la API de Google Cloud Storage (GCS) (`429`) y los errores transitorios del servidor (`500`, `502`, `503`, `504`). Se realizan hasta cinco intentos antes de fallar.
* Los archivos sin una extensión reconocida se omiten y se emite una advertencia.