Bagikan melalui


Cantumkan Blob

Operasi List Blobs mengembalikan daftar blob di bawah kontainer yang ditentukan.

Minta

Anda dapat membuat permintaan List Blobs 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 Fakultatif. 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 awalan folder1/folder2/readme/readmefile.txt. Kesalahan akan muncul jika ada subfolder yang berisi file bernama readme.
delimiter Fakultatif. Ketika permintaan menyertakan parameter ini, operasi mengembalikan elemen BlobPrefix 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 berupa satu karakter atau string.
marker Fakultatif. 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 Fakultatif. Menentukan jumlah maksimum blob yang akan dikembalikan, termasuk semua elemen BlobPrefix. 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 elemen respons NextMarker. Dalam kasus tertentu, layanan mungkin mengembalikan lebih sedikit hasil daripada yang ditentukan oleh maxresults, dan juga mengembalikan token kelanjutan.

Mengatur 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}
Fakultatif. Menentukan satu atau beberapa himpunan data untuk disertakan dalam respons:

- snapshots: Menentukan bahwa rekam jepret harus disertakan dalam enumerasi. Rekam jepret tercantum dari yang terlama ke terbaru dalam respons.
- metadata: Menentukan bahwa metadata blob dikembalikan dalam respons.
- uncommittedblobs: Menentukan bahwa blob yang bloknya telah diunggah, tetapi yang belum diterapkan dengan menggunakan Put Block List, disertakan dalam respons.
- copy: Versi 2012-02-12 dan yang lebih baru. Menentukan bahwa metadata yang terkait dengan operasi Copy Blob saat ini atau sebelumnya 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 kekekalan 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 hierarkis yang 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} Fakultatif. Menentukan salah satu himpunan data ini untuk dikembalikan dalam respons:

- deleted: Opsional. Versi 2020-08-04 dan yang lebih baru. Hanya untuk akun yang diaktifkan dengan namespace hierarkis. Saat 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 Fakultatif. 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.

Header permintaan Deskripsi
Authorization Diperlukan. Menentukan skema otorisasi, nama akun, dan tanda tangan. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage.
Date atau x-ms-date Diperlukan. 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 Fakultatif. 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 Fakultatif. Hanya berlaku saat namespace hierarki diaktifkan untuk akun, dan include=permissions disediakan dalam permintaan. Jika true, nilai identitas pengguna yang dikembalikan di>Pemilik <, <>Grup , dan <bidang> 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 ramah yang unik.

Isi permintaan

Tidak.

Permintaan sampel

Lihat Menghitung sumber daya blob untuk permintaan sampel.

Jawaban

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 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 operasi API Pemecahan Masalah .
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 header x-ms-client-request-id, jika ada dalam permintaan. Nilainya paling banyak 1024 karakter ASCII yang terlihat. Jika header x-ms-client-request-id tidak ada dalam permintaan, header ini tidak akan ada dalam respons.

Isi respons

Format respons XML adalah sebagai berikut.

Perhatikan bahwa elemen Prefix, 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 dilakukan disertakan dalam respons hanya jika ditentukan dengan parameter include pada URI permintaan.

Dalam versi 2009-09-19 dan yang lebih baru, properti blob dienkapsulasi dalam elemen Properties.

Dimulai dengan versi 2009-09-19, List Blobs mengembalikan elemen yang diganti namanya berikut dalam isi respons:

  • Last-Modified (sebelumnya LastModified)

  • Content-Length (sebelumnya Size)

  • Content-Type (sebelumnya ContentType)

  • Content-Encoding (sebelumnya ContentEncoding)

  • Content-Language (sebelumnya ContentLanguage)

Elemen Content-MD5 muncul 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 nilai Content-MD5 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 nilai Content-MD5 saat membuat blob, atau dengan memanggil Put Block List atau Atur Properti Blob operasi.

