Amazon S3
Amazon Simple Storage Service (Amazon S3) is een objectopslagdienst die toonaangevende schaalbaarheid, beschikbaarheid van gegevens, beveiliging en prestaties biedt.
Voorbereiden op authenticatie
Om toegang te krijgen tot uw gegevens, moet u de verbinding verifiiëren met uw accountgegevens.
Om verbinding te maken met Amazon S3 hebt u machtigingen nodig in AWS Identity Access Management (IAM) waarmee u beleidsregels kunt maken, rollen kunt maken en beleidsregels aan rollen kunt koppelen. Dit is nodig om de autorisatie voor uw S3-bucket te verlenen:
Een IAM-beleid maken
Een IAM-beleid is een op JSON gebaseerde taal voor toegangsbeleid om machtigingen voor bucketresources te beheren.
Machtigingsnaam | Bewerking | Beschrijving |
s3:GetObject | GET Object |
Hiermee kunnen objecten uit Amazon S3 worden opgehaald. |
s3:GetObject | HEAD Object | Hiermee kunnen metagegevens van een object worden opgehaald zonder dat het object zelf wordt geretourneerd. |
s3:ListBucket | GET Bucket (List Objects) |
Hiermee kunnen sommige of alle (tot 1000) objecten in een bucket worden geretourneerd. |
s3:ListBucket | HEAD Bucket |
Wordt gebruikt om te bepalen of een bucket bestaat en of toegang is toegestaan. |
Om het IAM-beleid aan te maken:
- Navigeer naar de IAM-service in AWS door op het menu Services te klikken en IAM in te typen.
- Klik op IAM zodra het in de resultaten wordt weergegeven.
- Klik op Beleid in het menu aan de linkerkant van de pagina.
- Klik op Beleid maken.
- Klik op de pagina Beleid maken op het tabblad JSON.
- Selecteer alles wat momenteel in het tekstveld staat en verwijder het.
- Plak in het tekstveld de volgende JSON en vervang MyBucketName door de naam van uw bucket:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::MyBucketName", "arn:aws:s3:::MyBucketName/*" ] } ] }
- Klik op Beleid controleren.
- Geef het beleid een naam op de pagina Beleid controleren. Bijvoorbeeld:
qlik_amazon_s3
. - Klik op Beleid maken.
Een IAM-rol maken
Om deze stap te voltooien, hebt u de volgende AWS IAM-machtigingen nodig: CreateRole
en AttachRolePolicy
. Raadpleeg de documentatie van Amazon voor meer informatie.
Als u meerdere Amazon S3-integraties aanmaakt, moet u deze stap uitvoeren voor elke integratie waarmee u verbinding maakt.
- Navigeer in AWS naar de pagina IAM-rollen.
- Klik op Rol maken.
- Op de pagina Rol maken:
- Klik in de sectie Type vertrouwde entiteit selecteren de optie Ander AWS-account.
- Plak
338144066592
in het veld Account-id. - Schakel in de sectie Opties het selectievakje Externe id vereisen in.
- Plak in het veld Externe id dat verschijnt
qlik_connection_<tenant-id>
en vervang <tenant-id> door uw tenant-id.Om uw tenant-id te vinden, gaat u naar Tenantgegevens vinden.
- Klik op Volgende: machtigingen.
- Op de pagina Machtigingen bijvoegen:
- Zoek naar het beleid dat u hebt aangemaakt in het gedeelte Een IAM-beleid maken.
- Als u het beleid hebt gevonden, vinkt u het vakje ernaast in de tabel aan.
- Klik op Volgende: tags.
- Als u tags wilt invoeren, kunt u dat doen op de pagina Tags toevoegen. Klik anders op Volgende: controle.
- Op de pagina Controle:
- Plak in het veld Rolnaam
qlik_s3_<tenant-id>
en vervang <tenant-id> door uw tenant-id.Om uw tenant-id te vinden, gaat u naar Tenantgegevens vinden.
- Voer desgewenst in het veld Rolbeschrijving een beschrijving in. Bijvoorbeeld:
Qlik role for Amazon S3 integration.
- Klik op Rol maken.
- Plak in het veld Rolnaam
Het zoekpatroon definiëren
Het veld Zoekpatroon definieert de zoekcriteria die Qlik moet gebruiken voor het selecteren en repliceren van bestanden. Dit veld accepteert reguliere expressies die gebruikt kunnen worden om een enkel bestand of meerdere bestanden op te nemen.
Houd bij het maken van een zoekpatroon rekening met het volgende:
- Wanneer u meerdere bestanden voor één tabel opneemt, moet elk bestand dezelfde waarden voor de koprijen hebben.
- Speciale tekens zoals punten (
.
) hebben een speciale betekenis in reguliere expressies. Om precies overeen te komen, moet er een wisselteken worden gebruikt. Bijvoorbeeld:.\
- Qlik gebruikt Python voor reguliere uitdrukkingen, waarvan de syntaxis kan verschillen van andere varianten. Probeer PyRegex te gebruiken om uw expressies te testen voordat u de integratie opslaat.
- Zoekpatronen moeten rekening houden met de manier waarop gegevens in bestanden worden bijgewerkt. Kijk eens naar deze voorbeelden:
Scenario | Eén bestand, periodiek bijgewerkt | Meerdere bestanden, dagelijks gegenereerd |
Hoe updates worden gemaakt | Een enkel JSONL-bestand wordt periodiek bijgewerkt met nieuwe en bijgewerkte klantgegevens. | Elke dag wordt er een nieuw CSV-bestand aangemaakt dat nieuwe en bijgewerkte klantgegevens bevat. Oude bestanden worden nooit bijgewerkt nadat ze zijn aangemaakt. |
Bestandsnaam | customers.jsonl
|
customers-[STRING].csv , waarbij [STRING] een unieke, willekeurige tekenreeks is |
Zoekpatroon |
Omdat er maar één bestand zal zijn, kunt u de exacte naam van het bestand in uw S3-bucket invoeren:
|
Om ervoor te zorgen dat nieuwe en bijgewerkte bestanden worden geïdentificeerd, wilt u een zoekpatroon invoeren dat overeenkomt met alle bestanden die beginnen met
|
Overeenkomsten | customer.jsonl , precies |
|
Bestandsvereisten
Eerste-rij koptekst (alleen CSV-bestanden) |
|
Bestandstypen |
|
Typen compressie |
Deze bestanden moeten correct gecomprimeerd zijn, anders treden er fouten op tijdens het uitpakken.
|
Scheidingstekens (alleen CSV-bestanden) |
|
Tekencodering |
UTF-8 |
De verbinding maken
Ga voor meer informatie naar Verbinding maken met SaaS-applicaties.
- Vul de vereiste verbindingseigenschappen in.
-
Geef in Verbindingsnaam een naam voor de verbinding op.
-
Selecteer Metagegevens verbinding openen om metagegevens te definiëren voor de verbinding nadat deze is gemaakt.
-
Klik op Maken.
Instelling | Beschrijving |
---|---|
Gegevensgateway |
Selecteer een Data Movement gateway als dit is vereist voor uw usecase. Informatie
Dit veld is niet beschikbaar met het Qlik Talend Cloud Starter-abonnement, omdat het geen ondersteuning biedt voor Data Movement gateway. Als u een ander abonnementsniveau hebt en Data Movement gateway niet wilt gebruiken, selecteer dan Geen. Raadpleeg Qlik Data Gateway - Data Movement voor informatie over de voordelen van Data Movement gateway en usecases waarvoor deze is vereist. |
Begindatum |
Voer de datum in, in het formaat |
S3-bucket | Naam van de S3-bucket. |
AWS account-id |
De AWS account-id van het account waar de bucket bestaat. U kunt uw AWS account-id vinden in de AWS Beheerconsole onder Accountgegevens. |
Zoekpatroon | Voer de bestanden in die u in uw tabel wilt opnemen. U kunt een enkele bestandsnaam of een reguliere expressie invoeren. Voorbeeld: |
Directory | Beperk het zoeken in dit directorypad. Indien gedefinieerd, worden alleen bestanden op deze locatie doorzocht en worden alleen die bestanden geselecteerd die overeenkomen met het zoekpatroon. U kunt geen reguliere expressies gebruiken. Voorbeeld: csv-exports-folder of employee_jsonl_exports. |
Tabelconfiguratie
Configureer een tabel door bestanden op te geven die u wilt opnemen. U kunt meerdere tabellen configureren. |
|
Tabelnaam | Tabelnaam. Elk doel heeft zijn eigen regels voor de naam van tabellen. Amazon Redshift-tabelnamen mogen bijvoorbeeld niet langer zijn dan 127 tekens. |
Primaire sleutel | Voer de primaire sleutel in om unieke rijen of records te identificeren. Als u meer dan één sleutel invoert, gebruik dan een komma om de waarden te scheiden.
Voorbeeld: id, naam. |
Datum/tijd-velden opgeven | Voer de waarden in die als datum/tijd in plaats van tekenreeks in uw tabel moeten verschijnen. Voorbeeld: created_at, modified_at. |
Scheidingsteken | Selecteer het scheidingsteken in de vervolgkeuzelijst. |