Schritt 4: Erstellt eine Amazon Kinesis Data Analytics-Anwendung - Amazon Simple Email Service

Schritt 4: Erstellt eine Amazon Kinesis Data Analytics-Anwendung

Sie haben die Amazon SES-Ereignisveröffentlichung konfiguriert und richten nun Amazon Kinesis Data Analytics so ein, dass Daten der E-Mail-Sendeereignisse aus dem Amazon Kinesis Data Firehose-Bereitstellungs-Stream abgerufen werden. Erstellt eine Amazon Kinesis Data Analytics-Anwendung.

Im folgenden Verfahren wird beschrieben, wie Sie mithilfe der Amazon Kinesis Data Analytics Konsole eine Anwendung erstellen, die Daten der E-Mail-Sendeereignisse von Amazon SES aus dem Kinesis Data Firehose-Bereitstellungs-Stream erfasst. Zudem erfahren Sie, wie Sie eine einfache SQL-Abfrage für diese Daten ausführen, um Ereignisse des Typs "Send" zu erhalten.

Anmerkung

Die E-Mail-Sendeereignisse der verschiedenen Ereignistypen ("Send", "Bounce", "Complaint" und "Delivery") haben auch unterschiedliche JSON-Schemata. In einer Produktionsumgebung sind möglicherweise mehrere Felder dieses Schema vorhanden, aber in diesem Tutorial werden nur ein paar Felder verwendet, die für alle Ereignistypen vorhanden sind.

Erstellt eine Amazon Kinesis Data Analytics-Anwendung
  1. Beginnen Sie damit, einen konstanten Stream an E-Mails mit konfigurierter Amazon SES-Ereignisveröffentlichung zu senden. Senden Sie während dieses ganzen Verfahrens weiterhin E-Mails. Das ist erforderlich, damit Amazon Kinesis Data Analytics das Schema der Ereignisdatensätze automatisch erkennen kann. Es reicht in diesem Tutorial aus, fünf Minuten lang alle zehn Sekunden eine E-Mail zu senden. Weitere Informationen finden Sie unter Schritt 3: Senden von E-Mails.

    Wenn das E-Mail-Programm einige E-Mails gesendet hat, fahren Sie mit dem nächsten Schritt fort.

  2. Melden Sie sich bei AWS Management Console an und öffnen Sie die Kinesis-Data-Analytics-Konsole unter https://console.aws.amazon.com/kinesisanalytics.

  3. Wählen Sie Create new application (Neue Anwendung erstellen).

  4. Geben Sie einen Anwendungsnamen und eine Beschreibung ein und klicken Sie dann auf Save and continue (Speichern und fortfahren).

  5. Klicken Sie auf Connect to a source (Mit einer Quelle verbinden).

  6. Wählen Sie den Kinesis Data Firehose, den Sie in erstellt haben Schritt 2: Einrichten eines Konfigurationssatzes.

    Amazon Kinesis Data Analytics versucht, das Datensatzschema für das E-Mail-Sendeereignis auf Basis der eingehenden Datensätze zu ermitteln. Falls Amazon Kinesis Data Analytics die Fehlermeldung Error discovering input schema (Fehler beim Erkennen des Eingabeschemas) anzeigt, bedeutet dies, dass Amazon Kinesis Data Analytics bisher noch keine E-Mail-Sendedatensätze empfangen hat. Klicken Sie auf Rediscover schema (Redisover-Schema). Möglicherweise müssen Sie mehrfach auf diese Schaltfläche klicken. Wenn die Schemaerkennung auch nach mehreren Versuchen nicht erfolgreich ist, prüfen Sie, ob Ihre Anwendung konstant E-Mails sendet und ob in den E-Mails ein Konfigurationssatz spezifiziert wird.

    Sobald Amazon Kinesis Data Analytics ein Schema erkennt, wird eine Erfolgsmeldung angezeigt. Zudem werden die erkannten Datensätze aufgelistet.

    Wichtig

    Klicken Sie nicht auf Save and continue (Speichern und fortfahren). Das würde Fehler verursachen, da das erkannte Schema nicht den SQL-Benennungseinschränkungen entspricht. Sie müssen das Schema wie im nächsten Schritt beschrieben bearbeiten.

  7. Wählen Sie Edit schema (Schema bearbeiten).

  8. In diesem Tutorial werden die meisten Zeilen entfernt. Klicken Sie auf das X neben allen Zeilen – außer bei Zeilen mit folgenden Spaltennamen:

    • eventType

    • timestamp

    • messageId

    • to

    • ses:configuration-set

    Wichtig

    Klicken Sie nicht auf Save schema and update stream samples. Das würde Fehler verursachen, da das erkannte Schema nicht den SQL-Benennungseinschränkungen entspricht. Sie müssen das Schema wie im nächsten Schritt beschrieben bearbeiten.

  9. Überprüfen Sie die verbleibenden Einträge unter Column name (Name der Spalte) und vergleichen Sie diese wie folgt mit den SQL-Benennungseinschränkungen:

    • Format – Wie unter Identifiers (Bezeichner) im Amazon Kinesis Data Analytics SQL Reference beschrieben, müssen ohne Anführungszeichen angegebene IDs mit einem Buchstaben oder Unterstrich beginnen, gefolgt von Buchstaben, Ziffern oder Unterstrichen. Die automatischen Tag-Namen von Amazon SES enthalten Kommas und Bindestriche und entsprechen damit nicht diesen Anforderungen. Sie werden diese im nächsten Schritt bearbeiten.

    • Reserved words (Reservierte Wörter) – Die Spaltennamen dürfen keinen Konflikt mit den reservierten SQL-Wörtern verursachen, die unter Reservierte Wörter und Schlüsselwörter im Amazon Kinesis Data Analytics SQL Reference aufgeführt sind. Beispielsweise lösen reservierte Schlüsselwörter wie timestamp, value, date, from und to einen Konflikt mit den Amazon SES-Ereignisdatensätzen aus.

  10. Ändern Sie die verbleibenden Spaltennamen wie folgt, damit sie den SQL-Anforderungen entsprechen:

    • Benennen Sie ses:configuration-set um in ses_configuration_set.

    • Benennen Sie timestamp um in ses_timestamp.

    • Benennen Sie to um in ses_to.

  11. Wählen Sie Save schema and update stream samples (Schema speichern und Stream-Beispiel aktualiseren). Falls Validierungsfehler auftreten, stellen Sie sicher, dass Sie Schritt 10 korrekt ausgeführt haben. Wenn die Fehlermeldung No rows in source stream angezeigt wird, stellen Sie sicher, dass Sie immer noch den E-Mail-Stream senden, den Sie zu Beginn dieses Verfahrens gestartet haben. Klicken Sie dann auf Retrieve rows (Zeile abrufen). Möglicherweise müssen Sie mehrfach auf Retrieve rows (Zeile abrufen) klicken, bevor Amazon Kinesis Data Analytics Datensätze erfasst.

  12. Nach einem erfolgreichen Zeilenabruf klicken Sie auf Exit (done) (Beenden (erledigt)).

Nächster Schritt

Schritt 5: Ausführen einer SQL-Abfrage