2011-01-10 24 views
25

Spero che questa domanda non è troppo rudimentale, ma sono confuso ...Data di scadenza Amazon S3?

Nella documentazione S3 ho letto:

Tutte le richieste HTTP avere una scadenza parametro che consente di impostare come lungo la query sarà valida. Per esempio , è possibile configurare una grafica della pagina Web scaduta dopo un periodo di tempo molto lungo o un download del software per una durata di 24 ore.

Per un oggetto di dati accessibile al pubblico (file), questo significa che l'oggetto di dati (file) in sé non sarà più valido, o che il browser sarà semplicemente ri-cache l'oggetto dopo la data di scadenza. Come in, perderò i miei dati dopo dieci anni se avessi impostato le mie scadenze così a lungo? O se ho impostato un download per 24 ore, è andato/inaccessibile oltre?

Cosa succede se non imposto una data di scadenza?

risposta

40

Credo che ti riferisca agli URL firmati per i dati privati ​​memorizzati su Amazon S3.

Se i file sono accessibili al pubblico si può accedere con un semplice URL del file:

esempio http://s3.amazonaws.com/[bucket]/[key]

Tuttavia, essi possono essere impostati a private, nel qual caso è necessario fornire un signed url per l'accesso il file. Questo URL viene creato utilizzando le tue chiavi pubbliche e segrete e questo URL che ha una scadenza. ad esempio

http://[bucket].s3.amazonaws.com/[key]?AWSAccessKeyId=[AWS_Public_Key]&Expires=1294766482&Signature=[generated_hash] 

Secondo la vostra domanda, per la grafica web, si potrebbe riutilizzare lo stesso URL generato con il tempo di scadenza impostato lontano nel futuro in modo che i browser possono memorizzare nella cache il file, mentre per i download file che desideri probabilmente creerai un nuovo URL per ogni richiesta con l'url impostato in scadenza solo un giorno prima per proteggere i tuoi dati.

Questo NON scade/elimina/rimuove i dati memorizzati su S3. Influisce solo sull'URL del file e puoi generare tanti url con date di scadenza diverse a seconda delle tue esigenze.

+1

È inoltre possibile invalidare tutti gli URL che puntano a un oggetto su S3 rinominando, spostando o eliminando l'oggetto. Questo è abbastanza ovvio una volta capito che gli URL che fai sono proprio questo: puntano a un file sul tuo account S3 e Amazon non sa nemmeno quando ne fai uno: non hai bisogno di una connessione internet per creare un URL firmato. –