Amazon S3
Amazon Simple Storage Service (Amazon S3) ist ein Objektspeicherdienst, der branchenführende Skalierbarkeit, Datenverfügbarkeit, Sicherheit und Leistung bietet.
Vorbereiten der Authentifizierung
Für den Zugriff auf Ihre Daten müssen Sie die Verbindung mit Ihren Anmeldeinformationen authentifizieren.
Um eine Verbindung zu Amazon S3 herzustellen, benötigen Sie Berechtigungen in AWS Identity Access Management (IAM), die es Ihnen ermöglichen, Richtlinien zu erstellen, Rollen zu erstellen und Richtlinien an Rollen anzuhängen. Folgendes ist erforderlich, um die Berechtigung für Ihren S3-Bucket zu erteilen:
Erstellen einer IAM-Richtlinie
Eine IAM-Richtlinie ist eine JSON-basierte Zugriffsrichtliniensprache zur Verwaltung von Berechtigungen für Bucket-Ressourcen.
Berechtigungsname | Vorgang | Beschreibung |
s3:GetObject | GET Object |
Ermöglicht das Abrufen von Objekten aus Amazon S3. |
s3:GetObject | HEAD Object | Ermöglicht das Abrufen von Metadaten aus einem Objekt, ohne das Objekt selbst zurückzugeben. |
s3:ListBucket | GET Bucket (List Objects) |
Ermöglicht die Rückgabe von einigen oder allen (bis zu 1.000) Objekten in einem Bucket. |
s3:ListBucket | HEAD Bucket |
Wird verwendet, um festzustellen, ob ein Bucket existiert und der Zugriff zulässig ist. |
So erstellen Sie die IAM-Richtlinie:
- Navigieren Sie in AWS zu dem IAM-Service, indem Sie auf das Menü Services klicken und IAM eingeben.
- Klicken Sie auf IAM, nachdem dies in den Ergebnissen angezeigt wird.
- Klicken Sie im Menü links auf der Seite auf Policies.
- Klicken Sie auf Create Policy.
- Klicken Sie auf der Seite Create Policy auf die Registerkarte JSON.
- Markieren Sie den gesamten aktuellen Inhalt des Textfelds und löschen Sie ihn.
- Fügen Sie in das Textfeld das folgende JSON ein und ersetzen Sie MyBucketName durch den Namen Ihres Buckets:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::MyBucketName", "arn:aws:s3:::MyBucketName/*" ] } ] }
- Klicken Sie auf Review Policy.
- Geben Sie auf der Seite Review Policy einen Namen für die Richtlinie ein. Hier ein Beispiel:
qlik_amazon_s3
. - Klicken Sie auf Create policy.
Erstellen einer IAM-Rolle
Um diesen Schritt durchzuführen, benötigen Sie die folgenden AWS IAM-Berechtigungen: CreateRole
und AttachRolePolicy
. Weitere Informationen finden Sie in der Amazon-Dokumentation.
Wenn Sie mehrere Amazon S3-Integrationen erstellen, müssen Sie diesen Schritt für jede Integration durchführen, die Sie verbinden.
- Navigieren Sie in AWS zur Seite IAM Roles.
- Klicken Sie auf Create Role.
- Auf der Seite Create Role:
- Klicken Sie im Abschnitt Select type of trusted entity auf die Option Another AWS account.
- Fügen Sie in das Feld Account ID
338144066592
ein. - Aktivieren Sie im Abschnitt Options das Kontrollkästchen Require external ID.
- Fügen Sie in das Feld External ID, das angezeigt wird,
qlik_connection_<tenant-id>
ein und ersetzen Sie <tenant-id> durch Ihre Mandanten-ID.Informationen zur Suche nach Ihrer Mandanten-ID finden Sie unter Suchen von Mandanteninformationen.
- Klicken Sie auf Next: Permissions.
- Auf der Seite Attach permissions:
- Suchen Sie nach der Richtlinie, die Sie im Abschnitt Erstellen einer IAM-Richtlinie erstellt haben.
- Wenn Sie sie gefunden haben, markieren Sie das Kästchen daneben in der Tabelle.
- Klicken Sie auf Next: Tags.
- Wenn Sie Tags eingeben möchten, tun Sie dies auf der Seite Add tags. Andernfalls klicken Sie auf Next: Review.
- Auf der Seite Review:
- Fügen Sie in das Feld Role name
qlik_s3_<tenant-id>
ein und ersetzen Sie <tenant-id> durch Ihre Mandanten-ID.Informationen zur Suche nach Ihrer Mandanten-ID finden Sie unter Suchen von Mandanteninformationen.
- Geben Sie im Feld Role description optional eine Beschreibung ein. Zum Beispiel:
Qlik role for Amazon S3 integration.
- Klicken Sie auf Create role.
- Fügen Sie in das Feld Role name
Definieren des Suchmusters
Im Feld Suchmuster werden die Suchkriterien definiert, die Qlik für die Auswahl und Replikation von Dateien verwenden soll. Dieses Feld akzeptiert reguläre Ausdrücke, die verwendet werden können, um eine einzelne Datei oder mehrere Dateien einzuschließen.
Wenn Sie ein Suchmuster erstellen, sollten Sie Folgendes beachten:
- Wenn Sie mehrere Dateien für eine einzige Tabelle einschließen, muss jede Datei die gleichen Kopfzeilenwerte haben.
- Sonderzeichen wie Punkte (
.
) haben in regulären Ausdrücken eine besondere Bedeutung. Für eine genaue Übereinstimmung müssen sie in Escape-Zeichen eingeschlossen werden. Zum Beispiel:.\
- Qlik verwendet Python für reguläre Ausdrücke, die sich in der Syntax von anderen Varianten unterscheiden können. Verwenden Sie PyRegex, um Ihre Ausdrücke zu testen, bevor Sie die Integration speichern.
- Die Suchmuster sollten berücksichtigen, wie Daten in den Dateien aktualisiert werden. Betrachten Sie die folgenden Beispiele:
Szenario | Einzelne Datei, regelmäßig aktualisiert | Mehrere Dateien, täglich generiert |
So werden Aktualisierungen vorgenommen | Eine einzelne JSONL-Datei wird in regelmäßigen Abständen mit neuen und aktualisierten Kundendaten aktualisiert. | Jeden Tag wird eine neue CSV-Datei erstellt, die neue und aktualisierte Kundendaten enthält. Alte Dateien werden nach ihrer Erstellung nicht mehr aktualisiert. |
Dateiname | customers.jsonl
|
customers-[STRING].csv , wobei [STRING] ein eindeutiger, zufälliger String ist |
Suchmuster |
Da es immer nur eine Datei geben wird, können Sie den genauen Namen der Datei in Ihr S3-Bucket eingeben:
|
Um sicherzustellen, dass neue und aktualisierte Dateien identifiziert werden, können Sie ein Suchmuster eingeben, das auf alle Dateien zutrifft, die mit
|
Stimmt | mit customer.jsonl genau überein |
|
Dateianforderungen
Kopfzeile in der ersten Zeile (nur CSV-Dateien) |
|
Dateitypen |
|
Komprimierungstypen |
Diese Dateien müssen korrekt komprimiert sein, damit beim Extrahieren keine Fehler auftreten.
|
Trennzeichen (nur CSV-Dateien) |
|
Zeichencodierung |
UTF-8 |
Erstellen der Verbindung
Weitere Informationen finden Sie unter Herstellung einer Verbindung zu SaaS-Anwendungen.
- Füllen Sie die erforderlichen Verbindungseigenschaften aus.
-
Geben Sie einen Namen für die Verbindung in Verbindungsname ein.
-
Wählen Sie Verbindungsmetadaten öffnen aus, um nach der Erstellung Metadaten für die Verbindung zu definieren.
-
Klicken Sie auf Erstellen.
Einstellung | Beschreibung |
---|---|
Data gateway |
Wählen Sie ein Data Movement gateway aus, wenn dies für Ihren Anwendungsfall erforderlich ist. Informationshinweis
Dieses Feld ist für das Qlik Talend Cloud Starter-Abonnement nicht verfügbar, da dieses Abonnement Data Movement gateway nicht unterstützt. Wenn Sie eine andere Abonnementstufe haben und Data Movement gateway nicht verwenden möchten, wählen Sie Keine. Weitere Informationen zu den Vorteilen von Data Movement gateway und den Anwendungsfällen, in denen es erforderlich ist, finden Sie unter Qlik Data Gateway - Data Movement. |
Startdatum |
Geben Sie das Datum im Format |
S3-Bucket | Name des S3-Buckets. |
AWS Account ID |
Die AWS-Konto-ID des Kontos, in dem der Bucket existiert. Sie finden Ihre AWS-Konto-ID in der AWS Management Console unter „Account details“. |
Suchmuster | Geben Sie die Dateien ein, die Sie in Ihre Tabelle aufnehmen möchten. Sie können einen einzelnen Dateinamen oder einen regulären Ausdruck eingeben. Beispiel: |
Verzeichnis | Schränken Sie die Suche in diesem Verzeichnispfad ein. Wenn diese Option definiert ist, werden nur Dateien an diesem Speicherort durchsucht und die Dateien ausgewählt, die dem Suchmuster entsprechen. Sie können keine regulären Ausdrücke verwenden. Beispiel: csv-exports-folder oder employee_jsonl_exports. |
Tabellenkonfiguration
Konfigurieren Sie eine Tabelle, indem Sie die Dateien angeben, die Sie einschließen möchten. Sie können mehrere Tabellen konfigurieren. |
|
Tabellenname | Tabellenname. Jedes Ziel hat seine eigenen Regeln dafür, wie Tabellen benannt werden können. Amazon Redshift-Tabellennamen dürfen zum Beispiel nicht länger als 127 Zeichen sein. |
Primärer Schlüssel | Geben Sie den Primärschlüssel ein, um eindeutige Zeilen oder Datensätze zu identifizieren. Wenn Sie mehr als einen Schlüssel eingeben, trennen Sie die Werte mit einem Komma.
Beispiel: id, name. |
Datum/Uhrzeit-Felder angeben | Geben Sie die Werte ein, die in Ihrer Tabelle als „datetime“ anstelle von „string“ angezeigt werden sollen. Beispiel: created_at, modified_at. |
Trennzeichen | Wählen Sie das Trennzeichen in der Dropdown-Liste aus. |