# Azure Cloud Storage Vista previa

Azure Cloud Storage es el servicio de almacenamiento de objetos administrado de Microsoft para datos no estructurados, incluidos texto, archivos binarios, multimedia, registros y copias de seguridad de aplicaciones. Admite niveles de acceso frecuente, esporádico y de archivo, ofrece replicación geo-redundante y se integra con Microsoft Entra ID (anteriormente Azure Active Directory) para un control de acceso seguro.

Qlik Talend Cloud se conecta a Azure Cloud Storage mediante una aplicación de Microsoft Entra ID (entidad de servicio) que tiene acceso de lectura al contenedor de la cuenta de almacenamiento de destino. El conector recupera archivos del contenedor 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-Azure-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, primero 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 Azure Cloud Storage, necesita:

* Una suscripción de Azure con una cuenta de Azure Storage.
* Un contenedor de blobs en la cuenta de almacenamiento que contiene los archivos que se han de replicar.
* Un registro de aplicaciones de Microsoft Entra ID con un secreto de cliente.
* El rol Lector de datos de blobs de almacenamiento asignado a la entidad de servicio de la aplicación, con ámbito en la cuenta de almacenamiento o en el contenedor específico. Este es el rol de privilegios mínimos recomendado para el acceso de solo lectura.

Para registrar una aplicación de Microsoft Entra ID y recuperar sus credenciales:

