Amazon Data Firehose-Datenbereitstellung - Amazon Data Firehose

Amazon Data Firehose war zuvor als Amazon Kinesis Data Firehose bekannt

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Amazon Data Firehose-Datenbereitstellung

Nachdem Daten an Ihren Firehose-Stream gesendet wurden, werden sie automatisch an das von Ihnen gewählte Ziel übermittelt.

Wichtig

Wenn Sie die Kinesis Producer Library (KPL) verwenden, um Daten an einen Kinesis Data Stream zu schreiben, können Sie die Aggregation dazu verwenden, die an diesen Kinesis Data Stream geschriebenen Datensätze zu kombinieren. Wenn Sie dann diesen Datenstrom als Quelle für Ihren Firehose-Stream verwenden, deaggregiert Amazon Data Firehose die Datensätze, bevor sie an das Ziel übermittelt werden. Wenn Sie Ihren Firehose-Stream für die Transformation der Daten konfigurieren, deaggregiert Amazon Data Firehose die Datensätze, bevor sie an übermittelt werden AWS Lambda. Weitere Informationen finden Sie unter Entwickeln von Amazon-Kinesis-Data-Streams-Produzenten mit der Kinesis Producer Library und Aggregation im -Entwicklerhandbuch.

Format der Datenbereitstellung

Für die Datenbereitstellung an Amazon Simple Storage Service (Amazon S3) verkettet Firehose mehrere eingehende Datensätze basierend auf der Pufferungskonfiguration Ihres Bereitstellungsdatenstroms. Anschließend übermittelt es die Datensätze als Amazon-S3-Objekt an Amazon S3. Standardmäßig verkettet Firehose Daten ohne Trennzeichen. Wenn Sie neue Zeilentrennzeichen zwischen Datensätzen haben möchten, können Sie neue Zeilentrennzeichen hinzufügen, indem Sie die Funktion in der Firehose-Konsolenkonfiguration oder dem API-Parameter aktivieren.

Für die Datenübermittlung an Amazon Redshift stellt Firehose zunächst eingehende Daten in dem zuvor beschriebenen Format in Ihrem S3-Bucket bereit. Firehose gibt dann einen Amazon-Redshift-COPYBefehl aus, um die Daten aus Ihrem S3-Bucket in Ihren von Amazon Redshift bereitgestellten Cluster oder Ihre Arbeitsgruppe von Amazon Redshift Serverless zu laden. Nachdem Amazon Data Firehose mehrere eingehende Datensätze zu einem Amazon S3-Objekt verkettet hat, kann das Amazon S3-Objekt in Ihren von Amazon Redshift bereitgestellten Cluster oder Ihre Arbeitsgruppe von Amazon Redshift Serverless kopiert werden. Weitere Informationen finden Sie unter Amazon Redshift COPY Command Data Format Parameters.

Für die Datenbereitstellung an OpenSearch Service und OpenSearch Serverless puffert Amazon Data Firehose eingehende Datensätze basierend auf der Pufferungskonfiguration Ihres Firehose-Streams. Anschließend wird eine - OpenSearch Service- oder OpenSearch Serverless-Massenanforderung generiert, um mehrere Datensätze in Ihrem OpenSearch Service-Cluster oder Ihrer OpenSearch Serverless-Sammlung zu indizieren. Stellen Sie sicher, dass Ihr Datensatz UTF-8-kodiert und auf ein einzeiliges JSON-Objekt reduziert ist, bevor Sie ihn an Amazon Data Firehose senden. Außerdem muss die rest.action.multi.allow_explicit_index Option für Ihren OpenSearch Service-Cluster auf „true“ (Standard) gesetzt sein, um Massenanforderungen mit einem expliziten Index zu verarbeiten, der pro Datensatz festgelegt ist. Weitere Informationen finden Sie unter OpenSearch Erweiterte Optionen für die Servicekonfiguration im Amazon- OpenSearch Service-Entwicklerhandbuch.

Für die Datenbereitstellung an Splunk verkettet Amazon Data Firehose die Bytes, die Sie senden. Wenn Sie Trennzeichen in Ihren Daten wünschen, wie z. B. ein Neue-Zeile-Zeichen, müssen Sie sie selbst einfügen. Stellen Sie sicher, dass Splunk so konfiguriert ist, dass diese Trennzeichen bei der Analyse berücksichtigt werden.

