Schritt 4: Erstellt einen Kinesis Data Firehose-Bereitstellungs-Stream - Amazon Simple Email Service

Schritt 4: Erstellt einen Kinesis Data Firehose-Bereitstellungs-Stream

Um E-Mail-Sendeereignisse in Amazon Kinesis Data Firehose Bereitstellungs-Stream zu veröffentlichen, müssen Sie einen Kinesis Data Firehose-Bereitstellungs-Stream erstellen. Wenn Sie einen Kinesis Data Firehose Bereitstellungs-Stream einrichten, wählen Sie aus, wo die Daten von Kinesis Data Firehose-Bereitstellungs-Stream veröffentlicht. In diesem Tutorial wird Kinesis Data Firehose so konfiguriert, dass die Daten in Amazon Redshift veröffentlicht werden. Als Zwischenschritt soll Kinesis Data Firehose die Datensätze in Amazon S3 veröffentlichen. In diesem Verfahren legen Sie fest, wie Amazon Redshift die Datensätze aus Amazon S3 in die Tabelle kopiert, die im vorigen Schritt erstellt wurde.

In diesem Abschnitt wird gezeigt, wie Sie einen Kinesis Data Firehose-Bereitstellungs-Stream erstellen, der Daten an Amazon Redshift sendet. Zudem erfahren Sie, wie Sie den Bereitstellungs-Stream bearbeiten und angeben, auf welche Weise Amazon Redshift die Daten der Amazon SES-Ereignisveröffentlichung in Amazon S3 kopieren soll.

Anmerkung

Hierfür müssen Sie die in den vorigen Schritten erklärten Verfahren zum Erstellen des Amazon Redshift-Clusters, Herstellen einer Verbindung zum Cluster und Erstellen einer Datenbanktabelle bereits ausgeführt haben.

Erstellt einen Kinesis Data Firehose-Bereitstellungs-Stream

Im folgenden Verfahren wird beschrieben, wie Sie einen Kinesis Data Firehose-Bereitstellungs-Stream erstellen, der Daten in Amazon Redshift veröffentlicht und Amazon S3 als zwischengeschalteten Speicherort verwendet.

So erstellen Sie einen Lieferdatenstrom von Kinesis Data Firehose zu Amazon Redshift
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Kinesis Data Firehose-Konsole unter https://console.aws.amazon.com/firehose/.

  2. Wählen Sie Create Delivery Stream (Zustellungsstream erstellen) aus.

  3. Wählen Sie auf der Seite Destination (Ziel) die folgenden Optionen aus.

    • Destination (Ziel)— Wählen Sie Amazon Redshift aus.

    • Delivery stream name (Name des Zustellungsstreams) – Geben Sie einen Namen für den Bereitstellungs-Stream an.

    • S3 bucket (S3-Bucket) – Wählen Sie New S3 bucket aus, geben Sie einen Bucket-Namen ein, wählen Sie eine Region aus und klicken Sie auf Create Bucket (Bucket erstellen).

    • Redshift cluster (Redshift-Cluster) – Wählen Sie den in einem vorigen Schritt erstellten Amazon-Redshift-Cluster aus.

    • Redshift database (Redshift-Datenbank) – Geben Sie dev an (das ist der Standardname für eine Datenbank).

    • Redshift table (Redshift-Tabelle) – Geben Sie mit ses die unter Schritt 3: Erstellen einer Datenbank-Tabelle erstellte Tabelle an.

    • Redshift table columns (Redshift-Tabellensplaten) – Dieses Feld bleibt leer.

    • Redshift username (Redshift-Benutzername) – Geben Sie den Benutzernamen ein, den Sie im Thema Erstellen eines Amazon-Redshift-Clusters verwendet haben.

    • Redshift password (Redshift-Passwort) – Geben Sie das Passwort ein, das Sie beim Erstellen des Amazon Redshift-Clusters verwendet haben.

    • Redshift COPY options (Redshift-COPY-Optionen) – Dieses Feld bleibt leer.

    • Retry duration (Wiederholungsdauer) – Übernehmen Sie den Standardwert.

    • COPY command (COPY-Befehl) – Übernehmen Sie den Standardwert. Dieses Feld aktualisieren Sie im nächsten Verfahren.

  4. Wählen Sie Next (Weiter).

  5. Übernehmen Sie auf der Seite Configuration (Konfiguration) für dieses einfache Tutorial die Standardeinstellungen der Felder. Sie müssen hier nur eine IAM-Rolle auswählen, um Kinesis Data Firehose den Zugriff auf Ihre Ressourcen zu gewähren, wie im folgenden Verfahren beschrieben.

    1. Wählen Sie im Feld IAM Role (IAM-Rolle) die Option Select an IAM role (IAM-Rolle auswählen) aus.

    2. Wählen Sie im Dropdown-Menü unter Create/Update existing IAM role (Vorhandene IAM-Rolle erstellen/aktualisieren) den Eintrag Firehose delivery IAM role (IAM-Rolle der Firehose-Zustellung) aus.

      Sie werden zur IAM-Konsole umgeleitet.

    3. Übernehmen Sie in der IAM-Konsole die Standardeinstellungen der Felder und klicken Sie auf Allow (Erlauben).

      Sie kehren zu den Einrichtungsschritten für Kinesis Data Firehose in der Kinesis Data Firehose-Konsole zurück.

  6. Wählen Sie Next (Weiter).

  7. Prüfen Sie auf der Seite Review (Überprüfen) Ihre Einstellungen und wählen Sie Create Delivery Stream (Zustellungsstream erstellen) aus.