Untuk versi dari 2009-09-19 dan yang lebih baru, tetapi sebelum versi 2015-02-21, Anda tidak dapat memanggil List Blobs pada 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, CopySource, CopyProgress, CopyCompletionTime, dan CopyStatusDescription hanya muncul di versi 2012-02-12 dan yang lebih baru, ketika operasi ini menyertakan parameter include={copy}. Elemen-elemen ini tidak muncul jika blob ini belum pernah menjadi tujuan dalam operasi Copy Blob. Elemen tidak muncul jika blob ini telah dimodifikasi setelah operasi Copy Blob yang disimpulkan, 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, elemen EnumerationResults berisi atribut ServiceEndpoint yang menentukan titik akhir blob. Elemen ini juga berisi bidang ContainerName yang menentukan nama kontainer. Di versi sebelumnya, kedua atribut ini digabungkan bersama-sama di bidang ContainerName. Juga dalam versi 2013-08-15 dan yang lebih baru, elemen Url 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 elemen ServerEncrypted. Elemen ini diatur ke true jika metadata blob dan aplikasi sepenuhnya dienkripsi, dan false sebaliknya.

Untuk versi 2016-05-31 dan yang lebih baru, List Blobs mengembalikan elemen IncrementalCopy untuk blob salinan bertahap dan rekam jepret, dengan nilai diatur ke true.

Untuk versi 2017-04-17 dan yang lebih baru, List Blobs mengembalikan elemen AccessTier 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 elemen ArchiveStatus 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 elemen AccessTierInferred 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 elemen AccessTierChangeTime 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 parameter include={deleted}. Elemen-elemen ini tidak muncul jika blob ini tidak dihapus. Elemen-elemen ini muncul untuk blob atau rekam jepret yang dihapus dengan operasi DELETE, 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 pembuatan blob ini.

Untuk versi 2019-02-02 dan yang lebih baru, List Blobs mengembalikan elemen CustomerProvidedKeySha256 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 parameter include={metadata}, dan ada metadata aplikasi yang ada pada blob yang dienkripsi dengan kunci yang disediakan pelanggan, elemen Metadata akan memiliki atribut Encrypted="true". Atribut ini menunjukkan bahwa blob memiliki metadata yang tidak dapat didekripsi sebagai bagian dari operasi List Blobs. 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 elemen EncryptionScope jika blob dienkripsi dengan cakupan enkripsi. Nilai akan diatur ke nama cakupan enkripsi yang digunakan untuk mengenkripsi blob. Jika operasi menyertakan parameter include={metadata}, metadata aplikasi pada blob didekripsi secara transparan, dan tersedia dalam elemen Metadata.

Untuk versi 2019-12-12 dan yang lebih baru, List Blobs mengembalikan elemen RehydratePriority pada Blob Storage atau akun v2 tujuan umum, jika objek berada dalam status rehydrate pending. Nilai yang valid adalah High dan Standard.

Untuk versi 2019-12-12 dan yang lebih baru, List Blobs mengembalikan elemen VersionId 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 elemen IsCurrentVersion 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 elemen TagCount untuk blob dengan tag apa pun. Elemen Tags hanya muncul ketika operasi ini menyertakan parameter include={tags}. Elemen-elemen ini tidak muncul jika tidak ada tag pada blob.

Untuk versi 2019-12-12 dan yang lebih baru, List Blobs mengembalikan elemen Sealed untuk blob tambahan. Elemen Sealed hanya muncul ketika blob tambahan telah disegel. Elemen-elemen ini tidak muncul jika blob tambahan tidak disegel.

Untuk versi 2020-02-10 dan yang lebih baru, List Blobs mengembalikan elemen LastAccessTime. 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 Blob Service API. Elemen LastAccessTime tidak melacak terakhir kali ketika metadata blob diakses.

Untuk versi 2020-06-12 dan yang lebih baru, List Blobs mengembalikan elemen ImmutabilityPolicyUntilDate dan ImmutabilityPolicyMode, ketika operasi ini menyertakan parameter include={immutabilitypolicy}.

Untuk versi 2020-06-12 dan yang lebih baru, List Blobs mengembalikan elemen LegalHold, ketika operasi ini menyertakan parameter include={legalhold}.