Wenn Sie Daten an einen HTTP-Endpunkt liefern, der einem unterstützten Drittanbieter gehört, können Sie den integrierten Amazon-Lambda-Service verwenden, um eine Funktion zu erstellen, um die eingehenden Datensätze in das Format umzuwandeln, das dem Format entspricht, das die Integration des Dienstanbieters erwartet. Wenden Sie sich an den Drittanbieter, dessen HTTP-Endpunkt Sie für Ihr Ziel ausgewählt haben, um mehr über das akzeptierte Datensatzformat zu erfahren.

Häufigkeit der Datenbereitstellung

Jedes Firehose-Ziel hat seine eigene Datenbereitstellungsfrequenz. Weitere Informationen finden Sie unter Pufferhinweise.

Fehlerbehandlung bei der Datenbereitstellung

Jedes Amazon-Data-Firehose-Ziel hat seine eigene Fehlerbehandlung bei der Datenbereitstellung.

Amazon S3

Die Datenbereitstellung zu Ihrem S3-Bucket kann aus verschiedenen Gründen fehlschlagen. Beispielsweise ist der Bucket möglicherweise nicht mehr vorhanden, die von Amazon Data Firehose angenommene IAM-Rolle hat möglicherweise keinen Zugriff auf den Bucket, das Netzwerk ist ausgefallen oder ähnliche Ereignisse. Unter diesen Bedingungen wiederholt Amazon Data Firehose den Vorgang bis zu 24 Stunden, bis die Bereitstellung erfolgreich ist. Die maximale Datenspeicherungszeit von Amazon Data Firehose beträgt 24 Stunden. Falls die Datenbereitstellung länger als 24 Stunden fehlschlägt, gehen die Daten verloren.

Amazon Redshift

Für ein Amazon-Redshift-Ziel können Sie beim Erstellen eines Firehose-Streams eine Wiederholungsdauer (0–7200 Sekunden) angeben.

Die Datenbereitstellung an Ihren bereitgestellten Amazon-Redshift-Cluster oder Ihre Arbeitsgruppe von Amazon Redshift Serverless kann aus verschiedenen Gründen fehlschlagen. Möglicherweise haben Sie eine falsche Clusterkonfiguration Ihres Firehose-Streams, einen Cluster oder eine Arbeitsgruppe, die gewartet wird, oder einen Netzwerkausfall. Unter diesen Bedingungen wiederholt Amazon Data Firehose den Vorgang für die angegebene Dauer und überspringt diesen bestimmten Stapel von Amazon S3-Objekten. Die Informationen zu den übersprungenen Objekten werden Ihrem S3-Bucket als Manifestdatei im Ordner errors/ bereitgestellt. Sie können diesen für manuelle Backfill-Vorgänge verwenden. Informationen darüber, wie Sie Daten manuell mit Manifestdateien kopieren, finden Sie unter Verwenden eines Manifests für die Angabe von Datendateien.

Amazon OpenSearch Service und OpenSearch Serverless

Für das OpenSearch Service- und OpenSearch Serverless-Ziel können Sie beim Erstellen eines Bereitstellungsdatenstroms eine Wiederholungsdauer (0–7 200 Sekunden) angeben.

Die Datenbereitstellung an Ihren OpenSearch Service-Cluster oder Ihre OpenSearch Serverless-Sammlung kann aus mehreren Gründen fehlschlagen. Beispielsweise haben Sie möglicherweise eine falsche OpenSearch Service-Cluster- oder OpenSearch Serverless-Sammlungskonfiguration Ihres Firehose-Streams, einen OpenSearch Service-Cluster oder eine OpenSearch Serverless-Sammlung in Wartung, einen Netzwerkausfall oder ähnliche Ereignisse. Unter diesen Bedingungen wiederholt Amazon Data Firehose den Vorgang für die angegebene Dauer und überspringt dann diese bestimmte Indexanforderung. Die übersprungenen Dokumente werden Ihrem S3-Bucket im Ordner AmazonOpenSearchService_failed/ bereitgestellt. Sie können diesen für manuelle Backfill-Vorgänge verwenden.

