本頁討論與物件一起儲存在 Cloud Storage 的中繼資料欄位。要瞭解如何查看及設定物件中繼資料,請參閱查看及編輯物件中繼資料一文。
簡介
儲存在 Cloud Storage 的物件具有相關聯的「中繼資料」。中繼資料可用來識別物件的屬性,還可以指定存取物件時應該如何處理物件。中繼資料以「鍵:值組合」的形式存在。舉例來說,物件的儲存空間級別由中繼資料項目「storageClass:STANDARD
」表示。其中 storageClass
就是中繼資料的「鍵」,而所有的物件都會有這樣一個相關聯的鍵。STANDARD
則指定這個特定物件具有的「值」,這個值會隨物件的不同而異。
中繼資料的易變性也不盡相同;有些中繼資料可以隨時編輯,有些中繼資料只能在建立物件時設定,而有些中繼資料只能查看。例如,您隨時可以編輯 Cache-Control
中繼資料的值,但只能在建立或重寫物件時指派 storageClass
中繼資料,也不能直接編輯 generation
中繼資料的值,不過 generation
的值會在覆寫物件時改變。
可編輯的中繼資料
使用者可變更的物件中繼資料有兩種:
固定鍵中繼資料:雖已設定鍵、但可指定值的中繼資料。
自訂中繼資料:藉由同時指定鍵及與此鍵關聯的值而新增的中繼資料。
編輯中繼資料時,通常應避免使用非 ASCII 字元,因為這些字元不適用於 XML API 所使用的 HTTP 標頭。使用 XML API 時,要求網址和 HTTP 標頭加起來的大小也不能超過 16 KB,因此中繼資料的總大小也應該考量到這個限值。
固定鍵中繼資料
您可以編輯物件的下列中繼資料,但必須有對應的足夠權限:
存取權控管中繼資料
Cloud Storage 使用身分與存取權管理 (IAM) 和存取控制清單 (ACL) 來控管物件的存取權。請透過這些連結,瞭解這些存取權控管方法及關聯的中繼資料。
快取控制
Cache-Control
中繼資料可指定從 Cloud Storage 提供資料方法的兩種思考方向:是否可快取資料,以及是否可轉換資料。
快取資料
Cache-Control
中繼資料可讓您控制是否允許瀏覽器和網際網路快取功能快取您的物件,以及允許多久的時間,如此可用於滿足日後的要求。Cache-Control
僅在存取下列對象時適用:
將 Cache-Control
的值設為 public
表示物件可以在任何地方快取。將值設為 private
表示物件可以快取至要求者的本機快取中。將值設為 no-cache
表示可以快取該物件,但是除非先經 Cloud Storage 驗證,否則該物件不能用於滿足將來的要求。
您也可以將 max-age=[TIME_IN_SECONDS]
的值新增至 Cache-Control
中繼資料。max-age
值表示物件在被判定為過時之前可以快取的時間長度。除非是特殊情況,否則快取不會提供過時的物件。
如果適用物件沒有 Cache-Control
中繼資料項目,Cloud Storage 會在提供物件的回應中使用 public, max-age=3600
預設值。
如果您允許快取,下載內容可能會繼續接收物件的較舊版本,即使較新版本已經上傳。這是因為較舊的版本會在快取中保持「新鮮」一段時間 (取決於 max-age
)。此外,由於可在網際網路上的各種位置快取物件,因此沒有方法可強制快取過的物件在全球過期。如果您想要避免提供公開可讀物件的快取版本,請在物件上設定 Cache-Control:no-cache, max-age=0
。
轉換資料
Cache-Control
中繼資料也可讓您在儲存物件時提供物件,而不套用任何轉換至資料,例如:針對不相容的用戶端移除 gzip content-encoding。如要提供原狀的物件,請設定 Cache-Control:no-transform
。
內容配置
Content-Disposition
中繼資料指定轉換中資料的呈現資訊。設定 Content-Disposition
可讓您控制內容的呈現風格,例如決定是否應自動顯示附件,還是應該要求使用者執行某些動作來開啟該附件。如需 Content-Disposition
規格,請參閱 https://tools.ietf.org/html/rfc6266。
內容編碼
Content-Encoding
中繼資料可用來表示物件已經過壓縮,同時仍保有物件的基礎 Content-Type
。例如,以 gzip 壓縮的文字檔,可在 Content-Type
中指出它是文字檔,以及在 Content-Encoding
中指出它是使用 gzip 壓縮的。您應確保檔案確實使用指定的 Content-Encoding
進行壓縮,再更新檔案,否則嘗試下載物件時可能會發生非預期的行為。詳情請參閱轉碼頁面。
對於可壓縮的內容如文字等,使用 Content-Encoding: gzip
可節省網路和儲存費用,並可改善內容提供效能。但是對於本身已經壓縮的內容,如封存和許多媒體格式等,如將其他壓縮層級套用到這類內容並在 Content-Encoding
中繼資料中標示,通常不利於物件大小和效能,因此應該避免。
內容語言
Content-Language
中繼資料表示物件主要用於哪些語言。請參閱 ISO 639-1 語言代碼,瞭解這類中繼資料支援的值。
內容類型
最常設定的中繼資料是 Content-Type
(也稱為媒體類型),可讓瀏覽器正確轉譯物件。所有物件都會在自己的 Content-Type
中繼資料指定值,但這個值無需與物件的基礎類型相符。例如,如果 Content-Type
不是由上傳者指定並且無法確定,則根據上傳物件的方式設為 application/octet-stream
或application/x-www-form-urlencoded
。如需有效內容類型的清單,請參閱 IANA 媒體類型頁面。
自訂中繼資料
自訂中繼資料指的是可新增及移除的中繼資料。如要建立自訂中繼資料,請指定值和鍵。建立自訂中繼資料 key:value
組合後,您可以刪除鍵或變更值。
查看及編輯中繼資料頁面提供設定自訂中繼資料的相關資訊,請注意,使用自訂中繼資料會產生儲存和網路費用。
不能編輯的中繼資料
有些中繼資料無法直接編輯,這種中繼資料會在建立或重寫物件時設定。在建立或重寫物件的過程中,您可以設定這類的中繼資料,例如:物件的儲存空間級別或客戶提供的加密金鑰。有些中繼資料會自動新增且只能查看,像是物件的產生編號或建立時間。