Untuk versi 2020-06-12 dan yang lebih baru, untuk akun dengan namespace hierarki diaktifkan, List Blobs mengembalikan elemen Owner, Group, Permissions, dan Acl. Permintaan harus berisi parameter include={permissions}. Perhatikan bahwa elemen Acl adalah daftar gabungan akses dan daftar 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 elemen Properties dalam elemen BlobPrefix. Ini sesuai dengan properti pada direktori.

Untuk versi 2020-08-04 dan yang lebih baru, untuk akun dengan namespace hierarki diaktifkan, List Blobs mengembalikan elemen DeletionId 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 hierarki diaktifkan, List Blobs mengembalikan elemen properti ResourceType untuk jalur tersebut. Ini dapat berupa file atau directory.

Untuk versi 2021-02-12 dan yang lebih baru, List Blobs akan mengodekan persen (per RFC 2396) semua nilai elemen BlobName atau BlobPrefixName. Secara khusus, ini akan melakukannya untuk nilai-nilai yang berisi karakter yang tidak valid di XML (U+FFFE atau U+FFFF). Jika dikodekan, elemen Name akan menyertakan atribut Encoded=true. Perhatikan bahwa ini hanya terjadi untuk nilai elemen Name yang berisi karakter yang tidak valid dalam XML, bukan elemen Name yang tersisa dalam respons.

Untuk versi 2021-06-08 dan yang lebih baru, untuk akun dengan namespace hierarki diaktifkan, List Blobs mengembalikan elemen properti Placeholder. Ini mengembalikan elemen ini dalam elemen BlobPrefix 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 diaktifkan, List Blobs mengembalikan elemen EncryptionContext. Jika nilai properti konteks enkripsi diatur, nilai akan mengembalikan nilai yang ditetapkan.

Untuk versi 2020-02-10 dan yang lebih baru, untuk akun dengan namespace hierarki diaktifkan, List Blobs mengembalikan elemen Expiry-Time 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>  

Sampel respons

Lihat Menghitung sumber daya blob untuk respons sampel.

Otorisasi

Otorisasi diperlukan saat memanggil operasi akses data apa pun di Azure Storage. Anda dapat mengotorisasi operasi List Blobs seperti yang dijelaskan di bawah ini.

Penting

Microsoft merekomendasikan penggunaan ID Microsoft Entra dengan identitas terkelola untuk mengotorisasi permintaan ke Azure Storage. MICROSOFT Entra ID menyediakan keamanan yang unggul dan kemudahan penggunaan dibandingkan dengan otorisasi Kunci Bersama.

  • MICROSOFT Entra ID (disarankan)
  • tanda tangan akses bersama (SAS)
  • kunci bersama

Azure Storage mendukung penggunaan ID Microsoft Entra 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 mungkin 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 layanan Blob.

Untuk mempelajari selengkapnya tentang otorisasi menggunakan ID Microsoft Entra, lihat Mengotorisasi akses ke blob menggunakan ID Microsoft Entra.

Izin

Tercantum di bawah ini adalah tindakan RBAC yang diperlukan untuk pengguna, grup, identitas terkelola, atau perwakilan layanan Microsoft Entra untuk memanggil operasi List Blobs, dan peran Azure RBAC bawaan yang paling tidak istimewa yang mencakup tindakan ini:

Jika menentukan include=tags:

Untuk mempelajari selengkapnya tentang menetapkan peran menggunakan Azure RBAC, lihat Menetapkan peran Azure untuk akses ke data blob.

Komentar

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 elemen Content-Length sesuai dengan nilai header x-ms-blob-content-length blob.

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 properti Content-MD5 saat blob dibuat, atau dengan memanggil Mengatur Properti Blob. Dalam versi 2012-02-12 dan yang lebih baru, Put Blob menetapkan nilai MD5 blob blok, bahkan ketika permintaan Put Blob tidak menyertakan header MD5.

Metadata dalam respons