Für OpenSearch Service hat jedes Dokument das folgende JSON-Format:

{ "attemptsMade": "(number of index requests attempted)", "arrivalTimestamp": "(the time when the document was received by Firehose)", "errorCode": "(http error code returned by OpenSearch Service)", "errorMessage": "(error message returned by OpenSearch Service)", "attemptEndingTimestamp": "(the time when Firehose stopped attempting index request)", "esDocumentId": "(intended OpenSearch Service document ID)", "esIndexName": "(intended OpenSearch Service index name)", "esTypeName": "(intended OpenSearch Service type name)", "rawData": "(base64-encoded document data)" }

Für OpenSearch Serverless hat jedes Dokument das folgende JSON-Format:

{ "attemptsMade": "(number of index requests attempted)", "arrivalTimestamp": "(the time when the document was received by Firehose)", "errorCode": "(http error code returned by OpenSearch Serverless)", "errorMessage": "(error message returned by OpenSearch Serverless)", "attemptEndingTimestamp": "(the time when Firehose stopped attempting index request)", "osDocumentId": "(intended OpenSearch Serverless document ID)", "osIndexName": "(intended OpenSearch Serverless index name)", "rawData": "(base64-encoded document data)" }
Splunk

Wenn Amazon Data Firehose Daten an Splunk sendet, wartet es auf eine Bestätigung von Splunk. Wenn ein Fehler auftritt oder die Bestätigung nicht innerhalb des Timeout-Zeitraums für die Bestätigung eintrifft, startet Amazon Data Firehose den Zähler für die Wiederholungsdauer. Der Vorgang wird wiederholt, bis die Wiederholungsdauer abgelaufen ist. Danach betrachtet Amazon Data Firehose es als Fehler bei der Datenbereitstellung und sichert die Daten in Ihrem Amazon S3-Bucket.

Jedes Mal, wenn Amazon Data Firehose Daten an Splunk sendet, unabhängig davon, ob es sich um den ersten Versuch oder einen Wiederholungsversuch handelt, wird der Bestätigungs-Timeout-Zähler neu gestartet. Er wartet dann auf eine Bestätigung von Splunk. Auch wenn die Wiederholungsdauer abgelaufen ist, wartet Amazon Data Firehose weiterhin auf die Bestätigung, bis es sie erhält oder das Bestätigungs-Timeout erreicht ist. Wenn die Bestätigung abläuft, prüft Amazon Data Firehose, ob noch Zeit im Wiederholungszähler übrig ist. Ist noch Zeit übrig, führt es erneut eine Wiederholung durch und wiederholt die Logik, bis es eine Bestätigung erhält, oder feststellt, dass die Wiederholungszeitdauer abgelaufen ist.

Eine fehlende Bestätigung ist nicht der einzige Fehlertyp, der bei einer Datenübermittlung auftreten kann. Weitere Informationen zu den anderen Fehlertypen finden Sie unter Fehler bei der Datenbereitstellung für Splunk. Ein Fehler bei der Datenbereitstellung löst die Wiederhollogik aus, wenn Ihre Wiederholdauer größer als 0 ist.

Nachfolgend sehen Sie ein Beispiel für einen Fehlerdatensatz.

{ "attemptsMade": 0, "arrivalTimestamp": 1506035354675, "errorCode": "Splunk.AckTimeout", "errorMessage": "Did not receive an acknowledgement from HEC before the HEC acknowledgement timeout expired. Despite the acknowledgement timeout, it's possible the data was indexed successfully in Splunk. Amazon Data Firehose backs up in Amazon S3 data for which the acknowledgement timeout expired.", "attemptEndingTimestamp": 13626284715507, "rawData": "MiAyNTE2MjAyNzIyMDkgZW5pLTA1ZjMyMmQ1IDIxOC45Mi4xODguMjE0IDE3Mi4xNi4xLjE2NyAyNTIzMyAxNDMzIDYgMSA0MCAxNTA2MDM0NzM0IDE1MDYwMzQ3OTQgUkVKRUNUIE9LCg==", "EventId": "49577193928114147339600778471082492393164139877200035842.0" }
HTTP-Endpunktziel

