

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.

# Verstehen Sie benutzerdefinierte Präfixe für Amazon S3 S3-Objekte
<a name="s3-prefixes"></a>

Objekte, die an Amazon S3 geliefert werden, folgen dem [Namensformat](https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#s3-object-namekey) von <evaluated prefix><suffix>. Sie können Ihr benutzerdefiniertes Präfix angeben, das Ausdrücke enthält, die zur Laufzeit ausgewertet werden. Das von Ihnen angegebene benutzerdefinierte Präfix überschreibt das Standardpräfix von`yyyy/MM/dd/HH`.

Sie können Ausdrücke der folgenden Formen in Ihrem benutzerdefinierten Präfix verwenden: `!{namespace:value}`, wobei `namespace` einer von den beiden sein kann, wie in den folgenden Abschnitten erläutert.
+  `firehose` 
+ `timestamp`
+ `partitionKeyFromQuery`
+ `partitionKeyFromLambda`

Wenn ein Präfix mit einem Schrägstrich endet, wird es als Ordner im Amazon-S3-Bucket angezeigt. Weitere Informationen finden Sie unter [Amazon S3 Object Name Format](https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#s3-object-name) im *Amazon Data FirehoseDeveloper Guide*.

## Namespace `timestamp`
<a name="timestamp-namespace"></a>

Gültige Werte für diesen Namespace sind Zeichenketten, die gültige [ DateTimeFormatterJava-Zeichenketten](https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html) sind. Beispiel: Im Jahr 2018 wird der Ausdruck `!{timestamp:yyyy}` als `2018` ausgewertet. 

Bei der Auswertung von Zeitstempeln verwendet Firehose den ungefähren Ankunftszeitstempel des ältesten Datensatzes, der in dem zu schreibenden Amazon S3 S3-Objekt enthalten ist. 

Standardmäßig ist der Zeitstempel in UTC. Sie können jedoch eine Zeitzone angeben, die Sie bevorzugen. Sie können die Zeitzone beispielsweise in der AWS-Managementkonsole oder Asia/Tokyo in der API-Parametereinstellung ([CustomTimeZone](https://docs.aws.amazon.com/firehose/latest/APIReference/API_ExtendedS3DestinationConfiguration.html)) so konfigurieren, wenn Sie Japan Standard Time anstelle von UTC verwenden möchten. Eine Liste der unterstützten Zeitzonen finden Sie unter [Amazon S3 Object Name Format](https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#s3-object-name).

Wenn Sie den Namespace `timestamp` mehr als einmal in demselben Präfixausdruck verwenden, werden alle Instances mit demselben Zeitpunkt ausgewertet.

## Namespace `firehose`
<a name="firehose-namespace"></a>

Es gibt zwei Werte, die Sie mit diesem Namespace verwenden können: `error-output-type` und `random-string`. In der folgenden Tabelle wird beschrieben, wie Sie diese verwenden.


**Die `firehose`-Namespace-Werte**  

| Konvertierung | Description | Beispieleingabe | Beispielausgabe | Hinweise | 
| --- | --- | --- | --- | --- | 
| error-output-type | Ergibt je nach Konfiguration Ihres Firehose-Streams und der Ursache des Fehlers eine der folgenden Zeichenketten: \$1processing-failed, -failed, AmazonOpenSearchService splunk-failed,,\$1. format-conversion-failed http-endpoint-failedWenn Sie ihn mehr als einmal in demselben Ausdruck verwenden, werden alle Instances als dieselbe Fehlerzeichenfolge ausgewertet. | myPrefix/result=\$1\$1firehose:error-output-type\$1/\$1\$1timestamp:yyyy/MM/dd\$1 | myPrefix/result=processing-failed/2018/08/03 | Der error-output-type Wert kann nur in dem Feld verwendet werden. ErrorOutputPrefix | 
| random-string |  Wird als zufällige Zeichenfolge von 11 Zeichen ausgewertet. Wenn Sie ihn mehr als einmal in demselben Ausdruck verwenden, werden alle Instances als neue zufällige Zeichenfolge ausgewertet.  | myPrefix/\$1\$1firehose:random-string\$1/ | myPrefix/046b6c7f-0b/ | Sie können ihn mit beiden Präfixtypen verwenden.Sie können ihn an den Anfang der Formatzeichenfolge setzen, um ein zufälliges Präfix abzurufen. Dies ist manchmal erforderlich, wenn sie einen extrem hohen Durchsatz mit Amazon S3 erreichen möchten. | 

## `partitionKeyFromLambda`- und `partitionKeyFromQuery`-Namespaces
<a name="dynamic-partitioning-namespaces"></a>

Für die [dynamische Partitionierung](dynamic-partitioning.md) müssen Sie das folgende Ausdrucksformat in Ihrem S3-Bucket-Präfix verwenden: `!{namespace:value}`, wobei Namespace entweder `partitionKeyFromQuery`, `partitionKeyFromLambda` oder beides sein kann. Wenn Sie Inline-Parsing verwenden, um die Partitionierungsschlüssel für Ihre Quelldaten zu erstellen, müssen Sie einen S3-Bucket-Präfixwert angeben, der aus Ausdrücken besteht, die im folgenden Format angegeben sind: `"partitionKeyFromQuery:keyID"`. Wenn Sie AWS -Lambda-Funktion verwenden, um die Partitionierungsschlüssel für Ihre Quelldaten zu erstellen, müssen Sie einen S3-Bucket-Präfixwert angeben, der aus Ausdrücken besteht, die im folgenden Format angegeben sind: `"partitionKeyFromLambda:keyID"`. Weitere Informationen finden Sie unter „Wählen Sie Amazon S3 für Ihr Ziel“ unter [Erstellen eines Amazon Firehose-Streams](basic-create.md#basic-create.title).

## Semantische Regeln
<a name="prefix-rules"></a>

Folgende Regeln gelten für die Ausdrücke `Prefix` und `ErrorOutputPrefix`.
+ Für den Namespace `timestamp` wird jedes Zeichen ausgewertet, das nicht in einfache Anführungszeichen gesetzt ist. Anders ausgedrückt: Alle Zeichenfolgen mit durch Escape-Zeichen geschützten einfachen Anführungszeichen im Wertefeld werden unverändert übernommen.
+ Wenn Sie ein Präfix angeben, das keinen Timestamp-Namespace-Ausdruck enthält, hängt Firehose den Ausdruck an den Wert im `!{timestamp:yyyy/MM/dd/HH/}` Feld an. `Prefix`
+ Die Sequenz `!{` kann nur in `!{namespace:value}`-Ausdrücken angezeigt werden.
+ `ErrorOutputPrefix` kann nur dann Null sein, wenn `Prefix` keine Ausdrücke enthält. In diesem Fall wird `Prefix` als `<specified-prefix>yyyy/MM/DDD/HH/` und `ErrorOutputPrefix` als `<specified-prefix><error-output-type>yyyy/MM/DDD/HH/` ausgewertet. `DDD` repräsentiert den Tag des Jahres.
+ Wenn Sie einen Ausdruck für `ErrorOutputPrefix` angeben, müssen Sie mindestens eine Instance von `!{firehose:error-output-type}` einschließen.
+ `Prefix` kann nicht `!{firehose:error-output-type}` enthalten.
+ Weder `Prefix` noch `ErrorOutputPrefix` können nach der Auswertung länger als 512 Zeichen sein.
+ Wenn das Ziel Amazon Redshift ist, darf `Prefix` keine Ausdrücke enthalten und `ErrorOutputPrefix` muss Null sein.
+ Wenn das Ziel Amazon OpenSearch Service oder Splunk ist und kein Ziel angegeben `ErrorOutputPrefix` ist, verwendet Firehose das `Prefix` Feld für fehlgeschlagene Datensätze. 
+ Wenn das Ziel Amazon S3 ist, werden das `Prefix` und `ErrorOutputPrefix` in der Amazon-S3-Zielkonfiguration für erfolgreiche Datensätze bzw. fehlgeschlagene Datensätze verwendet. Wenn Sie die AWS CLI oder die API verwenden, können Sie mit der `ExtendedS3DestinationConfiguration` eine Amazon-S3-*Backup*-Konfiguration mit einem eigenen `Prefix` und `ErrorOutputPrefix` angeben.
+ Wenn Sie Amazon S3 verwenden AWS-Managementkonsole und das Ziel auf Amazon S3 setzen, verwendet Firehose das `Prefix` und `ErrorOutputPrefix` in der Zielkonfiguration für erfolgreiche bzw. fehlgeschlagene Datensätze. Wenn Sie ein Präfix mithilfe von Ausdrücken angeben, müssen Sie das Fehlerpräfix einschließlich `!{firehose:error-output-type}` angeben.
+ Wenn Sie `ExtendedS3DestinationConfiguration` mit der AWS CLI, der API oder, wenn Sie eine angeben CloudFormation, Firehose verwenden`S3BackupConfiguration`, stellt Firehose keinen Standard `ErrorOutputPrefix` bereit.
+ Sie können beim Erstellen von `partitionKeyFromLambda` Ausdrücken keine `partitionKeyFromQuery` Namespaces verwenden. ErrorOutputPrefix 

## Beispielpräfixe
<a name="s3-prefix-examples"></a>


**Beispiele für `Prefix` und `ErrorOutputPrefix`**  

| Input | Ausgewertetes Präfix (10:30 UTC am 27. August 2018) | 
| --- | --- | 
|  `Prefix`: Nicht angegeben `ErrorOutputPrefix`: `myFirehoseFailures/!{firehose:error-output-type}/`  |  `Prefix`: `2018/08/27/10` `ErrorOutputPrefix`: `myFirehoseFailures/processing-failed/`  | 
|  `Prefix`: `!{timestamp:yyyy/MM/dd}` `ErrorOutputPrefix`: Nicht angegeben  | Ungültige Eingabe: ErrorOutputPrefix kann nicht Null sein, wenn Präfix Ausdrücke enthält | 
|  `Prefix`: `myFirehose/DeliveredYear=!{timestamp:yyyy}/anyMonth/rand=!{firehose:random-string}` `ErrorOutputPrefix`: `myFirehoseFailures/!{firehose:error-output-type}/!{timestamp:yyyy}/anyMonth/!{timestamp:dd}`  |  `Prefix`: `myFirehose/DeliveredYear=2018/anyMonth/rand=5abf82daaa5` `ErrorOutputPrefix`: `myFirehoseFailures/processing-failed/2018/anyMonth/10`  | 
| `Prefix`: `myPrefix/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/` `ErrorOutputPrefix`: `myErrorPrefix/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}`  | `Prefix`: `myPrefix/year=2018/month=07/day=06/hour=23/` `ErrorOutputPrefix`: `myErrorPrefix/year=2018/month=07/day=06/hour=23/processing-failed` | 
|  `Prefix`: `myFirehosePrefix/` `ErrorOutputPrefix`: Nicht angegeben  |  `Prefix`: `myFirehosePrefix/2018/08/27/` `ErrorOutputPrefix`: `myFirehosePrefix/processing-failed/2018/08/27/`  | 