Amazon S3
Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti che offre prestazioni di scalabilità, disponibilità, sicurezza dei dati leader del settore.
Preparazione per il processo di autenticazione
Per accedere ai dati, è necessario autenticare la connessione con le credenziali del proprio account.
Per connettersi a Amazon S3, sono richieste le autorizzazioni in AWS Identity Access Management (IAM) che consentono di creare criteri, creare ruoli e allegare i criteri ai ruoli. Queste sono necessari per concedere l'autorizzazione al proprio bucket S3:
Creazione di un criterio IAM
Un criterio IAM è un linguaggio per i criteri di accesso basato su JSON che consente di gestire le autorizzazioni alle risorse del bucket.
Nome autorizzazione | Operazione | Descrizione |
s3:GetObject | Oggetto GET |
Permette di recuperare gli oggetti da Amazon S3. |
s3:GetObject | Oggetto HEAD | Permette di recuperare i metadati di un oggetto senza restituire l'oggetto stesso. |
s3:ListBucket | GET Bucket (Oggetti elenco) |
Consente di restituire alcuni o tutti (fino a 1.000) gli oggetti contenuti in un bucket. |
s3:ListBucket | HEAD Bucket |
Utilizzato per determinare se un bucket esiste e l'accesso è consentito. |
Per creare il criterio IAM:
- In AWS, andare al servizio IAM facendo clic sul menu Servizi e digitando IAM.
- Fare clic sul servizio IAM quando viene visualizzato nei risultati.
- Fare clic su Criteri nel menu a sinistra della pagina.
- Fare clic su Crea criterio.
- Nella pagina Crea criterio, fare clic sulla scheda JSON.
- Selezionare tutti i contenuti presenti nel campo di testo ed eliminarli.
- Nel campo di testo, incollare il seguente JSON e sostituire MyBucketName con il nome del proprio bucket:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::MyBucketName", "arn:aws:s3:::MyBucketName/*" ] } ] }
- Fare clic su Verifica criterio.
- Nella pagina Verifica criterio, assegnare un nome al criterio. Ad esempio:
qlik_amazon_s3
. - Fare clic su Crea criterio.
Creazione di un ruolo IAM
Per completare questo passaggio, sono necessarie le seguenti autorizzazioni IAM di AWS: CreateRole
e AttachRolePolicy
. Per maggiori informazioni, consultare la documentazione di Amazon.
Se si desidera creare più integrazioni di Amazon S3, è necessario completare questo passaggio per ogni integrazione da collegare.
- In AWS, andare alla pagina Ruoli IAM.
- Fare clic su Crea ruolo.
- Nella pagina Crea ruolo:
- Nella sezione Seleziona il tipo di entità attendibile, fare clic sull'opzione Altro account AWS.
- Nel campo ID account, incollare
338144066592
. - Nella sezione Opzioni, selezionare la casella di controllo Richiedi ID esterno.
- Nel campo ID esterno visualizzato, incollare
qlik_connection_<tenant-id>
e sostituire <tenant-id> con l'ID del proprio tenant.Per trovare l'ID del tenant, vedere Trovare le informazioni del tenant.
- Fare clic su Avanti: Autorizzazioni.
- Nella pagina Allega autorizzazioni:
- Cercare il criterio creato in Creazione di un criterio IAM.
- Una volta individuato, selezionare la casella accanto ad esso nella tabella.
- Fare clic su Avanti: Tag.
- Se si desidera inserire tag, è possibile farlo nella pagina Aggiungi tag. Altrimenti, fare clic su Avanti: Verifica.
- Nella pagina Verifica:
- Nel campo Nome ruolo, incollare
qlik_s3_<tenant-id>
e sostituire <tenant-id> con l'ID del proprio tenant.Per trovare l'ID del tenant, vedere Trovare le informazioni del tenant.
- Inserire una descrizione nel campo Descrizione ruolo. Ad esempio:
Qlik role for Amazon S3 integration.
- Fare clic su Crea ruolo.
- Nel campo Nome ruolo, incollare
Definizione di un modello di ricerca
Il campo di Modello di ricerca definisce i criteri di ricerca che Qlik deve utilizzare per selezionare e replicare i file. In questo campo è possibile inserire espressioni regolari, che possono essere utilizzate per includere uno o più file.
Quando si crea un modello di ricerca, tenere presente quanto segue:
- Quando si includono più file in una singola tabella, ogni file deve avere gli stessi valori per la riga di intestazione.
- I caratteri speciali come i punti (
.
) hanno un significato particolare nelle espressioni regolari. Per una corrispondenza esatta, sarà necessario ignorarli. Ad esempio:.\
- Qlik utilizza Python per le espressioni regolari, che possono variare nella sintassi rispetto ad altre varietà. Provare a utilizzare PyRegex per testare le espressioni prima di salvare l'integrazione.
- I modelli di ricerca devono tenere conto di come vengono aggiornati i dati nei file. Considerare i seguenti esempi:
Scenario | File singolo, aggiornato periodicamente | File multipli, generati ogni giorno |
Come vengono effettuati gli aggiornamenti | Un singolo file JSONL viene aggiornato periodicamente con i dati nuovi e aggiornati dei clienti. | Ogni giorno viene creato un nuovo file CSV che contiene i dati nuovi e aggiornati dei clienti. I vecchi file non vengono mai aggiornati dopo la loro creazione. |
Nome file | customers.jsonl
|
customers-[STRING].csv , dove [STRING] è una stringa univoca e casuale. |
Modello di ricerca |
Poiché ci sarà sempre un solo file, è possibile inserire il nome esatto del file nel proprio bucket S3:
|
Per garantire l'identificazione dei file nuovi e aggiornati, è necessario inserire un modello di ricerca che corrisponda a tutti i file che iniziano con
|
Corrisponde a | customer.jsonl , esattamente |
|
Requisiti per i file
Intestazione della prima riga (solo i file CSV) |
|
Tipi di file |
|
Tipi di compressione |
Questi file devono essere compressi correttamente, altrimenti si verificheranno degli errori durante l'estrazione.
|
Delimitatori (solo per i file CSV) |
|
Codifica dei caratteri |
UTF-8 |
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 |
---|---|
Gateway dati |
Selezionare un Data Movement gateway 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 Data Movement gateway. Se si dispone di un altro livello di sottoscrizione e non si desidera utilizzare il Data Movement gateway, selezionare Nessuno. Per informazioni sui vantaggi del Data Movement gateway e quando è richiesto, vedere Qlik Data Gateway - Data Movement. |
Data di inizio |
Inserire la data, nel formato |
Bucket S3 | Nome del bucket S3. |
ID account AWS |
L'ID esterno in AWS. Vedere Preparazione per il processo di autenticazione. Il modello è: |
Modello di ricerca | Inserire i file da includere nella tabella. È possibile inserire un singolo nome file o un'espressione regolare. Esempio: |
Directory | Limitare la ricerca in questo percorso di directory. Se definito, verranno ricercati solo i file in questa posizione e verranno selezionati quelli che corrispondono al modello di ricerca. Non è possibile utilizzare le espressioni regolari. Esempio: csv-exports-folder o employee_jsonl_exports. |
Configurazione della tabella
Configurare una tabella specificando i file che si desidera includere. È possibile configurare più tabelle. |
|
Nome tabella | Nome tabella. Ogni destinazione ha le proprie regole per il modo in cui è possibile denominare le tabelle. Ad esempio, i nomi delle tabelle Amazon Redshift non possono superare i 127 caratteri. |
Chiave primaria | Inserire la chiave primaria per identificare le righe o i record univoci. Quando si inserisce più di un tasto, usare la virgola per separare i valori.
Esempio: id, name. |
Specificare i campi datetime | Inserire i valori che devono apparire come datetime anziché come stringa nella tabella. Esempio: created_at, modified_a. |
Delimitatore | Selezionare il delimitatore dall'elenco a discesa. |