2012-01-18 102 views
13

是否有可能在Amazon S3上使用任意命名來定製標題?Amazon S3上的自定義標題

例如,我使用指向Amazon S3的CDN作爲原始服務器,並且爲了啓用CDN上的高級功能,我需要使用自定義標頭「x-something-something」...

我發現可以用「x-amz-meta-(something)」來做到這一點,但是如果沒有amz,那麼更像「x-(something) - (something)」的東西呢?

Amazon S3 custom headers

+0

你不能用這種方式添加頭文件來完成什麼? – Kekoa 2012-01-18 21:10:39

回答

11

我不認爲這是可能與他們的current API。它們涵蓋了緩存和瀏覽器互操作所需的主要標題。

我認爲他們是安全的,只允許x-amz-meta-前綴自定義標題,可能會保持與用戶選擇的標題在未來更新api時發生衝突。

如果您需要附加到您的對象的自定義屬性,解析出您的客戶端應用程序中的x-amz-meta-應該是微不足道的。

+5

如果您控制客戶端應用程序「微不足道」......但是如果它是某個第三方,它並不是那麼簡單! – Jeff 2012-06-22 17:23:52

+1

@Jeff我想如果你不直接訪問AWS,你會對任何你使用的限制感到滿意。 – Kekoa 2012-06-22 18:01:32

+0

謝謝,我想知道爲什麼我不能自己設置自定義標題。 'x-amz-meta-'prefix的確的確如此(亞馬遜的記錄很糟糕)。 – Frederic 2014-09-22 15:19:58

0

我能用s3cmd tool實現這個功能。我寫了同步我使用的AWS客戶端工具--cache-control參數靜態網站,然後手動重新啓動它,並增加了一些其它的頭幾個特定的​​文件同步腳本:

CD/appropriatedirectory

#刪除當前網站
AWS S3 RM S3:// yourbucket --recursive --exclude '日誌/ *'

#上傳新的網站,緩存標頭設爲1個月的所有文件
AWS S3同步。 s3:// yourbucket --exclude'.idea/*'--exclude'.git/*'--exclude'.gitignore'--cache-control max-age = 2592000

#覆蓋緩存頭某些文件
python/pathToS3cmd/s3cmd modify --add-header =「Cache-Control:no-cache,no-store,must-revalidate」s3://yourbucket/somefile.html
python/pathToS3cmd/s3cmd/s3cmd modify --add-header =「Expires:0」s3://yourbucket/somefile.html
python/pathToS3cmd/s3cmd/s3cmd modify --add-header =「Pragma:no-cache」s3:// yourbucket /somefile.html

+0

這有一些無用的日誌,IntelliJ和Git文件。我把它作爲實用同步腳本的一個有希望的例子。 – 2017-09-22 18:38:26