本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立物件索引鍵名稱
物件索引鍵 (或索引鍵名稱) 可在 Amazon S3 儲存貯體中找出獨一的物件。物件中繼資料是一組名稱/值對。如需物件中繼資料的詳細資訊,請參閱「使用物件中繼資料」。
建立物件時,您可以指定能在儲存貯體中找出獨一物件的金鑰名稱。例如,在 Amazon S3 主控台
注意
virtual-hosted-style 請求不支援值為「soap」的物件索引鍵名稱。對於使用「soap」的對象鍵名稱值,URL必須使用路徑樣式來代替。
Amazon S3 資料模型是單層式結構:您建立儲存貯體,儲存貯體存放物件。子儲存貯體或子資料夾沒有階層。但您可以仿照 Amazon S3 主控台的做法,使用金鑰名稱字首以及分隔符號來推斷邏輯階層。Amazon S3 主控台支援資料夾的概念。如需如何從 Amazon S3 主控台編輯中繼資料的詳細資訊,請參閱「在 Amazon S3 主控台中編輯物件中繼資料」。
假設您的儲存貯體 (admin-created
) 具有四個物件,其物件金鑰如下:
Development/Projects.xls
Finance/statement1.pdf
Private/taxdocument.pdf
s3-dg.pdf
主控台會使用索引鍵名稱字首 (Development/
、Finance/
和 Private/
) 以及分隔符號 ('/'),來呈現資料夾結構。s3-dg.pdf
金鑰沒有字首,因此會直接在儲存貯體的根層級中顯示其物件。如果開啟 Development/
資料夾,會看到其中內含 Projects.xlsx
物件。
Amazon S3 支援儲存貯體與物件,且沒有任何階層。不過,Amazon S3 主控台和物件金鑰名稱中使用前置字元和分隔符號 AWS SDKs可以推斷階層並引入資料夾的概念。
Amazon S3 主控台會透過資料夾前綴和分隔符號值作為金鑰建立零位元組物件,以實作資料夾物件的建立。這些資料夾物件不會出現在主控台中,否則,它們的行為就像任何其他物件一樣,可以透過RESTAPI AWS CLI、和進行檢視和 AWS SDKs操作。
物件索引鍵命名準則
您可以在物件索引鍵名稱中使用任何 UTF -8 個字元。但是,在索引鍵名稱中使用特定字元可能對某些應用程式和通訊協定造成問題。下列準則可協助您最大程度地遵DNS循 Web 安全字元、XML剖析器和其他項目。APIs
安全字元
下列字元集通常可安心用於索引鍵名稱中。
英數字元 |
|
特殊字元 |
|
有效的物件金鑰名稱範例如下:
-
4my-organization
-
my.great_photos-2014/jan/myvacation.jpg
-
videos/2014/birthday/video1.wmv
注意
使用 Amazon S3 主控台下載的金鑰名稱以句點「.」結尾的物件,該句點「.」會從下載物件的金鑰名稱中移除。若要下載保留在下載物件中的金鑰名稱以句點「.」結尾的物件,您必須使用 AWS Command Line Interface (AWS CLI) AWS SDKs、或RESTAPI。
此外,也請注意以下字首限制:
-
字首為「./」的物件必須使用 AWS Command Line Interface (AWS CLI)、 AWS SDKs或來上載或RESTAPI下載。您無法使用 Amazon S3 主控台。
-
字首為 "../" 的物件無法使用 AWS Command Line Interface (AWS CLI) 或 Amazon S3 主控台上傳。
可能需要特殊處理的字元
金鑰名稱中的下列字元可能需要額外的程式碼處理,而且可能需要URL編碼或參照為HEX。其中一部分是您的瀏覽器可能無法處理的不可列印字元,這些字元也需要特殊處理:
-
& 符號
-
貨幣符號 ("$")
-
ASCII字元範圍介於 00—1 樓的十六進位 (0 至 31 個十進位數) 和 7F (十進位 127 位數)
-
@ 符號
-
等號 ("=")
-
分號 (";")
-
正斜線 ("/")
-
冒號 (":")
-
加號 ("+")
-
空格 - 在某些情況下,可能會遺失大量連續空格 (特別是多個空格)
-
逗號 (",")
-
問號 ("?")
需要避免的字元
我們建議您不要在金鑰名稱中使用下列字元,因為重要的特殊字元處理方式在所有應用程式中都不一致。
-
反斜線 ("\")
-
左大括弧 ("{")
-
不可列印的ASCII字元 (128 至 255 個十進位字元)
-
插入號 ("^")
-
右大括弧 ("}")
-
百分比字元 ("%")
-
重音符號/反引號 ("`")
-
右方括號 ("]")
-
問號
-
「大於」符號 (">")
-
左方括號 ("[")
-
波狀符號 ("~")
-
「小於」符號 ("<")
-
井字號 ("#")
-
垂直分隔號/縱線字元 ("|")
XML相關物件索引鍵約束
正如 end-of-line 處理XML標準所指定的
' 作為
'
” 作為
"
& 作為
&
< 作為
<
> 作為
>
\r 作為
或
\n 作為
或

下列範例說明如何使用XML實體程式碼做為歸位字元的取代。此 DeleteObjects
請求刪除具有 key
參數的物件:/some/prefix/objectwith\rcarriagereturn
(其中 \r 是歸位字元)。
<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Object> <Key>/some/prefix/objectwith carriagereturn</Key> </Object> </Delete>