Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Creazione di un modulo HTML (utilizzando AWS Signature (versione 4)
Per consentire agli utenti di caricare contenuti su Amazon S3 utilizzando i loro browser (richieste HTTP POST), utilizzi i moduli HTML. I moduli HTML si compongono di una dichiarazione del modulo e di campi del modulo. La dichiarazione del modulo contiene informazioni generali sulla richiesta. I campi del modulo contengono informazioni dettagliate sulla richiesta.
Questa sezione descrive come creare moduli HTML. Per un esempio funzionante di caricamento basato su browser tramite HTTP POST e relativi calcoli delle firme per l'autenticazione delle richieste, vedere. Esempio: Browser-Based caricamento tramite HTTP POST (utilizzando AWS Signature (versione 4)
Il modulo e la policy devono essere UTF-8 codificati. È possibile applicare la UTF-8 codifica al modulo specificando charset=UTF-8 nell'attributo. content Di seguito è riportato un esempio di UTF-8 codifica nell'intestazione HTML.
<html> <head> ... <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> ... </head> <body>
Di seguito è riportato un esempio di UTF-8 codifica nell'intestazione di una richiesta.
Content-Type: text/html; charset=UTF-8
Nota
I dati e i limiti del modulo (escluso il contenuto del file) non possono superare i 20 KB.
Dichiarazione del modulo HTML
La dichiarazione del modulo HTML ha i tre attributi seguenti:
-
action— L'URL che elabora la richiesta, che deve essere impostato sull'URL del bucket. Ad esempio, se il nome del bucket èexamplebucket, l'URL è.http://examplebucket.s3.amazonaws.com/Nota
Il nome della chiave è specificato nel campo del modulo.
-
method— Il metodo deve essere POST. -
enctype— Il tipo di allegato (enctype) deve essere impostato su multipart/form -data sia per i caricamenti di file che per i caricamenti in aree di testo. Per ulteriori informazionienctype, vedere RFC 1867. http://www.ietf.org/rfc/rfc1867.txt
Questo è un modulo di dichiarazione per il bucket. examplebucket
<form action="http://examplebucket.s3.amazonaws.com/" method="post" enctype="multipart/form-data">
Campi del modulo HTML
La tabella seguente descrive un elenco di campi che è possibile utilizzare all'interno di un modulo. Tra gli altri campi, c'è un campo per la firma che puoi usare per autenticare le richieste. Sono disponibili campi per specificare l'algoritmo di calcolo della firma (x-amz-algorithm), l'ambito delle credenziali (x-amz-credential) utilizzato per generare la chiave di firma e la data (x-amz-date) utilizzata per calcolare la firma. Amazon S3 utilizza queste informazioni per ricreare la firma. Se le firme corrispondono, Amazon S3 elabora la richiesta.
Nota
La variabile ${filename} viene sostituita automaticamente con il nome del file fornito dall'utente ed è riconosciuta da tutti i campi del modulo. Se il browser o il client fornisce un percorso completo o parziale al file, viene utilizzato solo il testo che segue l'ultima barra (/) o la barra rovesciata (\) (ad esempio, C:\Program
Files\directory1\file.txt viene interpretato come). file.txt Se non vengono forniti file o nomi di file, la variabile viene sostituita con una stringa vuota.
Se non fornisci gli elementi necessari per le richieste autenticate, come l'policyelemento, si presume che la richiesta sia anonima e avrà esito positivo solo se hai configurato il bucket per la lettura e la scrittura pubbliche.
| Nome elemento | Description | Richiesto |
|---|---|---|
acl |
Lista di controllo accessi (ACL) Amazon S3. Se viene specificato un ACL non valido, Amazon S3 rifiuta la richiesta. Per ulteriori informazioni sugli ACL, consulta Utilizzo degli ACL di Amazon S3. Tipo: stringa Default: private Valori validi: |
No |
Cache-Control
|
REST-specific intestazioni. Per ulteriori informazioni, consulta PutObject. |
No |
key |
Il nome della chiave dell'oggetto caricato. Per utilizzare il nome di file fornito dall'utente, usa la variabile $ {filename}. Ad esempio, se carichi un file Per ulteriori informazioni, consulta Object Key and Metadata nella Amazon Simple Storage Service User Guide. |
Sì |
policy |
La politica di sicurezza con codifica base64 che descrive cosa è consentito nella richiesta. Per le richieste autenticate, è richiesta una policy. Le richieste senza una politica di sicurezza sono considerate anonime e avranno esito positivo solo su un bucket scrivibile pubblicamente. |
Richiesto per le richieste autenticate |
success_action_redirect |
L'URL a cui viene reindirizzato il client dopo il corretto caricamento. Se non Se il caricamento non riesce, Amazon S3 restituisce un errore e non reindirizza l'utente a un altro URL. |
No |
success_action_status |
Il codice di stato restituito al client in caso di caricamento riuscito, se non I valori validi sono Se il valore è impostato su 200 o 204, Amazon S3 restituisce un documento vuoto con il codice di stato specificato. Se il valore è impostato su 201, Amazon S3 restituisce un documento XML con codice di stato 201. Per informazioni sul contenuto del documento XML, consultaPOST Object. Se il valore non è impostato o non è valido, Amazon S3 restituisce un documento vuoto con un codice di stato 204. NotaAlcune versioni di Adobe Flash Player non gestiscono correttamente le risposte HTTP con corpo vuoto. Per supportare i caricamenti tramite Adobe Flash, si consiglia di impostare |
No |
x-amz-algorithm |
L'algoritmo di firma utilizzato per autenticare la richiesta. Per AWS Signature Version 4, il valore è Questo campo è obbligatorio se la richiesta include un documento di policy. |
Obbligatorio per le richieste autenticate |
x-amz-credential |
Oltre all'ID della chiave di accesso, questo campo fornisce anche informazioni sull'ambito che identificano la regione e il servizio per i quali la firma è valida. Questo dovrebbe essere lo stesso ambito utilizzato nel calcolo della chiave di firma per il calcolo della firma. È una stringa del seguente formato:
Ad esempio:
Per Amazon S3, la stringa aws-service è. s3 Per un elenco delle aws-region stringhe Amazon S3, consulta Regioni ed endpoint in. Riferimenti generali di AWS Ciò è necessario se nella richiesta è incluso un documento di policy. |
Obbligatorio per le richieste autenticate |
x-amz-date |
È il valore della data in formato ISO8601. Ad esempio, È la stessa data utilizzata per creare la chiave di firma (ad esempio, 20130728). Inoltre, deve essere lo stesso valore fornito nella polizza ( Questo è necessario se nella richiesta è incluso un documento di polizza. |
Obbligatorio per le richieste autenticate |
x-amz-security-token |
Un token di sicurezza utilizzato da Amazon DevPay e le credenziali di sessione Se la richiesta utilizza Amazon DevPay, richiede due campi del Se la richiesta utilizza le credenziali di sessione, richiede un |
No |
x-amz-signature |
(AWS Signature Version 4) L' HMAC-SHA256 hash della politica di sicurezza. Questo campo è obbligatorio se la richiesta include un documento di policy. |
Richiesto per le richieste autenticate |
x-amz-meta-* |
I nomi dei campi che iniziano con questo prefisso sono metadati definiti dall'utente. Ciascuno di essi viene archiviato e restituito come set di coppie chiave-valore. Amazon S3 non convalida né interpreta i metadati definiti dall'utente. Per ulteriori informazioni, consulta PutObject. |
No |
x-amz-* |
Vedi POST Object () per altre intestazioni. POST Object |
No |
file |
File o contenuto di testo. Il file o il contenuto deve essere l'ultimo campo del modulo. Non è possibile caricare più di un file alla volta. |
Sì |
Gli elementi condizionali sono obbligatori per le richieste autenticate e sono opzionali per le richieste anonime.
Ora che sai come creare moduli, puoi creare una politica di sicurezza che puoi firmare. Per ulteriori informazioni, consulta Politica POST.