Amazon Redshift Kopieroptionen festlegen

Als Nächstes müssen Sie festlegen, wie Amazon Redshift die JSON-Datensätze der Amazon SES-Ereignisveröffentlichung in die unter erstellte Datenbanktabelle kopieren soll Schritt 3: Erstellen einer Datenbank-Tabelle. Dazu bearbeiten Sie die Kopieroptionen im Kinesis Data Firehose-Bereitstellungs-Stream.

Für diesen Schritt wird eine JSONPaths-Datei benötigt. Bei einer JSONPaths-Datei handelt es sich um eine Textdatei, in der für den Amazon Redshift COPY-Befehl festgelegt wird, auf welche Weise die JSON-Quelldaten geparst werden sollen. In diesem Verfahren wird eine JSONPaths-Datei zur Verfügung gestellt. Weitere Informationen zu JSONPaths-Dateien finden Sie unterCOPY aus JSON-Format im Datenbankentwicklerhandbuch zu Amazon Redshift.

Sie laden die JSONPaths-Datei in den Amazon S3-Bucket hoch, den Sie beim Erstellen des Kinesis Data Firehose-Bereitstellungs-Streams eingerichtet haben. Dann ändern Sie die COPY-Optionen des Kinesis Data Firehose-Bereitstellungs-Streams, damit die hochgeladene JSONPaths-Datei verwendet wird. Diese Schritte werden im folgenden Verfahren beschrieben.

So legen Sie die Amazon Redshift COPY-Befehlsoptionen fest
  1. Create a JSONPaths file (Erstellen einer JSONPaths-Datei) – Erstellen Sie auf Ihrem Computer eine Datei mit dem Namen jsonpaths.json. Kopieren Sie folgenden Text und fügen Sie ihn in die Datei ein. Speichern Sie anschließend die Datei.

    { "jsonpaths": [ "$.mail.messageId", "$.eventType", "$.mail.sendingAccountId", "$.mail.timestamp", "$.mail.destination", "$.mail.tags.ses:configuration-set", "$.mail.tags.campaign" ] }
  2. Hochladen der JSONPaths-Datei in den Amazon S3-Bucket – Öffnen Sie die Amazon-S3-Konsole und laden Sie die Datei in den Bucket hoch, den Sie beim Einrichten des Kinesis Data Firehose-Bereitstellungs-Streams unter Erstellt einen Kinesis Data Firehose-Bereitstellungs-Stream erstellt haben.

  3. Konfigurieren des COPY-Befehls in den Einstellungen des Kinesis Data Firehose-Bereitstellungs-Streams – Sie haben nun alle Informationen und können die Syntax des COPY-Befehls festlegen, mit dem Amazon Redshift die Daten in die von Ihnen erstellte Tabelle überträgt. Im folgenden Verfahren wird beschrieben, wie Sie die COPY-Befehlsinformationen in den Einstellungen des Kinesis Data Firehose-Bereitstellungs-Streams aktualisieren.

    1. Rufen Sie Kinesis Data Firehose Konsole auf.

    2. Wählen Sie unter Redshift Delivery Streams (Redshift-Bereitstellungs-Streams) den Kinesis Data Firehose-Bereitstellungs-Stream aus, den Sie für die Amazon SES-Ereignisveröffentlichung erstellt haben.

    3. Klicken Sie auf der Seite Details auf Edit (Bearbeiten).

    4. Geben Sie im Feld Redshift COPY options (Redshift-COPY-Optionen) den folgenden Text ein und ersetzen Sie dabei die folgenden Werte durch Ihre eigenen:

      • S3-EIMER-NAME – Der Name des Amazon S3 Buckets, in dem Kinesis Data Firehose Ihre Daten für Amazon Redshift ablegt. Diesen Bucket haben Sie beim Einrichten des Kinesis Data Firehose-Bereitstellungs-Streams unter erstellt Schritt 4: Erstellt einen Kinesis Data Firehose-Bereitstellungs-Stream. Ein Beispiel ist my-bucket.

      • REGION – Die Region, in der sich Ihre Ressourcen von Amazon SES, Kinesis Data Firehose, Amazon S3 und Amazon Redshift befinden. Ein Beispiel ist us-east-1.

      json 's3://S3-BUCKET-NAME/jsonpaths.json' region 'REGION';
    5. Wählen Sie Save (Speichern) aus.

Nächster Schritt

Schritt 5: Einrichten eines Konfigurationssatzes