Daftar Blob
Operasi List Blobs
mengembalikan daftar blob di bawah kontainer yang ditentukan.
Minta
Anda dapat membuat List Blobs
permintaan sebagai berikut. HTTPS disarankan. Ganti myaccount dengan nama akun penyimpanan Anda.
Metode | Meminta URI | Versi HTTP |
---|---|---|
GET |
https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list |
HTTP/1.1 |
URI layanan penyimpanan yang ditimulasi
Saat Anda membuat permintaan terhadap layanan penyimpanan yang ditimulasi, tentukan nama host emulator dan port Azure Blob Storage sebagai 127.0.0.1:10000
, diikuti dengan nama akun penyimpanan yang ditimulasi.
Metode | Meminta URI | Versi HTTP |
---|---|---|
GET |
http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=list |
HTTP/1.1 |
Untuk informasi selengkapnya, lihat Menggunakan emulator Azurite untuk pengembangan Azure Storage lokal.
Parameter URI
Anda dapat menentukan parameter tambahan berikut pada URI.
Parameter | Deskripsi |
---|---|
prefix |
Opsional. Memfilter hasil untuk mengembalikan hanya blob dengan nama yang dimulai dengan awalan yang ditentukan. Dalam akun yang memiliki namespace hierarkis, kesalahan akan terjadi jika nama file muncul di tengah jalur awalan. Misalnya, Anda mungkin mencoba menemukan blob yang diberi nama readmefile.txt dengan menggunakan jalur folder1/folder2/readme/readmefile.txt awalan . Kesalahan akan muncul jika subfolder berisi file bernama readme . |
delimiter |
Pilihan. Ketika permintaan menyertakan parameter ini, operasi mengembalikan BlobPrefix elemen dalam isi respons. Elemen ini bertindak sebagai tempat penampung untuk semua blob dengan nama yang dimulai dengan substring yang sama, hingga tampilan karakter pemisah. Pemisah dapat menjadi karakter tunggal atau string. |
marker |
Pilihan. Nilai string yang mengidentifikasi bagian daftar yang akan dikembalikan dengan operasi daftar berikutnya. Operasi mengembalikan nilai penanda dalam isi respons jika daftar yang dikembalikan tidak selesai. Anda kemudian dapat menggunakan nilai penanda dalam panggilan berikutnya untuk meminta kumpulan item daftar berikutnya. Nilai penanda buram untuk klien. |
maxresults |
Pilihan. Menentukan jumlah maksimum blob yang akan dikembalikan, termasuk semua BlobPrefix elemen. Jika permintaan tidak menentukan maxresults , atau menentukan nilai yang lebih besar dari 5.000, server akan mengembalikan hingga 5.000 item. Jika ada hasil tambahan untuk dikembalikan, layanan mengembalikan token kelanjutan dalam NextMarker elemen respons. Dalam kasus tertentu, layanan mungkin mengembalikan lebih sedikit hasil daripada yang ditentukan oleh maxresults , dan juga mengembalikan token kelanjutan.Pengaturan maxresults ke nilai yang kurang dari atau sama dengan nol menghasilkan kode respons kesalahan 400 (Permintaan Buruk). |
include={snapshots,metadata,uncommittedblobs,copy,deleted,tags,versions, deletedwithversions,immutabilitypolicy,legalhold,permissions} |
Pilihan. Menentukan satu atau beberapa himpunan data untuk disertakan dalam respons: - snapshots : Menentukan bahwa rekam jepret harus disertakan dalam enumerasi. Rekam jepret dicantumkan dari yang terlama hingga terbaru dalam respons.- metadata : Menentukan bahwa metadata blob dikembalikan dalam respons.- uncommittedblobs : Menentukan bahwa blob yang bloknya telah diunggah, tetapi yang belum dilakukan dengan menggunakan Put Block List, disertakan dalam respons.- copy : Versi 2012-02-12 dan yang lebih baru. Menentukan bahwa metadata yang terkait dengan operasi saat ini atau sebelumnya Copy Blob harus disertakan dalam respons.- deleted : Versi 2017-07-29 dan yang lebih baru. Menentukan bahwa blob yang dihapus sementara harus disertakan dalam respons. - tags : Versi 2019-12-12 dan yang lebih baru. Menentukan bahwa tag indeks blob yang ditentukan pengguna harus disertakan dalam respons. - versions : Versi 2019-12-12 dan yang lebih baru. Menentukan bahwa versi blob harus disertakan dalam enumerasi.- deletedwithversions : Versi 2020-10-02 dan yang lebih baru. Menentukan bahwa blob yang dihapus dengan versi apa pun (aktif atau dihapus) harus disertakan dalam respons. Item yang telah Anda hapus secara permanen muncul dalam respons hingga diproses oleh pengumpulan sampah. Gunakan tag \<HasVersionsOnly\> , dan nilai true . - immutabilitypolicy : Versi 2020-06-12 dan yang lebih baru. Menentukan bahwa enumerasi harus menyertakan kebijakan imutabilitas hingga tanggal, dan mode kebijakan imutabilitas blob.- legalhold : Versi 2020-06-12 dan yang lebih baru. Menentukan bahwa enumerasi harus menyertakan penahanan legal blob.- permissions : Versi 2020-06-12 dan yang lebih baru. Hanya didukung untuk akun dengan namespace hierarki diaktifkan. Jika permintaan menyertakan parameter ini, maka pemilik, grup, izin, dan daftar kontrol akses untuk blob atau direktori yang tercantum akan disertakan dalam enumerasi. Untuk menentukan lebih dari salah satu opsi ini pada URI, Anda harus memisahkan setiap opsi dengan koma yang dikodekan URL ("%82"). |
showonly={deleted,files,directories} |
Pilihan. Menentukan salah satu himpunan data ini yang akan dikembalikan dalam respons: - deleted :Opsional. Versi 2020-08-04 dan yang lebih baru. Hanya untuk akun yang diaktifkan dengan namespace hierarkis. Ketika permintaan menyertakan parameter ini, daftar hanya berisi blob yang dihapus sementara. Perhatikan bahwa fallback otorisasi POSIX ACL tidak didukung untuk mencantumkan blob yang dihapus sementara. Jika include=deleted juga ditentukan, permintaan gagal dengan Permintaan Buruk (400).- files :Opsional. Versi 2020-12-06 dan yang lebih baru. Hanya untuk akun yang diaktifkan dengan namespace hierarkis. Ketika permintaan menyertakan parameter ini, daftar hanya berisi file. - directories :Opsional. Versi 2020-12-06 dan yang lebih baru. Hanya untuk akun yang diaktifkan dengan namespace hierarkis. Saat permintaan menyertakan parameter ini, daftar hanya berisi direktori. |
timeout |
Opsional. Parameter timeout dinyatakan dalam hitung detik. Untuk informasi selengkapnya, lihat Mengatur batas waktu untuk operasi Blob Storage. |
Header permintaan
Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional.
Meminta kop | Deskripsi |
---|---|
Authorization |
Wajib diisi. Menentukan skema otorisasi, nama akun, dan tanda tangan. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage. |
Date atau x-ms-date |
Wajib diisi. Menentukan Waktu Universal Terkoordinasi (UTC) untuk permintaan tersebut. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage. |
x-ms-version |
Diperlukan untuk semua permintaan resmi, dan opsional untuk permintaan anonim. Menentukan versi operasi yang akan digunakan untuk permintaan ini. Untuk informasi selengkapnya, lihat Penerapan versi untuk layanan Azure Storage. |
x-ms-client-request-id |
Pilihan. Menyediakan nilai buram yang dihasilkan klien dengan batas karakter 1 kibibyte (KiB) yang dicatat dalam log saat pengelogan dikonfigurasi. Kami sangat menyarankan Anda menggunakan header ini untuk menghubungkan aktivitas sisi klien dengan permintaan yang diterima server. Untuk informasi selengkapnya, lihat Memantau Azure Blob Storage. |
x-ms-upn |
Pilihan. Hanya berlaku saat namespace hierarki diaktifkan untuk akun, dan include=permissions disediakan dalam permintaan. Jika true , nilai identitas pengguna yang dikembalikan di <bidang Pemilik>, <Grup>, dan <Acl> diubah dari ID objek Microsoft Entra menjadi nama utama pengguna. Jika false , nilai dikembalikan sebagai ID objek Microsoft Entra. Nilai defaultnya adalah false . Perhatikan bahwa ID objek grup dan aplikasi tidak diterjemahkan karena tidak memiliki nama bersahabat yang unik. |
Isi permintaan
Tidak ada.
Permintaan sampel
Lihat Menghitung sumber daya blob untuk permintaan sampel.
Respons
Respons mencakup kode status HTTP, sekumpulan header respons, dan isi respons dalam format XML.
Kode status
Operasi yang berhasil mengembalikan kode status 200 (OK). Untuk informasi tentang kode status, lihat Status dan kode kesalahan.
Header respons
Respons untuk operasi ini mencakup header berikut. Respons juga dapat mencakup header HTTP standar tambahan. Semua header standar sesuai dengan spesifikasi protokol HTTP/1.1.
Header respons | Deskripsi |
---|---|
Content-Type |
Menentukan format di mana hasil dikembalikan. Saat ini nilai ini adalah application/xml . |
x-ms-request-id |
Header ini secara unik mengidentifikasi permintaan yang dibuat, dan dapat digunakan untuk memecahkan masalah permintaan. Untuk informasi selengkapnya, lihat Pemecahan masalah operasi API. |
x-ms-version |
Menunjukkan versi Blob Storage yang digunakan untuk menjalankan permintaan. Header ini dikembalikan untuk permintaan yang dibuat dengan menggunakan versi 2009-09-19 dan yang lebih baru. Header ini juga dikembalikan untuk permintaan anonim, tanpa versi yang ditentukan, jika kontainer ditandai untuk akses publik dengan menggunakan Blob Storage versi 2009-09-19. |
Date |
Nilai tanggal/waktu UTC yang menunjukkan waktu di mana respons dimulai. Layanan menghasilkan nilai ini. |
x-ms-client-request-id |
Anda dapat menggunakan header ini untuk memecahkan masalah permintaan dan respons terkait. Nilai header ini sama dengan nilai x-ms-client-request-id header, jika ada dalam permintaan. Nilainya paling banyak 1024 karakter ASCII yang terlihat. x-ms-client-request-id Jika header tidak ada dalam permintaan, header ini tidak akan ada dalam respons. |
Isi Respons
Format respons XML adalah sebagai berikut.
Perhatikan bahwa Prefix
elemen , Marker
, MaxResults
, dan Delimiter
hanya ada jika ditentukan pada URI permintaan. Elemen NextMarker
memiliki nilai hanya jika hasil daftar tidak selesai.
Rekam jepret, metadata blob, dan blob yang tidak dikomit disertakan dalam respons hanya jika ditentukan dengan include
parameter pada URI permintaan.
Dalam versi 2009-09-19 dan yang lebih baru, properti blob dienkapsulasi dalam Properties
elemen .
Dimulai dengan versi 2009-09-19, List Blobs
mengembalikan elemen berganti nama berikut dalam isi respons:
Last-Modified
(sebelumnyaLastModified
)Content-Length
(sebelumnyaSize
)Content-Type
(sebelumnyaContentType
)Content-Encoding
(sebelumnyaContentEncoding
)Content-Language
(sebelumnyaContentLanguage
)
Elemen muncul Content-MD5
untuk blob yang dibuat dengan versi 2009-09-19 dan yang lebih baru. Dalam versi 2012-02-12 dan yang lebih baru, Blob Storage menghitung Content-MD5
nilai saat Anda mengunggah blob dengan menggunakan Put Blob. Blob Storage tidak menghitung ini saat Anda membuat blob dengan menggunakan Put Block List. Anda dapat secara eksplisit mengatur Content-MD5
nilai saat membuat blob, atau dengan memanggil operasi Put Block List atau Set Blob Properties .
Untuk versi dari 2009-09-19 dan yang lebih baru, tetapi sebelum versi 2015-02-21, Anda tidak dapat memanggil List Blobs
kontainer yang menyertakan blob tambahan. Layanan mengembalikan kode status 409 (Konflik) jika hasil daftar berisi blob tambahan.
LeaseState
dan LeaseDuration
hanya muncul di versi 2012-02-12 dan yang lebih baru.
CopyId
, , CopyStatus
, CopyProgress
CopySource
, CopyCompletionTime
, dan CopyStatusDescription
hanya muncul dalam versi 2012-02-12 dan yang lebih baru, ketika operasi ini menyertakan include={copy}
parameter . Elemen-elemen ini tidak muncul jika blob ini belum pernah menjadi tujuan dalam Copy Blob
operasi. Elemen tidak muncul jika blob ini telah dimodifikasi setelah operasi yang disimpulkan Copy Blob
, dengan menggunakan Set Blob Properties
, , Put Blob
atau Put Block List
. Elemen-elemen ini juga tidak muncul dengan blob yang dibuat oleh Copy Blob, sebelum versi 2012-02-12.
Dalam versi 2013-08-15 dan yang lebih baru, EnumerationResults
elemen berisi ServiceEndpoint
atribut yang menentukan titik akhir blob. Elemen ini juga berisi ContainerName
bidang yang menentukan nama kontainer. Dalam versi sebelumnya, kedua atribut ini digabungkan bersama-sama di ContainerName
bidang . Juga dalam versi 2013-08-15 dan yang Url
lebih baru, elemen di bawah Blob
telah dihapus.
Untuk versi 2015-02-21 dan yang lebih baru, List Blobs
mengembalikan blob dari semua jenis (blok, halaman, dan blob penambahan).
Untuk versi 2015-12-11 dan yang lebih baru, List Blobs
mengembalikan ServerEncrypted
elemen . Elemen ini diatur ke true
jika metadata blob dan aplikasi benar-benar dienkripsi, dan false
sebaliknya.
Untuk versi 2016-05-31 dan yang lebih baru, List Blobs
mengembalikan IncrementalCopy
elemen untuk blob salinan dan rekam jepret bertahap, dengan nilai diatur ke true
.
Untuk versi 2017-04-17 dan yang lebih baru, List Blobs
mengembalikan AccessTier
elemen jika tingkat akses telah diatur secara eksplisit. Untuk daftar tingkat blob halaman premium yang diizinkan, lihat Penyimpanan premium berkinerja tinggi dan disk terkelola untuk VM. Untuk Blob Storage atau akun v2 tujuan umum, nilai yang valid adalah Hot
, Cool
, dan Archive
. Jika blob dalam status tertunda rehidrasi, maka ArchiveStatus
elemen dikembalikan dengan salah satu nilai yang valid (rehydrate-pending-to-hot
, rehydrate-pending-to-cool
, atau rehydrate-pending-to-cold
). Untuk informasi terperinci tentang tingkatan blob blok, lihat Tingkat penyimpanan panas, dingin, dan arsip.
Untuk versi 2017-04-17 dan yang lebih baru, List Blobs
mengembalikan AccessTierInferred
elemen pada Blob Storage atau akun v2 tujuan umum. Jika blob blok tidak memiliki set tingkat akses, informasi tingkat disimpulkan dari properti akun penyimpanan, dan nilai ini diatur ke true
. Header ini hanya ada jika tingkat disimpulkan dari properti akun.
Untuk versi 2017-04-17 dan yang lebih baru, List Blobs
mengembalikan AccessTierChangeTime
elemen pada Blob Storage atau akun v2 tujuan umum. Ini dikembalikan hanya jika tingkat pada blob blok pernah ditetapkan. Untuk informasi selengkapnya, lihat Representasi nilai tanggal-waktu di header.
Untuk versi 2017-07-29 dan yang lebih baru, , Deleted
DeletedTime
, dan RemainingRetentionDays
muncul ketika operasi ini menyertakan include={deleted}
parameter . Elemen-elemen ini tidak muncul jika blob ini tidak dihapus. Elemen-elemen ini muncul untuk blob atau rekam jepret yang dihapus dengan DELETE
operasi, ketika fitur penghapusan sementara diaktifkan. Elemen Deleted
diatur ke true
untuk blob dan rekam jepret yang dihapus sementara. Deleted-Time
sesuai dengan waktu ketika blob dihapus. RemainingRetentionDays
menunjukkan jumlah hari setelah blob yang dihapus sementara dihapus secara permanen.
Untuk versi 2017-11-09 dan yang lebih baru, Creation-Time
mengembalikan waktu saat blob ini dibuat.
Untuk versi 2019-02-02 dan yang lebih baru, List Blobs
mengembalikan CustomerProvidedKeySha256
elemen jika blob dienkripsi dengan kunci yang disediakan pelanggan. Nilai akan diatur ke hash SHA-256 dari kunci yang digunakan untuk mengenkripsi blob. Selain itu, jika operasi menyertakan include={metadata}
parameter , dan ada metadata aplikasi yang ada pada blob yang dienkripsi dengan kunci yang disediakan pelanggan, Metadata
elemen akan memiliki Encrypted="true"
atribut . Atribut ini menunjukkan bahwa blob memiliki metadata yang tidak dapat didekripsi sebagai bagian List Blobs
dari operasi. Untuk mengakses metadata untuk blob ini, panggil Dapatkan Properti Blob atau Dapatkan Metadata Blob dengan kunci yang disediakan pelanggan.
Untuk versi 2019-02-02 dan yang lebih baru, List Blobs
mengembalikan EncryptionScope
elemen jika blob dienkripsi dengan cakupan enkripsi. Nilai akan diatur ke nama cakupan enkripsi yang digunakan untuk mengenkripsi blob. Jika operasi menyertakan include={metadata}
parameter , metadata aplikasi pada blob didekripsi secara transparan, dan tersedia dalam Metadata
elemen .
Untuk versi 2019-12-12 dan yang lebih baru, List Blobs
mengembalikan RehydratePriority
elemen pada Blob Storage atau akun v2 tujuan umum, jika objek berada dalam rehydrate pending
status . Nilai yang berlaku adalah High
atau Standard
.
Untuk versi 2019-12-12 dan yang lebih baru, List Blobs
mengembalikan VersionId
elemen untuk blob dan versi blob yang dihasilkan, saat penerapan versi diaktifkan pada akun.
Untuk versi 2019-12-12 dan yang lebih baru, List Blobs
mengembalikan IsCurrentVersion
elemen untuk versi blob saat ini. Nilai diatur ke true
. Elemen ini memungkinkan Anda membedakan versi saat ini dari versi baca-saja yang dibuat secara otomatis.
Untuk versi 2019-12-12 dan yang lebih baru, List Blobs
mengembalikan TagCount
elemen untuk blob dengan tag apa pun. Elemen Tags
hanya muncul ketika operasi ini menyertakan include={tags}
parameter . Elemen-elemen ini tidak muncul jika tidak ada tag pada blob.
Untuk versi 2019-12-12 dan yang lebih baru, List Blobs
mengembalikan Sealed
elemen untuk blob tambahan. Elemen Sealed
hanya muncul ketika blob penampingan telah disegel. Elemen-elemen ini tidak muncul jika blob tambahan tidak disegel.
Untuk versi 2020-02-10 dan yang lebih baru, List Blobs
mengembalikan LastAccessTime
elemen . Elemen menunjukkan kapan data blob terakhir diakses, sesuai dengan kebijakan pelacakan waktu akses terakhir akun penyimpanan. Elemen tidak dikembalikan jika akun penyimpanan tidak memiliki kebijakan ini, atau kebijakan dinonaktifkan. Untuk informasi tentang mengatur kebijakan pelacakan waktu akses terakhir akun, lihat API Blob Service. Elemen LastAccessTime
tidak melacak terakhir kali ketika metadata blob diakses.
Untuk versi 2020-06-12 dan yang lebih baru, List Blobs
mengembalikan elemen dan ImmutabilityPolicyMode
, ketika operasi ini menyertakan include={immutabilitypolicy}
ImmutabilityPolicyUntilDate
parameter .
Untuk versi 2020-06-12 dan yang lebih baru, List Blobs
mengembalikan LegalHold
elemen , ketika operasi ini menyertakan include={legalhold}
parameter .
Untuk versi 2020-06-12 dan yang lebih baru, untuk akun dengan namespace hierarki diaktifkan, List Blobs
mengembalikan elemen , , Permissions
Group
, dan Acl
.Owner
Permintaan harus berisi include={permissions}
parameter . Perhatikan bahwa Acl
elemen adalah daftar gabungan daftar akses dan kontrol akses default yang diatur pada file atau direktori.
Untuk versi 2020-06-12 dan yang lebih baru, untuk akun dengan namespace hierarki diaktifkan, List Blobs
dengan pemisah mengembalikan Properties
elemen dalam BlobPrefix
elemen . Ini sesuai dengan properti pada direktori.
Untuk versi 2020-08-04 dan yang lebih baru, untuk akun dengan namespace hierarki diaktifkanDeletionId
, List Blobs
mengembalikan elemen untuk blob yang dihapus. DeletionId
adalah pengidentifikasi 64-bit yang tidak ditandatangani. Elemen ini secara unik mengidentifikasi jalur yang dihapus sementara, untuk membedakannya dari blob lain yang dihapus dengan jalur yang sama.
Untuk versi 2020-10-02 dan yang lebih baru, untuk akun dengan namespace hierarkis ResourceType
diaktifkan, List Blobs
mengembalikan elemen properti untuk jalur tersebut. Ini bisa berupa file
atau directory
.
Untuk versi 2021-02-12 dan yang lebih baru, List Blobs
akan mengodekan persen (per RFC 2396) semua Blob
Name
atau BlobPrefix
Name
nilai elemen. Secara khusus, ini akan melakukannya untuk nilai-nilai yang berisi karakter yang tidak valid di XML (U+FFFE atau U+FFFF). Jika dikodekan, Name
elemen akan menyertakan Encoded=true
atribut . Perhatikan bahwa ini hanya terjadi untuk Name
nilai elemen yang berisi karakter yang tidak valid dalam XML, bukan elemen yang tersisa Name
dalam respons.
Untuk versi 2021-06-08 dan yang lebih baru, untuk akun dengan namespace hierarki diaktifkanPlaceholder
, List Blobs
mengembalikan elemen properti. Ini mengembalikan elemen ini dalam BlobPrefix
elemen untuk direktori tempat penampung, saat mencantumkan blob yang dihapus dengan pemisah. Direktori tempat penampung ini ada untuk memfasilitasi navigasi ke blob yang dihapus sementara.
Untuk versi 2021-06-08 dan yang lebih baru, untuk akun dengan namespace hierarki diaktifkanEncryptionContext
, List Blobs
mengembalikan elemen . Jika nilai properti konteks enkripsi diatur, nilai tersebut akan mengembalikan nilai yang ditetapkan.
Untuk versi 2020-02-10 dan yang lebih baru, untuk akun dengan namespace hierarki diaktifkanExpiry-Time
, List Blobs
mengembalikan elemen untuk blob yang dihapus. Expiry-Time
adalah waktu ketika file akan kedaluwarsa, dan dikembalikan untuk file jika kedaluwarsa diatur pada yang sama.
<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint="http://myaccount.blob.core.windows.net/" ContainerName="mycontainer">
<Prefix>string-value</Prefix>
<Marker>string-value</Marker>
<MaxResults>int-value</MaxResults>
<Delimiter>string-value</Delimiter>
<Blobs>
<Blob>
<Name>blob-name</name>
<Snapshot>date-time-value</Snapshot>
<VersionId>date-time-vlue</VersionId>
<IsCurrentVersion>true</IsCurrentVersion>
<Deleted>true</Deleted>
<Properties>
<Creation-Time>date-time-value</Creation-Time>
<Last-Modified>date-time-value</Last-Modified>
<Etag>etag</Etag>
<Owner>owner user id</Owner>
<Group>owning group id</Group>
<Permissions>permission string</Permissions>
<Acl>access control list</Acl>
<ResourceType>file | directory</ResourceType>
<Placeholder>true</Placeholder>
<Content-Length>size-in-bytes</Content-Length>
<Content-Type>blob-content-type</Content-Type>
<Content-Encoding />
<Content-Language />
<Content-MD5 />
<Cache-Control />
<x-ms-blob-sequence-number>sequence-number</x-ms-blob-sequence-number>
<BlobType>BlockBlob|PageBlob|AppendBlob</BlobType>
<AccessTier>tier</AccessTier>
<LeaseStatus>locked|unlocked</LeaseStatus>
<LeaseState>available | leased | expired | breaking | broken</LeaseState>
<LeaseDuration>infinite | fixed</LeaseDuration>
<CopyId>id</CopyId>
<CopyStatus>pending | success | aborted | failed </CopyStatus>
<CopySource>source url</CopySource>
<CopyProgress>bytes copied/bytes total</CopyProgress>
<CopyCompletionTime>datetime</CopyCompletionTime>
<CopyStatusDescription>error string</CopyStatusDescription>
<ServerEncrypted>true</ServerEncrypted>
<CustomerProvidedKeySha256>encryption-key-sha256</CustomerProvidedKeySha256>
<EncryptionContext>encryption-context<EncryptionContext>
<EncryptionScope>encryption-scope-name</EncryptionScope>
<IncrementalCopy>true</IncrementalCopy>
<AccessTierInferred>true</AccessTierInferred>
<AccessTierChangeTime>datetime</AccessTierChangeTime>
<DeletedTime>datetime</DeletedTime>
<RemainingRetentionDays>no-of-days</RemainingRetentionDays>
<TagCount>number of tags between 1 to 10</TagCount>
<RehydratePriority>rehydrate priority</RehydratePriority>
<Expiry-Time>date-time-value</Expiry-Time>
</Properties>
<Metadata>
<Name>value</Name>
</Metadata>
<Tags>
<TagSet>
<Tag>
<Key>TagName</Key>
<Value>TagValue</Value>
</Tag>
</TagSet>
</Tags>
<OrMetadata />
</Blob>
<BlobPrefix>
<Name>blob-prefix</Name>
</BlobPrefix>
</Blobs>
<NextMarker />
</EnumerationResults>
Respons sampel
Lihat Menghitung sumber daya blob untuk respons sampel.
Authorization
Otorisasi diperlukan saat memanggil operasi akses data apa pun di Azure Storage. Anda dapat mengotorisasi operasi seperti yang List Blobs
dijelaskan di bawah ini.
Azure Storage mendukung penggunaan Microsoft Entra ID untuk mengotorisasi permintaan ke data blob. Dengan Microsoft Entra ID, Anda dapat menggunakan kontrol akses berbasis peran Azure (Azure RBAC) untuk memberikan izin kepada prinsip keamanan. Prinsip keamanan dapat berupa pengguna, grup, perwakilan layanan aplikasi, atau identitas terkelola Azure. Prinsip keamanan diautentikasi oleh Microsoft Entra ID untuk mengembalikan token OAuth 2.0. Token kemudian dapat digunakan untuk mengotorisasi permintaan terhadap Blob service.
Untuk mempelajari selengkapnya tentang otorisasi menggunakan Microsoft Entra ID, lihat Mengotorisasi akses ke blob menggunakan Microsoft Entra ID.
Izin
Tercantum di bawah ini adalah tindakan RBAC yang diperlukan bagi pengguna, grup, atau perwakilan layanan Microsoft Entra untuk memanggil List Blobs
operasi, dan peran Azure RBAC bawaan paling tidak istimewa yang mencakup tindakan ini:
- Tindakan Azure RBAC:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
- Peran bawaan yang paling tidak istimewa:Pembaca Data Blob Penyimpanan
Untuk mempelajari selengkapnya tentang menetapkan peran menggunakan Azure RBAC, lihat Menetapkan peran Azure untuk akses ke data blob.
Keterangan
Properti blob dalam respons
Jika Anda telah meminta agar blob yang tidak dikomit disertakan dalam enumerasi, perhatikan bahwa beberapa properti tidak diatur hingga blob diterapkan. Beberapa properti mungkin tidak dikembalikan dalam respons.
Elemen x-ms-blob-sequence-number
hanya dikembalikan untuk blob halaman.
Elemen OrMetadata
hanya dikembalikan untuk blob blok.
Untuk blob halaman, nilai yang dikembalikan dalam Content-Length
elemen sesuai dengan nilai header blob x-ms-blob-content-length
.
Elemen Content-MD5
muncul di isi respons, hanya jika telah diatur pada blob dengan menggunakan versi 2009-09-19 atau yang lebih baru. Anda dapat mengatur Content-MD5
properti saat blob dibuat, atau dengan memanggil Atur Properti Blob. Dalam versi 2012-02-12 dan yang lebih baru, Put Blob
menetapkan nilai MD5 blob blok, bahkan ketika Put Blob
permintaan tidak menyertakan header MD5.
Metadata dalam respons
Elemen Metadata
hanya ada jika include=metadata
parameter ditentukan pada URI. Metadata
Dalam elemen , nilai setiap pasangan nama-nilai tercantum dalam elemen yang sesuai dengan nama pasangan.
Perhatikan bahwa metadata yang diminta dengan parameter ini harus disimpan sesuai dengan pembatasan penamaan yang diberlakukan oleh Blob Storage versi 2009-09-19. Dimulai dengan versi ini, semua nama metadata harus mematuhi konvensi penamaan untuk pengidentifikasi C#.
Jika pasangan nama-nilai metadata melanggar pembatasan penamaan ini, isi respons menunjukkan nama yang x-ms-invalid-name
bermasalah dalam elemen . Fragmen XML berikut menunjukkan hal ini:
…
<Metadata>
<MyMetadata1>first value</MyMetadata1>
<MyMetadata2>second value</MyMetadata2>
<x-ms-invalid-name>invalid-metadata-name</x-ms-invalid-name>
</Metadata>
…
Tag dalam respons
Elemen Tags
hanya ada jika include=tags
parameter ditentukan pada URI, dan jika ada tag pada blob. TagSet
Dalam elemen , hingga 10 Tag
elemen dikembalikan, masing-masing berisi key
dan value
dari tag indeks blob yang ditentukan pengguna. Urutan tag tidak dijamin dalam respons.
Elemen Tags
dan TagCount
tidak dikembalikan jika tidak ada tag pada blob.
Layanan penyimpanan mempertahankan konsistensi yang kuat antara blob dan tag-nya, tetapi indeks sekunder pada akhirnya konsisten. Tag dapat terlihat dalam respons sebelum List Blobs
terlihat oleh Find Blobs by Tags
operasi.
Rekam jepret dalam respons
Rekam jepret tercantum dalam respons hanya jika include=snapshots
parameter ditentukan pada URI. Rekam jepret yang tercantum dalam respons tidak menyertakan LeaseStatus
elemen , karena rekam jepret tidak dapat memiliki sewa aktif.
Dengan menggunakan layanan versi 2021-06-08 ke atas, Anda dapat memanggil List Blobs
dengan pemisah dan menyertakan rekam jepret dalam enumerasi. Untuk versi layanan sebelum 2021-06-08, permintaan yang menyertakan keduanya mengembalikan kesalahan InvalidQueryParameter (kode status HTTP 400 – Permintaan Buruk).
Blob yang tidak dikomit dalam respons
Blob yang tidak dikomit tercantum dalam respons hanya jika include=uncommittedblobs
parameter ditentukan pada URI. Blob yang tidak dikomit yang tercantum dalam respons tidak menyertakan salah satu elemen berikut:
Last-Modified
Etag
Content-Type
Content-Encoding
Content-Language
Content-MD5
Cache-Control
Metadata
Blob yang dihapus dalam respons
Blob yang dihapus tercantum dalam respons hanya jika include=deleted
parameter ditentukan pada URI. Blob yang dihapus yang tercantum dalam respons tidak menyertakan elemen Sewa , karena blob yang dihapus tidak dapat memiliki sewa aktif.
Rekam jepret yang dihapus disertakan dalam respons daftar jika include=deleted,snapshot
ditentukan pada URI.
Metadata replikasi objek dalam respons
Elemen OrMetadata
ini ada ketika kebijakan replikasi objek telah dievaluasi pada blob, dan List Blobs
panggilan dilakukan dengan menggunakan versi 2019-12-12 atau yang lebih baru. OrMetadata
Dalam elemen , nilai setiap pasangan nama-nilai tercantum dalam elemen yang sesuai dengan nama pasangan. Format nama adalah or-{policy-id}_{rule-id}
, di mana {policy-id}
adalah GUID yang mewakili pengidentifikasi kebijakan replikasi objek pada akun penyimpanan. {rule-id}
adalah GUID yang mewakili pengidentifikasi aturan pada kontainer penyimpanan. Nilai yang valid adalah complete
atau failed
.
…
<OrMetadata>
<or-e524bba7-4323-4b93-91f8-d09d5d0b7057_d86c51de-ef02-4264-bdcf-dcd389a6c7ac>complete</or-e524bba7-4323-4b93-91f8-d09d5d0b7057_d86c51de-ef02-4264-bdcf-dcd389a6c7ac>
<or-2b302b5d-fcd5-44d6-a5ed-455bf27e17ea_4a398ff5-2a89-4090-879b-10248f23428e>failed</or-2b302b5d-fcd5-44d6-a5ed-455bf27e17ea_4a398ff5-2a89-4090-879b-10248f23428e>
</OrMetadata>
…
Kebijakan imutabilitas dalam respons
Elemen ImmutabilityPolicyUntilDate
dan ImmutabilityPolicyMode
hanya ada jika include=immutabilitypolicy
parameter ditentukan pada URI.
<Properties>
<ImmutabilityPolicyUntilDate>date-time-value</ImmutabilityPolicyUntilDate>
<ImmutabilityPolicyMode>unlocked | locked </ImmutabilityPolicyMode>
</Properties>
Penahanan legal dalam respons
Elemen LegalHold
hanya ada jika include=legalhold
parameter ditentukan pada URI.
<Properties>
<LegalHold>true | false </LegalHold>
</Properties>
Mengembalikan tataan hasil dengan menggunakan nilai penanda
Jika Anda menentukan nilai untuk maxresults
parameter , dan jumlah blob yang akan dikembalikan melebihi nilai ini, atau melebihi nilai default untuk maxresults
, isi respons berisi NextMarker
elemen . Elemen ini menunjukkan blob berikutnya untuk kembali pada permintaan berikutnya. Dalam kasus tertentu, layanan mungkin mengembalikan NextMarker
elemen meskipun jumlah hasil yang dikembalikan kurang dari maxresults
nilai .
Untuk mengembalikan kumpulan item berikutnya, tentukan nilai NextMarker
sebagai parameter penanda pada URI untuk permintaan berikutnya. Perhatikan bahwa nilai NextMarker
harus diperlakukan sebagai buram.
Menggunakan pemisah untuk melintasi namespace blob
Parameter delimiter
memungkinkan pemanggil melintasi namespace blob dengan menggunakan pemisah yang dikonfigurasi pengguna. Dengan cara ini, Anda dapat melintasi hierarki virtual blob seolah-olah itu adalah sistem file. Pemisah dapat berupa satu karakter atau string.
Ketika permintaan menyertakan parameter ini, operasi mengembalikan BlobPrefix
elemen . Elemen BlobPrefix
dikembalikan sebagai pengganti semua blob dengan nama yang dimulai dengan substring yang sama, hingga penampilan karakter pemisah. Nilai BlobPrefix
elemen adalah substring+pemisah, di mana substring adalah substring umum yang memulai satu atau beberapa nama blob, dan pemisah adalah nilai delimiter
parameter.
Anda dapat menggunakan nilai BlobPrefix
untuk melakukan panggilan berikutnya untuk mencantumkan blob yang dimulai dengan awalan ini. Anda melakukan ini dengan menentukan nilai BlobPrefix
untuk prefix
parameter pada URI permintaan.
Perhatikan bahwa setiap BlobPrefix
elemen yang dikembalikan dihitung terhadap hasil maksimum, sama seperti setiap Blob
elemen.
Blob tercantum dalam urutan alfabet dalam isi respons, dengan huruf besar tercantum terlebih dahulu.
Kesalahan salin dalam Deskripsi Status Salin
CopyStatusDescription
berisi informasi lebih lanjut tentang kegagalan tersebut Copy Blob
.
Ketika upaya salin gagal,
CopyStatus
diatur kepending
jika Blob Storage masih mencoba kembali operasi. TeksCopyStatusDescription
menjelaskan kegagalan yang mungkin telah terjadi selama upaya penyalinan terakhir.Ketika
CopyStatus
diatur kefailed
,CopyStatusDescription
teks menjelaskan kesalahan yang menyebabkan operasi salin gagal.
Tabel berikut ini menjelaskan bidang dari setiap CopyStatusDescription
nilai.
Komponen | Deskripsi |
---|---|
Kode status HTTP | Bilangan bulat tiga digit standar yang menentukan kegagalan. |
Kode kesalahan | Kata kunci yang menjelaskan kesalahan. Ini disediakan oleh Azure dalam <elemen ErrorCode> . Jika tidak ada <elemen ErrorCode> yang muncul, layanan mengembalikan kata kunci yang berisi teks kesalahan standar yang terkait dengan kode status HTTP tiga digit dalam spesifikasi HTTP. Untuk informasi selengkapnya, lihat Kode kesalahan REST API umum. |
Informasi | Deskripsi terperinci tentang kegagalan, dalam tanda kutip. |
Tabel berikut ini menjelaskan CopyStatus
nilai dan CopyStatusDescription
skenario kegagalan umum.
Penting
Teks deskripsi yang ditampilkan di sini dapat berubah tanpa peringatan, bahkan tanpa perubahan versi. Jangan mengandalkan pencocokan teks yang tepat ini.
Skenario | Salin nilai Status | Salin nilai Deskripsi Status |
---|---|---|
Operasi salin berhasil diselesaikan. | berhasil | kosong |
Pengguna membatalkan operasi salin sebelum selesai. | Dibatalkan | kosong |
Kegagalan terjadi saat membaca dari blob sumber selama operasi salin. Operasi akan dicoba kembali. | Tertunda | 502 BadGateway "Mengalami kesalahan yang dapat diulang saat membaca sumbernya. Akan mencoba lagi. Waktu kegagalan: <waktu>" |
Kegagalan terjadi saat menulis ke blob tujuan operasi salin. Operasi akan dicoba kembali. | Tertunda | 500 InternalServerError "Mengalami kesalahan yang dapat diulang. Akan mencoba lagi. Waktu kegagalan: <waktu>" |
Kegagalan yang tidak dapat dipulihkan terjadi ketika membaca dari blob sumber operasi salin. | gagal | 404 ResourceNotFound "Salin gagal saat membaca sumber." Ketika layanan melaporkan kesalahan yang mendasar ini, layanan akan kembali ResourceNotFound dalam <elemen ErrorCode> . Jika tidak ada <elemen ErrorCode> yang muncul dalam respons, representasi string standar dari status HTTP, seperti NotFound , muncul. |
Periode batas waktu yang membatasi semua operasi penyalinan berlalu. (Saat ini periode batas waktu adalah dua minggu.) | gagal | 500 OperationCancelled "Salinan melebihi waktu maksimum yang diizinkan." |
Operasi salin gagal terlalu sering ketika membaca dari sumber, dan tidak memenuhi rasio minimum upaya untuk berhasil. (Batas waktu ini mencegah mencoba kembali sumber yang sangat buruk selama dua minggu sebelum gagal). | gagal | 500 OperationCancelled "Salinan gagal saat membaca sumber." |
Billing
Permintaan harga dapat berasal dari klien yang menggunakan API Blob Storage, baik langsung melalui BLob Storage REST API, atau dari pustaka klien Azure Storage. Permintaan ini mengumpulkan biaya per transaksi. Jenis transaksi memengaruhi bagaimana akun ditagih. Misalnya, membaca transaksi bertambah ke kategori penagihan yang berbeda dari transaksi tulis. Tabel berikut ini memperlihatkan kategori penagihan untuk List Blobs
permintaan berdasarkan jenis akun penyimpanan:
Operasi | Jenis akun penyimpanan | Kategori penagihan |
---|---|---|
Daftar Blob | Objek besar biner blok premium Tujuan umum standar v2 Tujuan umum standar v1 |
Mencantumkan dan Membuat operasi Kontainer |
Untuk mempelajari tentang harga untuk kategori penagihan yang ditentukan, lihat harga Azure Blob Storage.