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)
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 unterBeispiel: Browser-Based Upload mit HTTP POST (Mit AWS Signatur (Version 4).
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.
<html> <head> ... <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> ... </head> <body>
Es folgt ein Beispiel für die UTF-8 Codierung in einem Anforderungsheader.
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
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 lautetexamplebucket, lautet die URLhttp://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 RFCenctype1867. http://www.ietf.org/rfc/rfc1867.txt
Dies ist eine Formulardeklaration für den Bucket. examplebucket
<form action="http://examplebucket.s3.amazonaws.com/" method="post" enctype="multipart/form-data">
HTML-Formularfelder
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.txtwird 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. Typ: Zeichenfolge Standard: privat Zulässige Werte: |
Nein |
Cache-Control
|
REST-specific Header. Weitere Informationen finden Sie unter PutObject. |
Nein |
key |
Der Schlüsselname des hochgeladenen Objekts. Um den vom Benutzer angegebenen Dateinamen zu verwenden, verwenden Sie die Variable $ {filename}. Wenn Sie beispielsweise eine Datei hochladen Weitere Informationen finden Sie unter Objektschlüssel und Metadaten 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. 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. Wenn nicht angegeben Schlägt der Upload fehl, gibt Amazon S3 einen Fehler zurück und leitet den Benutzer nicht zu einer anderen URL weiter. |
Nein |
success_action_status |
Der Statuscode, der nach erfolgreichem Upload an den Client zurückgegeben Gültige Werte sind Wenn der Wert auf 200 oder 204 festgelegt ist, gibt Amazon S3 ein leeres Dokument mit dem angegebenen Statuscode zurück. 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 unterPOST Object. Wenn der Wert nicht gesetzt oder ungültig ist, gibt Amazon S3 ein leeres Dokument mit einem 204-Statuscode zurück. AnmerkungEinige Versionen von Adobe Flash Player können HTTP-Antworten ohne Text nicht korrekt bearbeiten. Zur Unterstützung von Uploads über Adobe Flash empfehlen wir, |
Nein |
x-amz-algorithm |
Der Signaturalgorithmus, der zur Authentifizierung der Anfrage verwendet wird. Für AWS Signature Version 4 lautet 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. Es handelt sich um eine Zeichenfolge der folgenden Form:
Beispiel:
Für Amazon S3 lautet die AWS-Service-Zeichenfolge. s3 Eine Liste der Amazon aws-region S3-Zeichenfolgen finden Sie unter Regionen und Endpunkte 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, 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 ( 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 Wenn die Anfrage Amazon verwendet DevPay, sind zwei Wenn für die Anfrage Sitzungsanmeldedaten verwendet werden, ist ein |
Nein |
x-amz-signature |
(AWS Signaturversion 4) Der HMAC-SHA256 Hash der Sicherheitsrichtlinie. 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. |
Nein |
x-amz-* |
Weitere |
Nein |
file |
Datei oder Textinhalt. Die Datei oder der Inhalt muss das letzte Feld des Formulars sein. 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.