Wenn Amazon Data Firehose Daten an ein HTTP-Endpunktziel sendet, wartet es auf eine Antwort von diesem Ziel. Wenn ein Fehler auftritt oder die Antwort nicht innerhalb des Reaktions-Timeout-Zeitraums eintrifft, startet Amazon Data Firehose den Zähler für die Wiederholungsdauer. Der Vorgang wird wiederholt, bis die Wiederholungsdauer abgelaufen ist. Danach betrachtet Amazon Data Firehose es als Fehler bei der Datenbereitstellung und sichert die Daten in Ihrem Amazon S3-Bucket.

Jedes Mal, wenn Amazon Data Firehose Daten an ein HTTP-Endpunktziel sendet, unabhängig davon, ob es sich um den ersten Versuch oder einen Wiederholungsversuch handelt, wird der Antwort-Timeout-Zähler neu gestartet. Anschließend wartet es darauf, dass eine Antwort vom HTTP-Endpunktziel eingeht. Auch wenn die Wiederholungsdauer abläuft, wartet Amazon Data Firehose weiterhin auf die Antwort, bis es sie erhält oder das Reaktions-Timeout erreicht ist. Wenn die Antwort abläuft, prüft Amazon Data Firehose, ob noch Zeit im Wiederholungszähler übrig ist. Ist noch Zeit übrig, führt es erneut eine Wiederholung durch und wiederholt die Logik, bis es eine Response erhält, oder feststellt, dass die Wiederholungszeitdauer abgelaufen ist.

Eine fehlende Response ist nicht der einzige Fehlertyp, der bei einer Datenübermittlung auftreten kann. Weitere Informationen zu den anderen Fehlertypen finden Sie unter Fehler bei der Datenbereitstellung für den HTTP-Endpunkt

Nachfolgend sehen Sie ein Beispiel für einen Fehlerdatensatz.

{ "attemptsMade":5, "arrivalTimestamp":1594265943615, "errorCode":"HttpEndpoint.DestinationException", "errorMessage":"Received the following response from the endpoint destination. {"requestId": "109777ac-8f9b-4082-8e8d-b4f12b5fc17b", "timestamp": 1594266081268, "errorMessage": "Unauthorized"}", "attemptEndingTimestamp":1594266081318, "rawData":"c2FtcGxlIHJhdyBkYXRh", "subsequenceNumber":0, "dataId":"49607357361271740811418664280693044274821622880012337186.0" }

Amazon-S3-Objektnamenformat

Wenn Firehose Daten an Amazon S3 liefert, folgt der S3-Objektschlüsselname dem Format <evaluated prefix microSDsuffix>, wobei das Suffix das Format <delivery stream name>-<delivery stream version>-<year>-<month>-<day>-<hour>-<minute>-<second>-<uuid microSDfile extension> <delivery stream version> hat, beginnt mit 1 und erhöht sich um 1 für jede Konfigurationsänderung des Firehose-Bereitstellungsstreams. Sie können Bereitstellungs-Stream-Konfigurationen (zum Beispiel den Namen des S3-Buckets, Pufferhinweise, Kompression und Verschlüsselung) ändern. Sie können dies über die Firehose-Konsole oder die UpdateDestination -API-Operation tun.

Für <evaluated prefix> fügt Firehose ein Standardzeitpräfix im Format hinzuYYYY/MM/dd/HH. Dieses Präfix erstellt eine logische Hierarchie im Bucket, wobei jeder Schrägstrich (/) eine Ebene in der Hierarchie erstellt. Sie können diese Struktur ändern, indem Sie ein benutzerdefiniertes Präfix angeben, das Ausdrücke enthält, die zur Laufzeit ausgewertet werden. Informationen zum Angeben eines benutzerdefinierten Präfixes finden Sie unter Benutzerdefinierte Präfixe für Amazon Simple Storage Service-Objekte.

Standardmäßig ist die für das Zeitpräfix verwendete Zeitzone UTC, aber Sie können sie in eine von Ihnen bevorzugte Zeitzone ändern. Sie können beispielsweise die Zeitzone in der AWS Management Console oder in der API-Parametereinstellung (CustomTimeZone) auf Asien/Tokio konfigurieren, wenn Sie Japan Standard Time anstelle von UTC verwenden möchten. Die folgende Liste enthält Zeitzonen, die für die S3-Präfixkonfiguration in Firehose unterstützt werden:

