

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.

# Erstellen eines HTML-Formulars (mit AWS Signatur (Version 4)
<a name="sigv4-HTTPPOSTForms"></a>

**Topics**
+ [HTML-Formulardeklaration](#HTTPPOSTFormDeclaration)
+ [HTML-Formularfelder](#sigv4-HTTPPOSTFormFields)

Um Benutzern das Hochladen von Inhalten auf Amazon S3 mithilfe ihrer Browser zu ermöglichen (HTTP-POST-Anfragen), verwenden Sie HTML-Formulare. HTML-Formulare bestehen aus einer Formulardeklaration und Formularfeldern. Die Formulardeklaration enthält allgemeine Informationen zu der Anfrage. Die Formularfelder enthalten detaillierte Anforderungsinformationen.

In diesem Abschnitt wird beschrieben, wie Sie HTML-Formulare erstellen. Ein funktionierendes Beispiel für einen browserbasierten Upload mithilfe von HTTP POST und zugehörigen Signaturberechnungen für die Anforderungsauthentifizierung finden Sie unter[Beispiel: Browser-Based Upload mit HTTP POST (Mit AWS Signatur (Version 4)](sigv4-post-example.md).

Das Formular und die Richtlinie müssen UTF-8 codiert sein. Sie können eine UTF-8 Codierung auf das Formular anwenden, indem Sie dies `charset=UTF-8` im `content` Attribut angeben. Das Folgende ist ein Beispiel für die UTF-8 Codierung in der HTML-Überschrift.

```
1. <html>
2.   <head>
3.     ...
4.     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5.     ...
6.   </head>
7.   <body>
```

Es folgt ein Beispiel für die UTF-8 Codierung in einem Anforderungsheader.

```
1. Content-Type: text/html; charset=UTF-8
```

**Anmerkung**  
Die Formulardaten und Grenzen (ohne den Inhalt der Datei) dürfen 20 KB nicht überschreiten.

## HTML-Formulardeklaration
<a name="HTTPPOSTFormDeclaration"></a>

Die HTML-Formulardeklaration hat die folgenden drei Attribute:

 
+ `action`— Die URL, die die Anfrage verarbeitet, die auf die URL des Buckets gesetzt werden muss. Wenn der Name Ihres Buckets beispielsweise lautet`examplebucket`, lautet die URL`http://examplebucket.s3.amazonaws.com/`.
**Anmerkung**  
Der Schlüsselname wird in einem Formularfeld angegeben.
+  `method`— Die Methode muss POST sein.
+  `enctype`— Der Gehäusetyp (`enctype`) muss sowohl für Datei-Uploads als auch für Textbereichs-Uploads auf multipart/form -data gesetzt sein. Weitere Informationen dazu finden Sie unter RFC `enctype` 1867. [http://www.ietf.org/rfc/rfc1867.txt](http://www.ietf.org/rfc/rfc1867.txt)

Dies ist eine Formulardeklaration für den Bucket. `examplebucket`

```
1. <form action="http://examplebucket.s3.amazonaws.com/" method="post"
2. 
3. enctype="multipart/form-data">
```

## HTML-Formularfelder
<a name="sigv4-HTTPPOSTFormFields"></a>

Die folgende Tabelle beschreibt eine Liste von Feldern, die Sie in einem Formular verwenden können. Neben anderen Feldern gibt es ein Signaturfeld, das Sie zur Authentifizierung von Anfragen verwenden können. Es gibt Felder, in denen Sie den Algorithmus für die Signaturberechnung (`x-amz-algorithm`), den Umfang der Anmeldeinformationen (`x-amz-credential`), den Sie zur Generierung des Signaturschlüssels verwendet haben, und das Datum (`x-amz-date`), das zur Berechnung der Signatur verwendet wurde, angeben können. Amazon S3 verwendet diese Informationen, um die Signatur neu zu erstellen. Wenn die Signaturen übereinstimmen, verarbeitet Amazon S3 die Anfrage.

**Anmerkung**  
Die Variable `${filename}` wird automatisch durch den Namen der Datei ersetzt, den der Benutzer bereitstellt, und der von allen Formularfeldern anerkannt wird. Wenn der Browser oder Client einen vollständigen oder teilweisen Pfad zur Datei bereitstellt, wird nur der Text verwendet, der auf den letzten Schrägstrich (/) oder Backslash (\\) folgt (`C:\Program Files\directory1\file.txt`wird beispielsweise als interpretiert). `file.txt` Wenn keine Datei bzw. kein Dateiname angegeben ist, wird die Variable durch eine leere Zeichenfolge ersetzt.

Wenn Sie keine Elemente angeben, die für authentifizierte Anfragen erforderlich sind, wie z. B. das `policy` Element, wird davon ausgegangen, dass die Anfrage anonym ist und nur dann erfolgreich ist, wenn Sie den Bucket für öffentliches Lesen und Schreiben konfiguriert haben. 


| Elementname | Description | Erforderlich | 
| --- | --- | --- | 
| acl | Eine Amazon-S3-Zugriffskontrollliste (ACL). Wenn eine ungültige ACL angegeben ist, lehnt Amazon S3 die Anfrage ab. Weitere Informationen zu ACLs finden Sie unter Amazon S3-ACLs [ verwenden. ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3_ACLs_UsingACLs.html)<br />Typ: Zeichenfolge<br />Standard: privat<br /> Zulässige Werte: `private \| public-read \| public-read-write \| aws-exec-read \| authenticated-read \| bucket-owner-read \| bucket-owner-full-control `  | Nein | 
| Cache-Control`Content-Type`<br />`Content-Disposition`<br />`Content-Encoding`<br />`Expires` | REST-specific Header. Weitere Informationen finden Sie unter [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html). | Nein | 
| key | Der Schlüsselname des hochgeladenen Objekts.<br />Um den vom Benutzer angegebenen Dateinamen zu verwenden, verwenden Sie die Variable $ {filename}. Wenn Sie beispielsweise eine Datei hochladen `photo1.jpg` und `/user/user1/${filename}` als Schlüsselnamen angeben, wird die Datei unter gespeichert`/user/user1/photo1.jpg`.<br />Weitere Informationen finden Sie unter [ Objektschlüssel und Metadaten ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html) im * Amazon Simple Storage Service-Benutzerhandbuch*. | Ja | 
| policy | Die Base64-kodierte Sicherheitsrichtlinie, die beschreibt, was in der Anfrage zulässig ist. Für authentifizierte Anfragen ist eine Richtlinie erforderlich. <br />Anfragen ohne Sicherheitsrichtlinie werden als anonym betrachtet und sind nur in einem öffentlich beschreibbaren Bucket erfolgreich.  | Erforderlich für authentifizierte Anfragen | 
| success\_action\_redirect | Die URL, zu der der Client nach einem erfolgreichen Upload umgeleitet wird.<br />Wenn nicht angegeben `success_action_redirect` ist oder Amazon S3 die URL nicht interpretieren kann, gibt Amazon S3 den leeren Dokumenttyp zurück, der im `success_action_status` Feld angegeben ist.<br />Schlägt der Upload fehl, gibt Amazon S3 einen Fehler zurück und leitet den Benutzer nicht zu einer anderen URL weiter.<br /> | Nein | 
| success\_action\_status | Der Statuscode, der nach erfolgreichem Upload an den Client zurückgegeben `success_action_redirect` wird, falls nicht angegeben.<br />Gültige Werte sind `200``201`, oder `204` (Standard).<br />Wenn der Wert auf 200 oder 204 festgelegt ist, gibt Amazon S3 ein leeres Dokument mit dem angegebenen Statuscode zurück.<br />Wenn der Wert auf 201 gesetzt ist, gibt Amazon S3 ein XML-Dokument mit dem Statuscode 201 aus. Informationen zum Inhalt des XML-Dokuments finden Sie unter[POST Object](RESTObjectPOST.md).<br />Wenn der Wert nicht gesetzt oder ungültig ist, gibt Amazon S3 ein leeres Dokument mit einem 204-Statuscode zurück.  Einige Versionen von Adobe Flash Player können HTTP-Antworten ohne Text nicht korrekt bearbeiten. Zur Unterstützung von Uploads über Adobe Flash empfehlen wir, `success_action_status` auf 201 zu setzen.  | Nein | 
| x-amz-algorithm | Der Signaturalgorithmus, der zur Authentifizierung der Anfrage verwendet wird. Für AWS Signature Version 4 lautet `AWS4-HMAC-SHA256` der Wert.<br /> Dies ist ein Pflichtfeld, wenn die Anforderung ein Richtliniendokument beinhaltet. | Erforderlich für authentifizierte Anfragen | 
| x-amz-credential |  Zusätzlich zu Ihrer Zugangsschlüssel-ID enthält dieses Feld auch Bereichsinformationen zur Identifizierung der Region und des Dienstes, für die die Signatur gültig ist. Dies sollte derselbe Bereich sein, den Sie bei der Berechnung des Signaturschlüssels für die Signaturberechnung verwendet haben. <br />Es handelt sich um eine Zeichenfolge der folgenden Form:<br />`{{<your-access-key-id>}}/{{<date>}}/{{<aws-region>}}/{{<aws-service>}}/aws4_request `<br />Beispiel:<br /> ` AKIAIOSFODNN7EXAMPLE/20130728/us-east-1/s3/aws4_request` ` `<br />  Für Amazon S3 lautet die   AWS-Service-Zeichenfolge. s3 Eine Liste der Amazon aws-region S3-Zeichenfolgen finden Sie unter [ Regionen und Endpunkte ](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) im. Allgemeine AWS-Referenz Dies ist erforderlich, wenn der Anfrage ein Richtliniendokument beigefügt ist. | Erforderlich für authentifizierte Anfragen | 
| x-amz-date | Es ist der Datumswert im ISO8601-Format. Beispiel, `20130728T000000Z`. <br />Es ist dasselbe Datum, das Sie bei der Erstellung des Signaturschlüssels verwendet haben (z. B. 20130728). Dies muss auch derselbe Wert sein, den Sie in der Richtlinie (`x-amz-date`) angeben, die Sie signiert haben. <br />Dies ist erforderlich, wenn der Anfrage ein Richtliniendokument beigefügt ist. | Erforderlich für authentifizierte Anfragen | 
| x-amz-security-token | Ein von Amazon verwendetes Sicherheitstoken DevPay und Anmeldeinformationen für die Sitzung<br /> Wenn die Anfrage Amazon verwendet DevPay, sind zwei `x-amz-security-token` Formularfelder erforderlich: eines für das Produkt-Token und eines für das Benutzer-Token. Weitere Informationen finden Sie unter [ Verwenden DevPay ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingDevPay.html) im * Amazon Simple Storage Service-Benutzerhandbuch*.<br />Wenn für die Anfrage Sitzungsanmeldedaten verwendet werden, ist ein `x-amz-security-token` Formular erforderlich. Weitere Informationen finden Sie unter [Anfordern von temporären Sicherheitsanmeldeinformationen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) im *-IAM-Benutzerhandbuch*. | Nein | 
| x-amz-signature | (AWS Signaturversion 4) Der HMAC-SHA256 Hash der Sicherheitsrichtlinie. <br /> Dies ist ein Pflichtfeld, wenn die Anforderung ein Richtliniendokument beinhaltet. | Erforderlich für authentifizierte Anfragen | 
| x-amz-meta-\* | Feldnamen, die mit diesem Präfix beginnen, sind benutzerdefinierte Metadaten. Jeder wird gespeichert und als Satz von Schlüssel-Wert-Paaren zurückgegeben. Amazon S3 validiert oder interpretiert keine benutzerdefinierten Metadaten. Weitere Informationen finden Sie unter [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html). | Nein | 
| x-amz-\* | Weitere `x-amz-*` Header finden Sie unter POST-Objekt ()[POST Object](RESTObjectPOST.md). | Nein | 
| file | Datei oder Textinhalt. <br />Die Datei oder der Inhalt muss das letzte Feld des Formulars sein.<br />Sie können nicht mehr als eine Datei zur gleichen Zeit hochladen. | Ja | 

Bedingte Elemente sind für authentifizierte Anfragen erforderlich und für anonyme Anfragen optional. 

Nachdem Sie nun wissen, wie Formulare erstellt werden, können Sie als Nächstes eine Sicherheitsrichtlinie erstellen, die Sie signieren können. Weitere Informationen finden Sie unter [POST-Richtlinie](sigv4-HTTPPOSTConstructPolicy.md).