Menamai objek Amazon S3 - Amazon Simple Storage Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menamai objek Amazon S3

Sebuah kunci objek (atau nama kunci) secara unik mengidentifikasi objek dalam sebuah bucket Amazon S3. Saat Anda membuat objek, Anda menentukan nama kunci. Misalnya, di konsol Amazon S3, saat Anda memilih bucket, daftar objek di bucket akan muncul. Nama-nama ini merupakan kunci objek.

Nama kunci objek adalah urutan karakter Unicode dengan pengkodean UTF -8 hingga 1.024 byte. Nama kunci objek peka terhadap huruf besar atau kecil. Bagian berikut akan memberikan batasan pada nama kunci objek dan panduan dalam memilih nama kunci.

catatan

Nama kunci objek dengan nilai “soap” tidak didukung untuk virtual-hosted-style permintaan. Untuk nilai nama kunci objek di mana “sabun” digunakan, gaya jalur URL harus digunakan sebagai gantinya.

Memilih nama kunci objek

Model data Amazon S3 bersifat struktur yang datar: Anda membuat bucket, dan bucket menyimpan objek tersebut. Tidak ada hierarki sub-bucket atau sub-folder. Namun, Anda dapat menyimpulkan hierarki logis dengan menggunakan prefiks dan pembatas nama kunci, seperti yang dilakukan oleh konsol Amazon S3. Konsol Amazon S3 menggunakan konsep folder. Untuk informasi lebih lanjut tentang cara mengedit metadata dari konsol Amazon S3, lihat Mengedit metadata objek di konsol Amazon S3.

Misalnya, bucket Anda (admin-created) memiliki empat objek dengan kunci objek berikut:

Development/Projects.xls

Finance/statement1.pdf

Private/taxdocument.pdf

s3-dg.pdf

Konsol tersebut menggunakan prefiks nama kunci (Development/, Finance/, dan Private/) serta pembatas ('/') untuk menyajikan struktur folder. Kunci s3-dg.pdf tidak memiliki prefiks, sehingga objeknya muncul langsung pada tingkat root bucket. Jika Anda membuka folder Development/, Anda melihat objek Projects.xlsx di dalamnya.

  • Amazon S3 mendukung bucket dan objek, dan tidak memiliki hierarki. Namun, dengan menggunakan awalan dan pembatas dalam nama kunci objek, konsol Amazon S3 dan AWS SDKs dapat menyimpulkan hierarki dan memperkenalkan konsep folder.

  • Konsol Amazon S3 menerapkan pembuatan folder dengan menciptakan objek nol-byte dengan nilai prefiks dan pembatas folder sebagai kuncinya. Objek folder ini tidak akan muncul dalam konsol. Jika tidak, mereka berperilaku seperti objek lain dan dapat dilihat dan dimanipulasi melalui RESTAPI, AWS CLI, dan AWS SDKs.

Panduan penamaan kunci objek

Anda dapat menggunakan karakter UTF -8 apa saja dalam nama kunci objek. Namun, penggunaan karakter tertentu dalam nama kunci dapat menimbulkan masalah pada beberapa aplikasi dan protokol. Panduan berikut membantu Anda memaksimalkan kepatuhan terhadapDNS, karakter web-safe, XML parser, dan lainnya. APIs

Karakter aman

Set karakter berikut umumnya aman untuk digunakan dalam nama kunci.

Karakter alfanumerik
  • 0-9

  • a-z

  • A-Z