Africa
Africa/Abidjan Africa/Accra Africa/Addis_Ababa Africa/Algiers Africa/Asmera Africa/Bangui Africa/Banjul Africa/Bissau Africa/Blantyre Africa/Bujumbura Africa/Cairo Africa/Casablanca Africa/Conakry Africa/Dakar Africa/Dar_es_Salaam Africa/Djibouti Africa/Douala Africa/Freetown Africa/Gaborone Africa/Harare Africa/Johannesburg Africa/Kampala Africa/Khartoum Africa/Kigali Africa/Kinshasa Africa/Lagos Africa/Libreville Africa/Lome Africa/Luanda Africa/Lubumbashi Africa/Lusaka Africa/Malabo Africa/Maputo Africa/Maseru Africa/Mbabane Africa/Mogadishu Africa/Monrovia Africa/Nairobi Africa/Ndjamena Africa/Niamey Africa/Nouakchott Africa/Ouagadougou Africa/Porto-Novo Africa/Sao_Tome Africa/Timbuktu Africa/Tripoli Africa/Tunis Africa/Windhoek
America
America/Adak America/Anchorage America/Anguilla America/Antigua America/Aruba America/Asuncion America/Barbados America/Belize America/Bogota America/Buenos_Aires America/Caracas America/Cayenne America/Cayman America/Chicago America/Costa_Rica America/Cuiaba America/Curacao America/Dawson_Creek America/Denver America/Dominica America/Edmonton America/El_Salvador America/Fortaleza America/Godthab America/Grand_Turk America/Grenada America/Guadeloupe America/Guatemala America/Guayaquil America/Guyana America/Halifax America/Havana America/Indianapolis America/Jamaica America/La_Paz America/Lima America/Los_Angeles America/Managua America/Manaus America/Martinique America/Mazatlan America/Mexico_City America/Miquelon America/Montevideo America/Montreal America/Montserrat America/Nassau America/New_York America/Noronha America/Panama America/Paramaribo America/Phoenix America/Port_of_Spain America/Port-au-Prince America/Porto_Acre America/Puerto_Rico America/Regina America/Rio_Branco America/Santiago America/Santo_Domingo America/Sao_Paulo America/Scoresbysund America/St_Johns America/St_Kitts America/St_Lucia America/St_Thomas America/St_Vincent America/Tegucigalpa America/Thule America/Tijuana America/Tortola America/Vancouver America/Winnipeg
Antarctica
Antarctica/Casey Antarctica/DumontDUrville Antarctica/Mawson Antarctica/McMurdo Antarctica/Palmer
Asia
Asia/Aden Asia/Almaty Asia/Amman Asia/Anadyr Asia/Aqtau Asia/Aqtobe Asia/Ashgabat Asia/Ashkhabad Asia/Baghdad Asia/Bahrain Asia/Baku Asia/Bangkok Asia/Beirut Asia/Bishkek Asia/Brunei Asia/Calcutta Asia/Colombo Asia/Dacca Asia/Damascus Asia/Dhaka Asia/Dubai Asia/Dushanbe Asia/Hong_Kong Asia/Irkutsk Asia/Jakarta Asia/Jayapura Asia/Jerusalem Asia/Kabul Asia/Kamchatka Asia/Karachi Asia/Katmandu Asia/Krasnoyarsk Asia/Kuala_Lumpur Asia/Kuwait Asia/Macao Asia/Magadan Asia/Manila Asia/Muscat Asia/Nicosia Asia/Novosibirsk Asia/Phnom_Penh Asia/Pyongyang Asia/Qatar Asia/Rangoon Asia/Riyadh Asia/Saigon Asia/Seoul Asia/Shanghai Asia/Singapore Asia/Taipei Asia/Tashkent Asia/Tbilisi Asia/Tehran Asia/Thimbu Asia/Thimphu Asia/Tokyo Asia/Ujung_Pandang Asia/Ulaanbaatar Asia/Ulan_Bator Asia/Vientiane Asia/Vladivostok Asia/Yakutsk Asia/Yekaterinburg Asia/Yerevan
Atlantic
Atlantic/Azores Atlantic/Bermuda Atlantic/Canary Atlantic/Cape_Verde Atlantic/Faeroe Atlantic/Jan_Mayen Atlantic/Reykjavik Atlantic/South_Georgia Atlantic/St_Helena Atlantic/Stanley
Australia
Australia/Adelaide Australia/Brisbane Australia/Broken_Hill Australia/Darwin Australia/Hobart Australia/Lord_Howe Australia/Perth Australia/Sydney
Europe
Europe/Amsterdam Europe/Andorra Europe/Athens Europe/Belgrade Europe/Berlin Europe/Brussels Europe/Bucharest Europe/Budapest Europe/Chisinau Europe/Copenhagen Europe/Dublin Europe/Gibraltar Europe/Helsinki Europe/Istanbul Europe/Kaliningrad Europe/Kiev Europe/Lisbon Europe/London Europe/Luxembourg Europe/Madrid Europe/Malta Europe/Minsk Europe/Monaco Europe/Moscow Europe/Oslo Europe/Paris Europe/Prague Europe/Riga Europe/Rome Europe/Samara Europe/Simferopol Europe/Sofia Europe/Stockholm Europe/Tallinn Europe/Tirane Europe/Vaduz Europe/Vienna Europe/Vilnius Europe/Warsaw Europe/Zurich
Indian
Indian/Antananarivo Indian/Chagos Indian/Christmas Indian/Cocos Indian/Comoro Indian/Kerguelen Indian/Mahe Indian/Maldives Indian/Mauritius Indian/Mayotte Indian/Reunion
Pacific
Pacific/Apia Pacific/Auckland Pacific/Chatham Pacific/Easter Pacific/Efate Pacific/Enderbury Pacific/Fakaofo Pacific/Fiji Pacific/Funafuti Pacific/Galapagos Pacific/Gambier Pacific/Guadalcanal Pacific/Guam Pacific/Honolulu Pacific/Kiritimati Pacific/Kosrae Pacific/Majuro Pacific/Marquesas Pacific/Nauru Pacific/Niue Pacific/Norfolk Pacific/Noumea Pacific/Pago_Pago Pacific/Palau Pacific/Pitcairn Pacific/Ponape Pacific/Port_Moresby Pacific/Rarotonga Pacific/Saipan Pacific/Tahiti Pacific/Tarawa Pacific/Tongatapu Pacific/Truk Pacific/Wake Pacific/Wallis

