# Google Cloud Storage

Google Cloud Storage è il servizio di object storage unificato di Google per archiviare e accedere ai dati sull'infrastruttura di Google Cloud. Offre alta disponibilità, ridondanza globale e si integra con il più ampio ecosistema Google Cloud.

Qlik Talend Cloud utilizza un account di servizio Google Cloud con accesso in lettura al bucket di destinazione per connettersi a Google Cloud Storage (GCS). Il connettore recupera i file dal bucket specificato, rileva automaticamente gli schemi campionando il contenuto dei file ed esegue la replica incrementale dei dati in base ai timestamp di modifica dei file.

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

#### Snapshot funzionalità

Immagine di alto livello di questo connettore, inclusi collegamenti utili e funzionalità supportate.

| Funzionalità/Capacità | Dettagli del supporto |
| --- | --- |
| Progetti Qlik Talend Data Integration supportati | Solo i [progetti di replica](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/data-replication-task.htm). I progetti delle pipeline di dati non sono supportati. |
| [Metodi di aggiornamento della destinazione](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/Change-processing.htm) | Attività di replica:<br><br><ul><li><p>Applica modifiche</p></li><li><p>Archivia modifiche</p></li></ul><br><br>Trasferimento dei dati nelle attività di un data lake:<br><br><ul><li><p>Change Data Capture (CDC)</p></li></ul> |
| [Connessione alle applicazioni SaaS](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm#Managing) | La generazione manuale dei metadati non è richiesta. |
| [Evoluzione automatica dello schema](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings.htm#Schema) | È supportata solo l'operazione Cambia tipo di dati colonne. |
| Replica delle colonne LOB (NCLOB, CLOB e BLOB) | Operazione non supportata. |
| CDC pianificato | Operazione richiesta. In questo modo la destinazione viene aggiornata con le modifiche apportate alla sorgente.<br><br>Per le attività di replica, vedere [Attività di pianificazione](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings.htm#Scheduli2)<br><br>Per le attività di trasferimento su data lake, vedere [Pianificazione delle attività CDC per i processi di trasferimento su data lake](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/landing-datalakes-settings.htm#Scheduli2) |
| Notifiche | Operazione parzialmente supportata<br><br>[Impostare notifiche quando vengono apportate modifiche al funzionamento](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Notifications.htm) |
| Monitoraggio | Solo attività CDC, in quanto il caricamento completo non è rilevante per questo connettore.<br><br>[Monitoraggio di un'attività dati individuale](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Monitoring-data-tasks.htm) |
| Annullamento automatico della nidificazione dei payload nelle colonne JSON | Operazione non supportata. La nidificazione per i payload della colonna JSON nei set di dati di origine non viene annullata automaticamente nella destinazione. |

## Preparazione per il processo di autenticazione

Per accedere ai dati, è necessario autenticare la connessione con le credenziali del proprio account.

Nota informaticaAssicurarsi che l'account utilizzata disponga di accesso di lettura per le tabelle che si desidera recuperare.

Per configurare il tuo account Google Cloud Storage, è necessario:

* Un progetto Google Cloud Platform (GCP) con l'API Cloud Storage abilitata.

* Un bucket di Google Cloud Storage (GCS) che contiene i file da replicare.

* Un account di servizio con accesso in lettura al bucket.

  Il ruolo consigliato è Visualizzatore di oggetti di archiviazione (`roles/storage.objectViewer`), che concede le autorizzazioni richieste `storage.objects.get` e `storage.objects.list`." Per ulteriori informazioni, vedere la [documentazione sui ruoli IAM di Google Cloud Storage](https://docs.cloud.google.com/storage/docs/access-control/iam-roles).

* Un file di chiave JSON dell'account di servizio scaricato per l'account di servizio.

Per creare un account di servizio e recuperare le tue credenziali:

1. Accedi al tuo account [Google Cloud](https://accounts.google.com/v3/signin/identifier?authuser=0&ec=GAlAywI&hl=en&flowName=GlifWebSignIn&flowEntry=AddSession&dsh=S-1020015778%3A1777897358935634).

2. Vai a IAM e amministrazione &gt; Account di servizio.

3. Fare clic su Crea account di servizio.

4. Inserisci un nome e una descrizione per l'account di servizio, quindi fai clic su Crea e continua.

5. Assegna all'account di servizio il ruolo Storage Object Viewer o un ruolo personalizzato con le autorizzazioni `storage.objects.get` e `storage.objects.list`.

6. Fai clic su Continua e Fine.

7. Nel tuo account di servizio appena creato, fai clic sul menu Azioni.

8. Passare a Gestisci chiavi &gt; Aggiungi chiave &gt; Crea nuova chiave.

9. Seleziona JSON e fai clic su Crea.

   Il file della chiave JSON viene scaricato direttamente sul tuo computer. Questo file include i campi `project_id`, `client_email` e `private_key` necessari per stabilire la connessione.

   È possibile effettuare il download del file della chiave solo una volta. Assicurati di conservarlo in modo sicuro e di eseguirne il backup, poiché fornisce l'accesso alle tue risorse Google Cloud.

### Formati di file non supportati

* Testo delimitato: CSV, TSV, PSV, TXT (con delimitatore configurabile)
* JSON Lines (`.jsonl`)
* Parquet (`.parquet`)
* Avro (`.avro`)
* File compressi con Gzip (`.gz`) contenenti uno qualsiasi dei formati sopra indicati
* Archivi ZIP contenenti file CSV, JSON Lines, TXT, TSV, PSV o Gzip

## Creazione della connessione

Per ulteriori informazioni, vedere [Connessione alle applicazioni SaaS](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm).

1. Inserire le proprietà di connessione richieste.

2. Fornire un nome per la connessione in Nome connessione.

3. Selezionare Apri metadati di connessione per definire i metadati della connessione al momento della creazione.

4. Fare clic su Crea.

Impostazioni di connessione

| Impostazione | Descrizione |
| --- | --- |
| Gateway dati | Selezionare un Gateway Data Movement se richiesto dal proprio caso di utilizzo.<br><br>Nota informatica<br><br>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.<br><br>Per informazioni sui vantaggi del Gateway Data Movement e quando è richiesto, vedere [Qlik Data Gateway - Movimento dati](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm). |
| Data di inizio | Inserire la data, nel formato `MM/DD/YYYY`, a partire dalla quale i dati devono essere replicati dalla sorgente alla destinazione. |
| Email del cliente | Email del client dal file della chiave JSON dell'account di servizio. |
| ID progetto | ID progetto dal file della chiave JSON dell'account di servizio. |
| Bucket | Nome del bucket Google Cloud Storage (GCS) in cui sono archiviati i file, ad esempio `my-gcs-bucket`.<br><br>Non includere il prefisso `gs://`. |
| Tabelle | Configurare le tabelle per controllare quali file vengono letti e come viene interpretato il loro contenuto. Ogni definizione di tabella include un pattern di ricerca file, un nome di tabella e impostazioni facoltative per il comportamento avanzato. |
| Chiave privata | Chiave privata dal file della chiave JSON dell'account di servizio. |

### Configurazione della tabella

Ogni voce nella configurazione della tabella specifica una tabella logica creata a partire dai file nel bucket di destinazione. È possibile configurare le seguenti proprietà per ciascuna tabella:

| Proprietà | Obbligatorio o facoltativo | Descrizione |
| --- | --- | --- |
| Nome tabella | Obbligatorio | Specificare un nome per la tabella logica, ad esempio `my_orders_csv`. Questo nome verrà visualizzato come nome del flusso in Qlik Talend Cloud. |
| Modello di ricerca | Obbligatorio | Immettere un'espressione regolare per trovare la corrispondenza dei nomi dei file, ad esempio `.*\.csv$` per selezionare tutti i file CSV. Il connettore utilizza la sintassi dei pattern di ricerca regex e glob. Nelle regex, `*.csv` non corrisponde ai nomi dei file CSV perché `*` deve seguire un'espressione da ripetere. Utilizzare pattern come `\.csv$` o `.*\.csv$` per trovare corrispondenze con nomi di file come `report.csv` e `my.data.csv`. |
| Prefisso di ricerca | Opzionale | Fornisci un prefisso di percorso all'interno del bucket per restringere la ricerca dei file, ad esempio `exports/orders/`. L'utilizzo di un prefisso migliora le prestazioni limitando il numero di file analizzati. |
| Proprietà della chiave | Opzionale | Elencare uno o più nomi di colonna, separati da virgole, per definire la chiave primaria. Ad esempio: `id` o `id,date`. |
| Sostituzioni di data | Opzionale | Elenca i nomi delle colonne, separati da virgole, da considerare come campi data/ora. Utilizzare questa opzione se questi campi non vengono rilevati automaticamente durante l'individuazione dello schema. |
| Delimitatore | Opzionale | Specificare il carattere che separa i valori nei tuoi file. Il valore predefinito è `,` (virgola). Utilizzare `\t` per i file delimitati da tabulazioni (TSV) o `\|` per i file separati da pipe (PSV). Se lasciato vuoto, il sistema rileva automaticamente il delimitatore in base all'estensione del file. |

### Tabelle replicate

Le tabelle vengono create in base alla configurazione della tabella (vedere sopra). Ogni tabella corrisponde a un insieme di file nel bucket di Google Cloud Storage (GCS) che soddisfano sia il pattern di ricerca specificato sia qualsiasi prefisso facoltativo. Il connettore rileva automaticamente gli schemi campionando fino a 5 file per tabella, leggendo ogni quinta riga, con un massimo di 1.000 record per file.

La replica è incrementale e utilizza i timestamp di modifica dei file per tracciare le modifiche. Durante ogni estrazione, il connettore elabora solo i file che sono stati modificati dall'ultima sincronizzazione riuscita, come registrato dal segnalibro di sincronizzazione.

Le seguenti colonne di sistema vengono aggiunte a ogni tabella per impostazione predefinita:

| Colonna | Descrizione |
| --- | --- |
| `_sdc_source_bucket` | Il nome del bucket Google Cloud Storage (GCS) da cui è stato letto il record. |
| `_sdc_source_file` | Il percorso completo del file contenente il record. |
| `_sdc_source_lineno` | Il numero di riga del record all'interno del file. |
| `_sdc_extra` | Eventuali colonne aggiuntive trovate durante l'analisi che non corrispondono allo schema rilevato. Si applica solo ai file JSONL. |

## Limiti e considerazioni

* Le credenziali dell'account di servizio (`project_id`, `client_email`, `private_key`) devono essere fornite come singoli valori estratti dal file della chiave JSON; il caricamento del file non è supportato.
* 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 memorizzato nell'intestazione) vengono ignorati.
* La compressione nidificata (ad esempio, un `.gz` all'interno di un altro `.gz` o un `.zip` all'interno di un `.zip`) non è supportata. Questi file vengono ignorati.
* I file con estensioni `.csv`, `.txt`, `.tsv`, `.psv` o `.jsonl` vengono controllati per verificare la presenza di magic byte gzip e decompressi se compressi con gzip—anche quando il file non ha un'estensione `.gz`.
* Il campo `search_pattern` utilizza la sintassi dei pattern di ricerca regex e glob. Nelle regex, `*.csv` non corrisponde ai nomi dei file CSV perché `*` deve seguire un'espressione da ripetere. Utilizzare `.*\.csv$` per trovare corrispondenze con nomi di file come `report.csv` e `my.data.csv`.
* Il connettore dispone di una logica di nuovo tentativo integrata con backoff esponenziale per i limiti di frequenza delle API di Google Cloud Storage (GCS) (`429`) e per gli errori temporanei del server (`500`, `502`, `503`, `504`). Vengono effettuati fino a cinque tentativi prima che l'operazione fallisca.
* I file senza un'estensione riconosciuta vengono ignorati e viene generato un avviso.