Karakter-karakter khusus
  • Tanda seru (!)

  • Tanda hubung (-)

  • Garis bawah (_)

  • Titik (.)

  • Tanda bintang (*)

  • Tanda petik tunggal (')

  • Tanda kurung buka (()

  • Tanda kurung tutup ())

Berikut ini adalah contoh nama kunci objek yang valid:

  • 4my-organization

  • my.great_photos-2014/jan/myvacation.jpg

  • videos/2014/birthday/video1.wmv

catatan

Objek dengan nama kunci yang diakhiri dengan periode "." yang diunduh menggunakan konsol Amazon S3 periode titiknya "." akan dihapus dari nama kunci objek yang diunduh. Untuk mengunduh objek dengan nama kunci yang diakhiri dengan periode “.” disimpan dalam objek yang diunduh, Anda harus menggunakan AWS Command Line Interface (AWS CLI), AWS SDKs, atau RESTAPI.

Selain itu, waspadai batasan prefiks berikut ini:

  • Objek dengan awalan “./” harus diunggah atau diunduh dengan AWS Command Line Interface (AWS CLI),, AWS SDKs atau. REST API Anda tidak bisa menggunakan konsol Amazon S3.

  • Objek dengan prefiks "../" tidak dapat diunggah menggunakan AWS Command Line Interface (AWS CLI) atau konsol Amazon S3.

Karakter yang memerlukan penanganan khusus

Karakter berikut dalam nama kunci mungkin memerlukan penanganan kode tambahan dan kemungkinan perlu URL dikodekan atau direferensikan sebagai. HEX Beberapa dari karakter ini tidak dapat dicetak, dan mungkin tidak dapat ditangani oleh browser Anda, sehingga memerlukan penanganan khusus:

  • Ampersand ("&")

  • Dolar ("$")

  • ASCIIrentang karakter 00—1F hex (0—31 desimal) dan 7F (127 desimal)

  • Simbol 'At' ("@")

  • Tanda sama dengan ("=")

  • Titik koma (";")

  • Garis miring ("/")

  • Titik dua (":")

  • Plus ("+")

  • Spasi–Urutan spasi yang signifikan dapat dihilangkan dalam beberapa penggunaan (khususnya spasi ganda)

  • Tanda koma (",")

  • Tanda tanya ("?")

Karakter-karakter yang harus dihindari

Kami menyarankan Anda untuk tidak menggunakan karakter berikut dalam nama kunci karena penanganan karakter khusus yang signifikan, yang tidak konsisten di semua aplikasi.

  • Garis miring terbalik ("\")

  • Kurung kurawal buka ("{")

  • Karakter yang tidak dapat dicetak (ASCII128—255 karakter desimal)

  • Tanda pangkat ("^")

  • Kurung kurawal tutup ("}")

  • Karakter persen ("%")

  • Aksen nontirus / back tick ("`")

  • Kurung siku tutup ("]")

  • Tanda petik

  • Simbol 'Lebih Besar Dari' (">")

  • Kurung siku buka ("[")

  • Tanda ekuivalen ("~")

  • Simbol 'Kurang Dari' ("<")

  • Karakter 'Pound' ("#")

  • Bar vertikal / pipa ("|")

Sebagaimana ditentukan oleh XMLstandar end-of-line penanganan, semua XML teks dinormalisasi sedemikian rupa sehingga pengembalian carriage tunggal (ASCIIkode 13) dan carriage return segera diikuti oleh umpan baris (ASCIIkode 10) diganti dengan karakter umpan baris tunggal. Untuk memastikan penguraian kunci objek yang benar dalam XML permintaan, pengembalian carriage dan karakter khusus lainnya harus diganti dengan kode XML entitas yang setara ketika dimasukkan ke dalam XML tag. Berikut ini adalah daftar karakter khusus tersebut, serta kode entitas yang setara:

  • ' sebagai &apos;

  • ” sebagai &quot;

  • & sebagai &amp;

  • < sebagai &lt;

  • > sebagai &gt;

  • \r sebagai &#13; atau &#x0D;

  • \n sebagai &#10; atau &#x0A;

Contoh berikut menggambarkan penggunaan kode XML entitas sebagai substitusi untuk carriage return. Permintaan DeleteObjects ini menghapus sebuah objek dengan parameter key: /some/prefix/objectwith\rcarriagereturn (di mana \r adalah kembali ke awal).

<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Object> <Key>/some/prefix/objectwith&#13;carriagereturn</Key> </Object> </Delete>