Sie können das Suffixfeld nur <file extension> ändern. Wenn Sie die Datenformatkonvertierung oder -komprimierung aktivieren, hängt Firehose eine Dateierweiterung basierend auf der Konfiguration an. In der folgenden Tabelle wird die von Firehose angehängte Standarddateierweiterung erläutert:

Konfiguration Dateierweiterung
Datenformatkonvertierung: Parquet .parquet
Datenformatkonvertierung: ORC .orc
Komprimierung: Gzip .gz
Komprimierung: Zip .zip
Komprimierung: Snappy .snappy
Komprimierung: Hadoop-Snappy .hsnappy

Sie können auch eine Dateierweiterung angeben, die Sie in der Firehose-Konsole oder API bevorzugen. Die Dateierweiterung muss mit einem Punkt (.) beginnen und kann zulässige Zeichen enthalten: 0-9a-z!-_.*‘(). Die Dateierweiterung darf 128 Zeichen nicht überschreiten.

Anmerkung

Wenn Sie eine Dateierweiterung angeben, überschreibt sie die Standarddateierweiterung, die Firehose hinzufügt, wenn die Datenformatkonvertierung oder -komprimierung aktiviert ist.

Indexrotation für das OpenSearch Serviceziel

Für das OpenSearch Serviceziel können Sie eine zeitbasierte Indexrotationsoption aus einer der folgenden fünf Optionen angeben: NoRotation, OneHour, OneDayOneWeek, oder OneMonth.

Abhängig von der ausgewählten Rotationsoption hängt Amazon Data Firehose einen Teil des UTC-Ankunftszeitstempels an den angegebenen Indexnamen an. Es rotiert den angefügten Zeitstempel entsprechend. Das folgende Beispiel zeigt den resultierenden Indexnamen in OpenSearch Service für jede Indexrotationsoption, wobei der angegebene Indexname myindex und der Ankunftszeitstempel lautet2016-02-25T13:00:00Z.

