Azure Cloud Storage
Azure Cloud Storage è il servizio di archiviazione di oggetti gestito da Microsoft per dati non strutturati, inclusi testo, file binari, file multimediali, log e backup di applicazioni. Supporta i livelli di accesso frequente, sporadico e di archivio, offre la replica con ridondanza geografica e si integra con Microsoft Entra ID (in precedenza Azure Active Directory) per un controllo degli accessi sicuro.
Qlik Talend Cloud si connette ad Azure Cloud Storage utilizzando un'applicazione Microsoft Entra ID (entità servizio) che ha accesso in lettura al contenitore dell'account di archiviazione di destinazione. Il connettore recupera i file dal contenitore specificato, rileva automaticamente gli schemi campionando i contenuti dei file ed esegue la replica incrementale dei dati in base ai timestamp di modifica dei file.
Preparazione per l'autenticazione
Per accedere ai dati, è necessario autenticare la connessione con le credenziali del proprio account.
Per configurare l'account Azure Cloud Storage, è necessario quanto segue:
- Una sottoscrizione Azure con un account Azure Storage.
- Un contenitore blob nell'account di archiviazione che contiene i file da replicare.
- Una registrazione dell'applicazione Microsoft Entra ID con un segreto client.
- Il ruolo Storage Blob Data Reader assegnato all'entità servizio dell'applicazione, con ambito limitato all'account di archiviazione o al contenitore specifico. Questo è il ruolo con privilegi minimi consigliato per l'accesso in sola lettura.
Per registrare un'applicazione Microsoft Entra ID e recuperare le credenziali:
- Accedere al proprio account Azure.
- Passare a Microsoft Entra ID > Registrazioni app > Nuova registrazione.
- Inserire le seguenti informazioni per l'applicazione:
- Nome: inserire un nome, ad esempio QlikDataIntegration.
- Tipi di account supportati: selezionare Solo account in questa directory organizzativa.
- Fare clic su Registra.
- Nella pagina Panoramica dell'applicazione, copiare sia l'ID applicazione (client) sia l'ID directory (tenant) e salvarli in un file sicuro.
- Passare a Certificati e segreti > Segreti client > Nuovo segreto client.
- Inserire una descrizione e selezionare un periodo di scadenza per il segreto client.
- Fare clic su Aggiungi.
- Copiare il valore del segreto client e salvarlo in un file sicuro.
- Nel portale di Azure, aprire l'account di archiviazione, quindi passare a Controllo di accesso (IAM) > Aggiungi > Aggiungi assegnazione di ruolo.
- Selezionare il ruolo Storage Blob Data Reader e assegnare questo ruolo all'applicazione appena registrata.
- Fare clic su Salva.
Formati di file supportati
- File di testo delimitati:
.csv,.tsv,.psv,.txt(con delimitatore configurabile) - JSON Lines:
.jsonl - Parquet:
.parquet - Avro:
.avro - Excel:
.xlsx(sono supportati più fogli di lavoro per cartella di lavoro; le righe di ogni foglio vengono replicate e il nome del foglio viene aggiunto alla colonna_sdc_source_file) - File compressi con Gzip:
.gz(contenenti uno qualsiasi dei formati precedenti)
Creazione della connessione
Per ulteriori informazioni, vedere Connessione alle applicazioni SaaS.
- Inserire le proprietà di connessione richieste.
-
Fornire un nome per la connessione in Nome connessione.
-
Selezionare Apri metadati di connessione per definire i metadati della connessione al momento della creazione.
-
Fare clic su Crea.
| Impostazione | Descrizione |
|---|---|
| Data gateway |
Selezionare un Gateway Data Movement se richiesto dal proprio caso di utilizzo. Nota informatica
Questo campo non è disponibile con la sottoscrizione a Avvio Qlik Talend Cloud, poiché non supporta il Gateway Data Movement. Se si dispone di un altro livello di sottoscrizione e non si desidera utilizzare il Gateway Data Movement, selezionare Nessuno. Per informazioni sui vantaggi del Gateway Data Movement e quando è richiesto, vedere Qlik Data Gateway - Movimento dati. |
| Data di inizio |
Inserire la data, nel formato |
| Nome account di archiviazione | Nome dell'account Azure Storage, ad esempio mystorageaccount senza https:// o .blob.core.windows.net. |
| Nome contenitore | Nome del contenitore blob, ad esempio my-container. |
| ID tenant | ID tenant. |
| Tabelle | La configurazione delle tabelle determina quali file vengono letti e come ne vengono interpretati i contenuti. Ogni definizione di tabella include un modello di ricerca dei file, un nome di tabella e impostazioni opzionali per personalizzare la gestione dei file. |
| ID client | ID client. |
| Segreto client | Segreto client. |
Configurazione delle tabelle
Ogni voce nella configurazione delle tabelle rappresenta una tabella logica derivata dai file nel contenitore. È possibile configurare le seguenti proprietà per ogni tabella:
| Proprietà | Obbligatorio o Opzionale | Descrizione |
|---|---|---|
| Nome tabella | Obbligatorio |
Specificare il nome della tabella logica (ad esempio, my_orders_csv). Questo diventa il nome del flusso in Qlik Talend Cloud.
|
| Modello di ricerca | Obbligatorio |
Fornire un'espressione regolare per la corrispondenza dei nomi dei file (ad esempio, .*\.csv$ corrisponde a tutti i file CSV). Applicare questo ai nomi dei file all'interno del contenitore o della directory specificata, se fornita.
|
| Directory | Opzionale |
Inserire un prefisso del percorso della cartella all'interno del contenitore per restringere la ricerca dei file (ad esempio, exports/orders/). Migliorare le prestazioni limitando i file scansionati. Questa non è un'espressione regolare.
|
| Chiave primaria | Opzionale |
Definire un elenco separato da virgole di nomi di colonna da utilizzare come chiave primaria (ad esempio, id o id,date). Per i file CSV, utilizzare i nomi dei campi di intestazione; per i file JSONL, utilizzare le chiavi degli oggetti di primo livello. Lasciare vuoto per utilizzare la replica dell'intera tabella. Popolare per abilitare la replica incrementale in base all'ora di modifica del file.
|
| Specifica campi datetime | Opzionale |
Elencare i nomi delle colonne, separati da virgole, da trattare come campi datetime, anche se non rilevati automaticamente durante l'individuazione dello schema (ad esempio, created_at, updated_at).
|
| Delimitatore | Opzionale |
Indicare il separatore di campo per i file di testo delimitati. L'impostazione predefinita è , (virgola). Utilizzare \t per i file TSV o | per i file PSV. Se non specificato, il delimitatore viene rilevato automaticamente in base all'estensione del file.
|
-
Configurare i file
.jsonle.csvcome tabelle separate per garantire una gestione accurata dello schema e la coerenza dei dati. -
Assicurarsi che tutti i file
.csvche corrispondono a un modello di ricerca includano una riga di intestazione coerente con nomi e ordine delle colonne identici. -
Utilizzare chiavi di attributo oggetto coerenti in tutti i file
.jsonldefiniti per ogni tabella. I nomi e le strutture delle chiavi devono essere allineati per un rilevamento affidabile dello schema.
Tabelle replicate
Le tabelle sono definite nella configurazione delle tabelle fornita. Ogni tabella corrisponde a un set di file nel contenitore blob che corrispondono al modello di ricerca specificato e, se applicabile, al prefisso della directory. Il connettore rileva lo schema della tabella campionando fino a cinque file per tabella, leggendo ogni quinta riga e analizzando fino a 1.000 record per file.
La replica utilizza un approccio incrementale basato sui timestamp di modifica dei file quando è configurata una chiave primaria. I file modificati dopo l'ultimo segnalibro di sincronizzazione vengono elaborati durante ogni estrazione. Se non viene specificata alcuna chiave primaria, l'intera tabella viene completamente replicata a ogni esecuzione.
Le seguenti colonne di sistema vengono aggiunte a ogni tabella per impostazione predefinita:
| Colonna | Descrizione |
|---|---|
_sdc_source_container
|
Il nome del contenitore blob di Azure da cui ha avuto origine il record. |
_sdc_source_file
|
Il percorso completo del file contenente il record. Per i file Excel, viene aggiunto il nome del foglio (ad esempio, exports/q1.xlsx/Sheet1).
|
_sdc_source_lineno
|
Il numero di riga del record all'interno del file. |
_sdc_extra
|
Campi aggiuntivi analizzati che non corrispondono allo schema rilevato (solo file .jsonl).
|
Limitazioni e considerazioni
- Il nome dell'account di archiviazione viene fornito come nome semplice, non come URL.
-
I file compressi con Gzip (
.gz) sono supportati. Il connettore legge il nome del file originale dall'intestazione gzip per determinare il formato del file interno. I file Gzip creati con--no-name(nessun nome file nell'intestazione) vengono ignorati. -
I file con estensione
.csv,.txt,.tsv,.psvo.jsonlvengono controllati per i magic byte gzip e vengono decompressi in modo trasparente, anche se il file non ha un'estensione.gz. -
La compressione nidificata (ad esempio, un file
.gzall'interno di un altro.gz) non è supportata e viene ignorata. -
Il campo Modello di ricerca utilizza la sintassi delle espressioni regolari, non i modelli glob (ad esempio, utilizzare
.*\.csv$invece di*.csv). - I file senza un'estensione riconosciuta vengono ignorati e viene emesso un avviso.
- Il connettore include una logica di ripetizione integrata con backoff esponenziale per i limiti di frequenza delle API di Azure (HTTP 429) e gli errori temporanei del server (HTTP 500, 502, 503, 504), fino a cinque tentativi.
- La codifica dei file deve essere UTF-8.