Elemen Metadata hanya ada jika parameter include=metadata ditentukan pada URI. Dalam elemen Metadata, 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 bermasalah dalam elemen x-ms-invalid-name. 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 parameter include=tags ditentukan pada URI, dan jika ada tag pada blob. Dalam elemen TagSet, hingga 10 elemen Tag dikembalikan, masing-masing berisi key dan value 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 tagnya, tetapi indeks sekunder akhirnya konsisten. Tag dapat terlihat dalam respons terhadap List Blobs sebelum terlihat oleh operasi Find Blobs by Tags.

Rekam jepret dalam respons

Rekam jepret tercantum dalam respons hanya jika parameter include=snapshots ditentukan pada URI. Rekam jepret yang tercantum dalam respons tidak menyertakan elemen LeaseStatus, 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 parameter include=uncommittedblobs 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 parameter include=deleted 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 ada ketika kebijakan replikasi objek telah dievaluasi pada blob, dan panggilan List Blobs dilakukan dengan menggunakan versi 2019-12-12 atau yang lebih baru. Dalam elemen OrMetadata, 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 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 parameter include=immutabilitypolicy ditentukan pada URI.

<Properties> 
   <ImmutabilityPolicyUntilDate>date-time-value</ImmutabilityPolicyUntilDate>   
   <ImmutabilityPolicyMode>unlocked | locked </ImmutabilityPolicyMode>  
</Properties> 

Elemen LegalHold hanya ada jika parameter include=legalhold ditentukan pada URI.

<Properties> 
  <LegalHold>true | false </LegalHold>  
</Properties> 

Mengembalikan tataan hasil dengan menggunakan nilai penanda

Jika Anda menentukan nilai untuk parameter maxresults, dan jumlah blob yang akan dikembalikan melebihi nilai ini, atau melebihi nilai default untuk maxresults, isi respons berisi elemen NextMarker. Elemen ini menunjukkan blob berikutnya untuk kembali pada permintaan berikutnya. Dalam kasus tertentu, layanan mungkin mengembalikan elemen NextMarker meskipun jumlah hasil yang dikembalikan kurang dari nilai maxresults.

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 untuk 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 elemen BlobPrefix. Elemen BlobPrefix dikembalikan sebagai pengganti semua blob dengan nama yang dimulai dengan substring yang sama, hingga tampilan karakter pemisah. Nilai elemen adalahsubstring+pemisah , di mana substring adalah substring umum yang memulai satu atau beberapa nama blob, dan pemisah adalah nilai 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 parameter prefix pada URI permintaan.

Perhatikan bahwa setiap elemen BlobPrefix yang dikembalikan dihitung ke hasil maksimum, seperti yang dilakukan setiap elemen Blob.

Blob tercantum dalam urutan alfabet dalam isi respons, dengan huruf besar tercantum terlebih dahulu.

Kesalahan salin dalam Deskripsi Status Salin

CopyStatusDescription berisi informasi selengkapnya tentang kegagalan Copy Blob.

  • Ketika upaya salin gagal, CopyStatus diatur ke pending jika Blob Storage masih mencoba kembali operasi. Teks CopyStatusDescription menjelaskan kegagalan yang mungkin terjadi selama upaya salin terakhir.

  • Saat CopyStatus diatur ke failed, teks CopyStatusDescription menjelaskan kesalahan yang menyebabkan operasi penyalinan gagal.

Tabel berikut ini menjelaskan bidang dari setiap nilai CopyStatusDescription.

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 <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 nilai CopyStatus 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. keberhasilan 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 mengembalikan ResourceNotFound di 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."

Penagihan

Permintaan harga dapat berasal dari klien yang menggunakan API Blob Storage, baik secara 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, transaksi baca bertambah ke kategori penagihan yang berbeda dari transaksi tulis. Tabel berikut ini memperlihatkan kategori penagihan untuk permintaan List Blobs berdasarkan jenis akun penyimpanan:

Operasi Jenis akun penyimpanan Kategori penagihan
Cantumkan Blob Blob 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.

Lihat juga

status dan kode kesalahan
kode kesalahan Blob Storage