RotationPeriod IndexName
NoRotation myindex
OneHour myindex-2016-02-25-13
OneDay myindex-2016-02-25
OneWeek myindex-2016-w08
OneMonth myindex-2016-02
Anmerkung

Mit der OneWeek-Option erstellt Data Firehose automatisch Indizes im Format <YEAR>-w <WEEK NUMBER>(z. B. 2020-w33), wobei die Wochennummer anhand der UTC-Zeit und gemäß den folgenden US-Konventionen berechnet wird:

  • Eine Woche beginnt am Sonntag

  • Die erste Woche des Jahres ist die erste Woche, die in diesem Jahr einen Samstag enthält

Übermittlung über - AWS Konten und - AWS Regionen hinweg für HTTP-Endpunktziele

Amazon Data Firehose unterstützt die AWS kontenübergreifende Datenbereitstellung an HTTP-Endpunktziele. Der Amazon-Data-Firehose-Firehose-Stream und der HTTP-Endpunkt, den Sie als Ziel ausgewählt haben, können sich in verschiedenen AWS Konten befinden.

Amazon Data Firehose unterstützt auch die Datenbereitstellung an HTTP-Endpunktziele über AWS Regionen hinweg. Sie können Daten aus einem Firehose-Stream in einer AWS Region an einen HTTP-Endpunkt in einer anderen AWS Region liefern. Sie können auch Daten aus einem Firehose-Stream an ein HTTP-Endpunktziel außerhalb von AWS Regionen liefern, z. B. an Ihren eigenen On-Premises-Server, indem Sie die HTTP-Endpunkt-URL auf Ihr gewünschtes Ziel setzen. In diesen Szenarien werden zusätzliche Datenübertragungsgebühren zu Ihren Lieferkosten hinzugefügt. Weitere Informationen finden Sie im Abschnitt Datenübertragung auf der Seite On-Demand-Preise.

Duplizierte Datensätze

Amazon Data Firehose verwendet at-least-once Semantik für die Datenbereitstellung. Unter bestimmten Umständen, z. B. wenn die Datenbereitstellung abläuft, können Wiederholungsversuche von Amazon Data Firehose zu Duplikaten führen, wenn die ursprüngliche Datenbereitstellungsanforderung schließlich durchlaufen wird. Dies gilt für alle Zieltypen, die Amazon Data Firehose unterstützt.

So pausieren und setzen Sie einen Firehose-Bereitstellungs-Stream fort

Nachdem Sie einen Bereitstellungsdatenstrom in Firehose eingerichtet haben, werden die in der Stream-Quelle verfügbaren Daten kontinuierlich an das Ziel übermittelt. Wenn Sie auf Situationen stoßen, in denen Ihr Stream-Ziel vorübergehend nicht verfügbar ist (z. B. bei geplanten Wartungsarbeiten), sollten Sie die Datenübermittlung vorübergehend unterbrechen und fortsetzen, sobald das Ziel wieder verfügbar ist. Die folgenden Abschnitte zeigen wie Sie:

Wichtig

Wenn Sie den unten beschriebenen Ansatz verwenden, um einen Stream anzuhalten und fortzusetzen, werden Sie nach dem Fortsetzen des Streams sehen, dass einige Datensätze an den Fehler-Bucket in Amazon S3 übermittelt werden, während der Rest des Streams weiterhin an das Ziel übermittelt wird. Dies ist eine bekannte Einschränkung des Ansatzes und tritt auf, weil eine kleine Anzahl von Datensätzen, die zuvor nicht an das Ziel übermittelt werden konnten, nachdem mehrere Wiederholungen als fehlgeschlagen verfolgt wurden.

Verstehen, wie Firehose mit Zustellungsfehlern umgeht