1. Inicie sesión en su cuenta de [Azure](https://portal.azure.com/).
2. Vaya a Microsoft Entra ID &gt; Registros de aplicaciones &gt; Nuevo registro.
3. Agregue la siguiente información para su aplicación:
   * Nombre: escriba un nombre, por ejemplo QlikDataIntegration.
   * Tipos de cuenta admitidos: seleccione Solo cuentas en este directorio organizativo.
4. Haga clic en Registrarse.
5. En la página de la aplicación Información general, copie tanto el ID de aplicación (cliente) como el ID de directorio (espacio empresarial inquilino) y guárdelos en un archivo seguro.
6. Vaya a Certificados y secretos &gt; Secretos de cliente &gt; Nuevo secreto de cliente.
7. Escriba una descripción y seleccione un período de caducidad para el secreto de cliente.
8. Haga clic en Añadir.
9. Copie el valor de su secreto de cliente y guárdelo en un archivo seguro.
10. En el portal de Azure, abra su cuenta de almacenamiento y, a continuación, vaya a Control de acceso (IAM) &gt; Agregar &gt; Agregar asignación de roles.
11. Seleccione el rol Lector de datos de blob de almacenamiento y asigne este rol a la aplicación que acaba de registrar.
12. Haga clic en Guardar.

### Formatos de archivo admitidos

* Archivos de texto delimitados: `.csv`, `.tsv`, `.psv`, `.txt` (con delimitador configurable)
* Líneas JSON: `.jsonl`
* Parquet: `.parquet`
* Avro: `.avro`
* Excel: `.xlsx` (se admiten varias hojas de cálculo por libro; se replican las filas de cada hoja y el nombre de la hoja se añade a la columna `_sdc_source_file`)
* Archivos comprimidos con Gzip: `.gz` (que contienen cualquiera de los formatos anteriores)

## 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. |
| Nombre de la cuenta de almacenamiento | Nombre de la cuenta de almacenamiento de Azure, por ejemplo mystorageaccount sin `https://` o `.blob.core.windows.net`. |
| Nombre del contenedor | Nombre del contenedor de blobs, por ejemplo my-container. |
| ID del espacio empresarial | ID del espacio inquilino. |
| Tablas | La configuración de la tabla determina qué archivos se leen y cómo se interpretan sus contenidos. Cada definición de tabla incluye un patrón de búsqueda de archivos, un nombre de tabla y configuraciones opcionales para personalizar el manejo de archivos. |
| ID de cliente | ID de cliente. |
| Secreto de cliente | Secreto de cliente. |

### Configuración de tablas

Cada entrada en la configuración de tablas representa una tabla lógica derivada de los archivos del contenedor. Se pueden configurar las siguientes propiedades para cada tabla:

| Propiedad | Obligatorio u opcional | Descripción |
| --- | --- | --- |
| Nombre de la tabla | Obligatorio | Especifique el nombre de la tabla lógica (por ejemplo, `my_orders_csv`). Este se convierte en el nombre del stream en Qlik Talend Cloud. |
| Patrón de búsqueda | Obligatorio | Proporcione una expresión regular para que coincida con los nombres de archivo (por ejemplo, `.*\.csv$` coincide con todos los archivos CSV). Aplique esto a los nombres de archivo dentro del contenedor o del directorio especificado, si se proporciona. |
| Directorio | Opcional | Inserte un prefijo de ruta de carpeta dentro del contenedor para acotar la búsqueda de archivos (por ejemplo, `exports/orders/`). Mejore el rendimiento limitando los archivos examinados. Esto no es una expresión regular. |
| Clave principal | Opcional | Defina una lista de nombres de columna separados por comas para usar como clave principal (por ejemplo, `id` o `id,date`). Para archivos CSV, use los nombres de los campos de encabezado; para archivos JSONL, use las claves de objeto de nivel superior. Déjelo vacío para usar la replicación de tabla completa. Rellénelo para habilitar la replicación incremental basada en la hora de modificación del archivo. |
| Especificar los campos de fecha y hora | Opcional | Liste los nombres de las columnas, separados por comas, para tratarlos como campos de fecha y hora, incluso si no se detectan automáticamente durante la detección del esquema (por ejemplo, `created_at`, `updated_at`). |
| Delimitador | Opcional | Indique el separador de campos para archivos de texto delimitados. El valor predeterminado es `,` (coma). Utilice `\t` para archivos TSV o `\|` para archivos PSV. Si no se especifica, el delimitador se detecta automáticamente según la extensión del archivo. |

* Configure los archivos `.jsonl` y `.csv` como tablas separadas, a fin de garantizar un manejo preciso del esquema y la coherencia de los datos.
* Asegúrese de que todos los archivos `.csv` que coincidan con un patrón de búsqueda incluyan una fila de encabezado coherente con nombres y orden de columnas idénticos.
* Utilice claves de atributo de objeto coherentes en todos los archivos `.jsonl` definidos para cada tabla. Los nombres y las estructuras de las claves deben coincidir para una detección fiable del esquema.

### Tablas replicadas

Las tablas se definen en la configuración de tablas que usted proporciona. Cada tabla corresponde a un conjunto de archivos en el contenedor de blobs que coinciden con el patrón de búsqueda especificado y, si corresponde, con el prefijo de directorio. El conector detecta el esquema de la tabla muestreando hasta cinco archivos por tabla, leyendo cada quinta fila y analizando hasta 1000 registros por archivo.

La replicación utiliza un enfoque incremental basado en las marcas de tiempo de modificación de archivos cuando se configura una clave principal. Los archivos modificados después del último marcador de sincronización se procesan durante cada extracción. Si no se especifica ninguna clave principal, la tabla completa se replica totalmente en cada ejecución.

Las siguientes columnas del sistema se añaden a cada tabla por defecto:

| Columna | Descripción |
| --- | --- |
| `_sdc_source_container` | El nombre del contenedor de blobs de Azure donde se originó el registro. |
| `_sdc_source_file` | La ruta completa del archivo que contiene el registro. Para archivos de Excel, el nombre de la hoja se añade (por ejemplo, `exports/q1.xlsx/Sheet1`). |
| `_sdc_source_lineno` | El número de línea del registro dentro del archivo. |
| `_sdc_extra` | Campos adicionales analizados que no coinciden con el esquema descubierto (solo archivos `.jsonl`). |

## Limitaciones y consideraciones

* El nombre de la cuenta de almacenamiento se proporciona como un nombre simple, no como una URL.
* Se admiten los archivos comprimidos con Gzip (`.gz`). El conector lee el nombre de archivo original del encabezado gzip para determinar el formato de archivo interno. Los archivos Gzip creados con `--no-name` (sin nombre de archivo en el encabezado) 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 de forma transparente, incluso si el archivo no tiene una extensión `.gz`.
* La compresión anidada (por ejemplo, un archivo `.gz` dentro de otro `.gz`) no es compatible y se omite.
* El campo patrón de búsqueda utiliza la sintaxis de expresiones regulares, no patrones globales (por ejemplo, utilice `.*\.csv$` en lugar de `*.csv`).
* Los archivos sin una extensión reconocida se omiten y se emite una advertencia.
* El conector incluye una lógica de reintento integrada con retroceso exponencial para los límites de velocidad de la API de Azure (HTTP 429) y los errores transitorios del servidor (HTTP 500, 502, 503, 504), hasta cinco intentos.
* Se espera que la codificación de archivos sea UTF-8.