Wenn Sie einen Bereitstellungsdatenstrom in Firehose einrichten, richten Sie für viele Ziele wie OpenSearch, Splunk und HTTP-Endpunkte auch einen S3-Bucket ein, in dem Daten gesichert werden können, die nicht zugestellt werden können. Weitere Informationen darüber, wie Firehose Daten im Falle fehlgeschlagener Zustellungen sichert, finden Sie unter Behandlung von Datenbereitstellungsfehlern. Weitere Informationen zum Gewähren des Zugriffs auf S3-Buckets, in denen Daten gesichert werden können, die nicht zugestellt werden können, finden Sie unter Firehose-Zugriff auf ein Amazon S3-Ziel gewähren. Wenn Firehose (a) keine Daten an das Stream-Ziel liefert und (b) keine Daten für fehlgeschlagene Zustellungen in den Backup-S3-Bucket schreibt, wird die Stream-Bereitstellung effektiv angehalten, bis die Daten entweder an das Ziel übermittelt oder in den Backup-S3-Speicherort geschrieben werden können.

Anhalten eines Firehose-Bereitstellungsdatenstroms

Um die Stream-Bereitstellung in Firehose anzuhalten, entfernen Sie zunächst die Berechtigungen für Firehose, um für fehlgeschlagene Lieferungen an den S3-Sicherungsspeicherort zu schreiben. Wenn Sie beispielsweise den Bereitstellungsdatenstrom mit einem OpenSearch Ziel anhalten möchten, können Sie dies tun, indem Sie die Berechtigungen aktualisieren. Weitere Informationen finden Sie unter Firehose Zugriff auf ein öffentliches OpenSearch Serviceziel gewähren.

Entfernen Sie die "Effect": "Allow"-Berechtigung für die s3:PutObject-Aktion und fügen Sie explizit eine Anweisung hinzu, die die Effect": "Deny"-Berechtigung auf die s3:PutObject-Aktion für den S3-Bucket anwendet, der für die Sicherung fehlgeschlagener Lieferungen verwendet wird. Deaktivieren Sie als Nächstes das Stream-Ziel (z. B. Deaktivieren der OpenSearch Zieldomäne) oder entfernen Sie die Schreibberechtigungen für Firehose in das Ziel. Um Berechtigungen für andere Ziele zu aktualisieren, überprüfen Sie den Abschnitt für Ihr Ziel unter Zugriffskontrolle mit Amazon Data Firehose. Nachdem Sie diese beiden Aktionen abgeschlossen haben, stellt Firehose die Bereitstellung von Streams ein, und Sie können dies mithilfe von CloudWatch Metriken für Firehose überwachen.

Wichtig

Wenn Sie die Stream-Bereitstellung in Firehose anhalten, müssen Sie sicherstellen, dass die Quelle des Streams (z. B. in Kinesis Data Streams oder in Managed Service für Kafka) so konfiguriert ist, dass Daten beibehalten werden, bis die Stream-Bereitstellung fortgesetzt wird und die Daten an das Ziel übermittelt werden. Wenn die Quelle DirectPUT ist, speichert Firehose Daten 24 Stunden lang. Es kann zu Datenverlusten kommen, wenn Sie den Stream nicht fortsetzen und die Daten nicht vor Ablauf der Datenaufbewahrungsfrist bereitstellen.

Fortsetzen eines Firehose-Bereitstellungsdatenstroms

Um die Bereitstellung fortzusetzen, machen Sie zuerst die zuvor am Stream-Ziel vorgenommene Änderung rückgängig, indem Sie das Ziel aktivieren und sicherstellen, dass Firehose über die Berechtigungen verfügt, den Stream an das Ziel zu liefern. Machen Sie als Nächstes die zuvor vorgenommenen Änderungen an den Berechtigungen rückgängig, die auf den S3-Bucket angewendet wurden, um fehlgeschlagene Lieferungen zu sichern. Wenden Sie die "Effect": "Allow"-Berechtigung für die s3:PutObject-Aktion an und entfernen Sie die "Effect": "Deny"-Berechtigung für die s3:PutObject-Aktion für den S3-Bucket, der für die Sicherung fehlgeschlagener Lieferungen verwendet wird. Überwachen Sie abschließend mithilfe von CloudWatch Metriken für Firehose, ob der Stream an das Ziel übermittelt wird. Verwenden Sie die Amazon- CloudWatch Logs-Überwachung für Firehose, um Fehler anzuzeigen und zu beheben.