Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
API layanan Blob mencakup operasi untuk mencantumkan kontainer dalam sebuah akun (operasi List Containers ) dan blob dalam kontainer (operasi List Blobs ). Operasi-operasi ini memiliki beberapa fitur umum yang patut dicatat.
Operasi listing mengembalikan respons yang berisi seluruh atau sebagian dari daftar yang diminta. Operasi mengembalikan entitas dalam urutan alfabet.
Topik ini berisi subtopik berikut:
Ambil hasil daftar parsial dengan penanda
Tetapkan hasil maksimum
Untuk menentukan jumlah maksimum hasil yang akan dikembalikan dalam satu panggilan ke operasi listing, tentukan nilai untuk maxresults parameter pada URI permintaan.
Jika jumlah hasil maksimum tidak ditentukan dalam permintaan atau jika lebih dari 5.000, server akan mengembalikan hingga maksimum 5.000 item. Jika Anda menentukan jumlah hasil maksimum kurang dari atau sama dengan nol, layanan akan mengembalikan kode status 400 (Permintaan Buruk).
Ambil hasil daftar parsial dengan penanda
Pertama kali operasi listing dilakukan terhadap sumber daya tertentu, respons mungkin berisi semua hasil, atau mungkin berisi sebagian hasil dan nilai penanda. Nilai penanda dapat diteruskan ke panggilan berikutnya untuk mengembalikan set hasil berikutnya (dan kemudian berikutnya) sampai daftar lengkap dan tidak ada penanda yang dikembalikan.
Nilai penanda dikembalikan sebagai NextMarker. Dalam respons XML, NextMarker adalah elemen dalam badan respons. Dalam respons Apache Arrow List Blobs, NextMarker adalah sebuah bidang dalam metadata skema. Ketika NextMarker kosong, daftar sudah lengkap. Nilai dari adalah NextMarker nilai string yang tidak transparan bagi klien.
Untuk mengembalikan set hasil berikutnya dalam operasi berikutnya, masukkan nilai yang dikembalikan sebagai NextMarkermarker parameter pada URI permintaan.
Filter hasil daftar
Daftar hasil dapat difilter dengan menentukan string awalan pada permintaan menggunakan prefix parameter. Operasi daftar kemudian mengembalikan entitas yang memiliki nama yang diawali dengan awalan tersebut. Jika parameter ditentukan prefix pada URI permintaan, XML respons mencakup elemen yang Prefix berisi karakter awalan atau karakter-karakter. Misalnya, menentukan awalan dengan nilai "c" mengembalikan <Prefix>``c``</Prefix> dalam XML respons. Sebagai contoh, lihat bagian Daftar kontainer di bagian selanjutnya dalam topik ini.
Jelajahi namespace blob
Operasi List Blobs memiliki parameter tambahan delimiter yang memungkinkan pemanggil menjelajahi namespace blob dengan menggunakan pembatas yang dikonfigurasi pengguna. Pemisah mungkin satu karakter atau string. Ketika permintaan menyertakan parameter ini, operasi mengembalikan BlobPrefix elemen. Elemen dikembalikan BlobPrefix menggantikan semua blob dengan nama yang diawali dengan substring yang sama hingga munculnya karakter delimiter. Nilai BlobPrefix elemen adalah substring+delimiter, di mana substring adalah substring umum yang memulai satu atau lebih nama blob, dan delimiter adalah nilai parameter delimiter .
Anda dapat menggunakan nilai untuk BlobPrefix membuat panggilan berikutnya untuk mencantumkan blob yang dimulai dengan awalan ini. Tentukan nilai untuk BlobPrefix permintaan berikutnya. Dengan cara ini, Anda dapat melintasi hierarki virtual blob seolah-olah itu adalah sistem file. Sebagai contoh, lihat Daftar blob dengan pembatas di bagian akhir topik ini.
Perlu dicatat bahwa setiap BlobPrefix yang dikembalikan dihitung untuk hasil maksimum.
Juga perlu diingat bahwa Anda tidak bisa mencantumkan snapshot blob jika Anda menyertakan delimiter pada permintaan. Jika Anda menentukan nilai untuk delimiter parameter tersebut dan juga mengatur include=snapshots parameter, layanan Blob mengembalikan kesalahan InvalidQueryParameter (kode status HTTP 400 – Permintaan Buruk).
Format respons XML
Output daftar adalah dokumen XML yang formatnya mirip dengan yang ditampilkan dalam contoh kode selanjutnya dalam topik ini.
Response body mencakup nilai semua parameter yang ditentukan pada request URI sebagai elemen di dalam response body.
Nilai DateTime yang dikembalikan dalam Last-Modified elemen tersebut adalah dalam format RFC 1123. Untuk informasi lebih lanjut tentang DateTime nilai, lihat Representasi nilai tanggal/waktu dalam header.
Daftar kontainer
Contoh ini menunjukkan hasil dari operasi listing yang mengembalikan dua kontainer. URI permintaan adalah sebagai berikut:
GET https://myaccount.blob.core.windows.net/?comp=list&prefix=c&maxresults=3&include=metadata
Awalan "c" ditentukan untuk memfilter daftar. Jumlah maksimum hasil yang harus dikembalikan ditetapkan menjadi 3. Tag tersebut NextMarker menunjukkan nama kontainer yang akan dikembalikan pada operasi listing berikutnya.
<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults AccountName="https://myaccount.blob.core.windows.net/">
<Prefix>c</Prefix>
<MaxResults>3</MaxResults>
<Containers>
<Container>
<Name>container1</Name>
<Url>https://myaccount.blob.core.windows.net/container1</Url>
<Properties>
<Last-Modified>Sun, 27 Sep 2009 18:09:03 GMT</Last-Modified>
<Etag>0x8CAE7D0C4AF4487</Etag>
</Properties>
<Metadata>
<Color>orange</Color>
<ContainerNumber>01</ContainerNumber>
<SomeMetadataName>SomeMetadataValue</SomeMetadataName>
</Metadata>
</Container>
<Container>
<Name>container2</Name>
<Url>https://myaccount.blob.core.windows.net/container2</Url>
<Properties>
<Last-Modified>Sun, 27 Sep 2009 17:26:40 GMT</Last-Modified>
<Etag>0x8CAE7CAD8C24928</Etag>
</Properties>
<Metadata>
<Color>pink</Color>
<ContainerNumber>02</ContainerNumber>
<SomeMetadataName>SomeMetadataValue</SomeMetadataName>
</Metadata>
</Container>
<Container>
<Name>container3</Name>
<Url>https://myaccount.blob.core.windows.net/container3</Url>
<Properties>
<Last-Modified>Sun, 27 Sep 2009 17:26:40 GMT</Last-Modified>
<Etag>0x8CAE7CAD8EAC0BB</Etag>
</Properties>
<Metadata>
<Color>brown</Color>
<ContainerNumber>03</ContainerNumber>
<SomeMetadataName>SomeMetadataValue</SomeMetadataName>
</Metadata>
</Container>
</Containers>
<NextMarker>container4</NextMarker>
</EnumerationResults>
Daftar blob dan snapshot
Contoh ini menunjukkan hasil dari operasi listing yang mengembalikan blob dan snapshot dalam kontainer bernama mycontainer. URI permintaan adalah sebagai berikut:
GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&include=snapshots&include=metadata
Respons mencakup blob dan snapshot:
<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ContainerName="https://myaccount.blob.core.windows.net/mycontainer">
<Blobs>
<Blob>
<Name>blob1.txt</Name>
<Url>https://myaccount.blob.core.windows.net/mycontainer/blob1.txt</Url>
<Properties>
<Last-Modified>Wed, 09 Sep 2009 09:20:02 GMT</Last-Modified>
<Etag>0x8CBFF45D8A29A19</Etag>
<Content-Length>100</Content-Length>
<Content-Type>text/html</Content-Type>
<Content-Encoding />
<Content-Language>en-US</Content-Language>
<Content-MD5 />
<Cache-Control>no-cache</Cache-Control>
<BlobType>BlockBlob</BlobType>
<LeaseStatus>unlocked</LeaseStatus>
</Properties>
<Metadata>
<Color>blue</Color>
<BlobNumber>01</BlobNumber>
<SomeMetadataName>SomeMetadataValue</SomeMetadataName>
</Metadata>
</Blob>
<Blob>
<Name>blob2.txt</Name>
<Snapshot>2009-09-09T09:20:03.0427659Z</Snapshot>
<Url>https://myaccount.blob.core.windows.net/mycontainer/blob2.txt?snapshot=2009-09-09T09%3a20%3a03.0427659Z</Url>
<Properties>
<Last-Modified>Wed, 09 Sep 2009 09:20:02 GMT</Last-Modified>
<Etag>0x8CBFF45D8B4C212</Etag>
<Content-Length>5000</Content-Length>
<Content-Type>application/octet-stream</Content-Type>
<Content-Encoding>gzip</Content-Encoding>
<Content-Language />
<Content-MD5 />
<Cache-Control />
<BlobType>BlockBlob</BlobType>
</Properties>
<Metadata>
<Color>green</Color>
<BlobNumber>02</BlobNumber>
<SomeMetadataName>SomeMetadataValue</SomeMetadataName>
<x-ms-invalid-name>nasdf$@#$$</x-ms-invalid-name>
</Metadata>
</Blob>
<Blob>
<Name>blob2.txt</Name>
<Snapshot>2009-09-09T09:20:03.1587543Z</Snapshot>
<Url>https://myaccount.blob.core.windows.net/mycontainer/blob2.txt?snapshot=2009-09-09T09%3a20%3a03.1587543Z</Url>
<Properties>
<Last-Modified>Wed, 09 Sep 2009 09:20:02 GMT</Last-Modified>
<Etag>0x8CBFF45D8B4C212</Etag>
<Content-Length>5000</Content-Length>
<Content-Type>application/octet-stream</Content-Type>
<Content-Encoding>gzip</Content-Encoding>
<Content-Language />
<Content-MD5 />
<Cache-Control />
<BlobType>BlockBlob</BlobType>
</Properties>
<Metadata>
<Color>green</Color>
<BlobNumber>02</BlobNumber>
<SomeMetadataName>SomeMetadataValue</SomeMetadataName>
</Metadata>
</Blob>
<Blob>
<Name>blob2.txt</Name>
<Url>https://myaccount.blob.core.windows.net/mycontainer/blob2.txt</Url>
<Properties>
<Last-Modified>Wed, 09 Sep 2009 09:20:02 GMT</Last-Modified>
<Etag>0x8CBFF45D8B4C212</Etag>
<Content-Length>5000</Content-Length>
<Content-Type>application/octet-stream</Content-Type>
<Content-Encoding>gzip</Content-Encoding>
<Content-Language />
<Content-MD5 />
<Cache-Control />
<BlobType>BlockBlob</BlobType>
<LeaseStatus>unlocked</LeaseStatus>
</Properties>
<Metadata>
<Color>green</Color>
<BlobNumber>02</BlobNumber>
<SomeMetadataName>SomeMetadataValue</SomeMetadataName>
</Metadata>
</Blob>
<Blob>
<Name>blob3.txt</Name>
<Url>https://myaccount.blob.core.windows.net/mycontainer/blob3.txt</Url>
<Properties>
<Last-Modified>Wed, 09 Sep 2009 09:20:03 GMT</Last-Modified>
<Etag>0x8CBFF45D911FADF</Etag>
<Content-Length>16384</Content-Length>
<Content-Type>image/jpeg</Content-Type>
<Content-Encoding />
<Content-Language />
<Content-MD5 />
<Cache-Control />
<x-ms-blob-sequence-number>3</x-ms-blob-sequence-number>
<BlobType>PageBlob</BlobType>
<LeaseStatus>locked</LeaseStatus>
</Properties>
<Metadata>
<Color>yellow</Color>
<BlobNumber>03</BlobNumber>
<SomeMetadataName>SomeMetadataValue</SomeMetadataName>
</Metadata>
</Blob>
</Blobs>
<NextMarker />
</EnumerationResults>
Daftar blob dengan pembatas
Contoh ini menunjukkan hasil dari operasi listing yang mengembalikan blob di bawah kontainer bernama mycontainer. URI permintaan adalah sebagai berikut:
GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&delimiter=/&maxresults=4
Dalam kasus ini, delimiter parameter ditentukan sebagai /. Badan respons mencakup BlobPrefix tag, yang mewakili kelompok blob yang dimulai dengan substring yang sama, termasuk delimiter.
Gumpalan sampel di bawah wadah adalah sebagai berikut. Empat yang pertama dikembalikan dalam operasi pencatatan pertama, karena MaxResults diatur ke 4. Perlu dicatat bahwa myfolder/blobA.txt dan myfolder/blobB.txt dikelompokkan bersama dalam badan respons di BlobPrefix tag dan dihitung sebagai satu blob berdasarkan jumlah entitas yang dikembalikan. Untuk mengembalikan blob yang dimulai dengan awalan ini, lakukan permintaan berikutnya di mana parameter awalan diatur ke myfolder/.
blob1.txt
blob2.txt
myfolder/blobA.txt
myfolder/blobB.txt
newblob1.txt
newblob2.txt
Blob berikutnya yang dikembalikan adalah newblob2.txt. Nama blob diberikan dalam NextMarker tag.
<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ContainerName="https://myaccount.blob.core.windows.net/mycontainer">
<MaxResults>4</MaxResults>
<Blobs>
<Blob>
<Name>blob1.txt</Name>
<Url>https://myaccount.blob.core.windows.net/mycontainer/blob1.txt</Url>
<Properties>
<Last-Modified>Sun, 27 Sep 2009 18:41:57 GMT</Last-Modified>
<Etag>0x8CAE7D55D050B8B</Etag>
<Content-Length>8</Content-Length>
<Content-Type>text/html</Content-Type>
<Content-Encoding />
<Content-Language>en-US</Content-Language>
<Content-MD5 />
<Cache-Control>no-cache</Cache-Control>
<BlobType>BlockBlob</BlobType>
<LeaseStatus>unlocked</LeaseStatus>
<Properties>
</Blob>
<Blob>
<Name>blob2.txt</Name>
<Url>https://myaccount.blob.core.windows.net/mycontainer/blob2.txt</Url>
<Properties>
<Last-Modified>Sun, 27 Sep 2009 12:18:50 GMT</Last-Modified>
<Etag>0x8CAE7D55CF6C339</Etag>
<Content-Length>100</Content-Length>
<Content-Type>text/html</Content-Type>
<Content-Encoding />
<Content-Language>en-US</Content-Language>
<Content-MD5 />
<Cache-Control>no-cache</Cache-Control>
<BlobType>BlockBlob</BlobType>
<LeaseStatus>unlocked</LeaseStatus>
</Properties>
</Blob>
<BlobPrefix>
<Name>myfolder/</Name>
</BlobPrefix>
<Blob>
<Name>newblob1.txt</Name>
<Url>https://myaccount.blob.core.windows.net/mycontainer/newblob1.txt</Url>
<Properties>
<Last-Modified>Sun, 27 Sep 2009 16:31:57 GMT</Last-Modified>
<Etag>0x8CAE7D55CF6C339</Etag>
<Content-Length>25</Content-Length>
<Content-Type>text/html</Content-Type>
<Content-Encoding />
<Content-Language>en-US</Content-Language>
<Content-MD5 />
<Cache-Control>no-cache</Cache-Control>
<BlobType>BlockBlob</BlobType>
<LeaseStatus>unlocked</LeaseStatus>
</Properties>
</Blob>
</Blobs>
<NextMarker>newblob2.txt</NextMarker>
</EnumerationResults>
Daftar blob di wadah root
Untuk mencantumkan blob di wadah root, Anda dapat menggunakan URL berikut:
https://myaccount.blob.core.windows.net/$root?restype=container&comp=list&maxresults=10
Perlu diingat bahwa saat Anda mencantumkan blob di root container, XML response body tidak menyertakan referensi eksplisit ke root container di field blob URL . Berikut adalah contoh respons yang mencantumkan blob di wadah root:
<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ContainerName="https://myaccount.blob.core.windows.net/%24root">
<MaxResults>10</MaxResults>
<Blobs>
<Blob>
<Name>rootblob1.txt</Name>
<Url>https://myaccount.blob.core.windows.net/rootblob1.txt</Url>
<Properties>
<Last-Modified>Sun, 27 Sep 2009 18:41:48 GMT</Last-Modified>
<Etag>0x8CAE7D55D050B8B</Etag>
<Content-Length>25</Content-Length>
<Content-Type>text/html</Content-Type>
<Content-Encoding />
<Content-Language>en-US</Content-Language>
<Content-MD5 />
<Cache-Control>no-cache</Cache-Control>
<BlobType>BlockBlob</BlobType>
<LeaseStatus>unlocked</LeaseStatus>
</Properties>
</Blob>
<Blob>
<Name>rootblob2.txt</Name>
<Url>https://myaccount.blob.core.windows.net/rootblob2.txt</Url>
<Properties>
<Last-Modified>Sun, 27 Sep 2009 18:45:57 GMT</Last-Modified>
<Etag>0x8CAE7D55CF6C339</Etag>
<Content-Length>14</Content-Length>
<Content-Type>text/plain; charset=UTF-8</Content-Type>
<Content-Encoding />
<Content-Language>en-US</Content-Language>
<Content-MD5 />
<Cache-Control>no-cache</Cache-Control>
<BlobType>BlockBlob</BlobType>
<LeaseStatus>unlocked</LeaseStatus>
</Properties>
</Blob>
</Blobs>
</EnumerationResults>
Format respons Apache Arrow
Mulai dari versi 2026-06-06, operasi List Blobs juga dapat mengembalikan hasil dalam format Apache Arrow . Operasi List Containers saat ini tidak mendukung Apache Arrow.
Note
Dukungan Apache Arrow untuk List Blobs saat ini dalam pratinjau publik.
Output daftar adalah aliran biner Apache Arrow. Setiap contoh dalam topik ini menunjukkan batch rekaman sebagai tabel di mana setiap baris adalah awalan blob atau blob dan setiap kolom adalah field. Kolom timestamp, seperti Last-Modified, ditampilkan di sini dalam format ISO 8601. Setiap tabel diikuti oleh NumberOfRecords nilai dan NextMarker dari metadata skema.
Daftar blob dan snapshot dalam format Apache Arrow
Contoh ini menunjukkan hasil dari operasi listing yang mengembalikan blob dan snapshot dalam kontainer bernama mycontainer. URI permintaan adalah sebagai berikut:
GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&include=snapshots&include=metadata
Respons mencakup blob dan snapshot:
Name |
ResourceType |
Snapshot |
Last-Modified |
Etag |
Content-Length |
Content-Type |
Content-Encoding |
Content-Language |
Cache-Control |
x-ms-blob-sequence-number |
BlobType |
LeaseStatus |
Metadata |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| blob1.txt | blob | nol | 2009-09-09T09:20:02Z | 0x8CBFF45D8A29A19 | 100 | teks/html | nol | en-US | no-cache | nol | BlockBlob | terbuka | {Warna: biru, BlobNumber: 01, SomeMetadataName: SomeMetadataValue} |
| blob2.txt | blob | 2009-09-09T09:20:03.0427659Z | 2009-09-09T09:20:02Z | 0x8CBFF45D8B4C212 | 5000 | application/octet-stream | gzip | nol | nol | nol | BlockBlob | nol | {Warna: hijau, BlobNumber: 02, SomeMetadataName: SomeMetadataValue, x-ms-invalid-name: nasdf$@#$$} |
| blob2.txt | blob | 2009-09-09T09:20:03.1587543Z | 2009-09-09T09:20:02Z | 0x8CBFF45D8B4C212 | 5000 | application/octet-stream | gzip | nol | nol | nol | BlockBlob | nol | {Warna: hijau, BlobNumber: 02, SomeMetadataName: SomeMetadataValue} |
| blob2.txt | blob | nol | 2009-09-09T09:20:02Z | 0x8CBFF45D8B4C212 | 5000 | application/octet-stream | gzip | nol | nol | nol | BlockBlob | terbuka | {Warna: hijau, BlobNumber: 02, SomeMetadataName: SomeMetadataValue} |
| blob3.txt | blob | nol | 2009-09-09T09:20:03Z | 0x8CBFF45D911FADF | 16384 | image/jpeg | nol | nol | nol | 3 | PageBlob | terkunci | {Warna: kuning, BlobNumber: 03, SomeMetadataName: SomeMetadataValue} |
Metadata skema berisi NumberOfRecords = 5 dan NextMarker = kosong, yang menunjukkan bahwa daftar telah lengkap.
Daftar blob dengan pembatas dalam format Apache Arrow
Contoh ini menunjukkan hasil dari operasi listing yang mengembalikan blob di bawah kontainer bernama mycontainer. URI permintaan adalah sebagai berikut:
GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&delimiter=/&maxresults=4
Dalam kasus ini, delimiter parameter ditentukan sebagai /. Badan respons mencakup rekaman dengan ResourceType set ke blobprefix, yang mewakili kelompok blob yang dimulai dengan substring yang sama, termasuk delimiter.
Gumpalan sampel di bawah wadah adalah sebagai berikut. Empat yang pertama dikembalikan dalam operasi pencatatan pertama, karena MaxResults diatur ke 4. Perlu dicatat bahwa myfolder/blobA.txt dan myfolder/blobB.txt dikelompokkan bersama dalam badan respons di blobprefix catatan dan dihitung sebagai satu blob dalam hal jumlah entitas yang dikembalikan. Untuk mengembalikan blob yang dimulai dengan awalan ini, lakukan permintaan berikutnya di mana parameter awalan diatur ke myfolder/.
blob1.txt
blob2.txt
myfolder/blobA.txt
myfolder/blobB.txt
newblob1.txt
newblob2.txt
newblob2.txt akan menjadi blob berikutnya yang dikembalikan ketika opaqueString diteruskan sebagai marker parameter dalam permintaan berikutnya.
Name |
ResourceType |
Last-Modified |
Etag |
Content-Length |
Content-Type |
Content-Language |
Cache-Control |
BlobType |
LeaseStatus |
|---|---|---|---|---|---|---|---|---|---|
| blob1.txt | blob | 2009-09-27T18:41:57Z | 0x8CAE7D55D050B8B | 8 | teks/html | en-US | no-cache | BlockBlob | terbuka |
| blob2.txt | blob | 2009-09-27T12:18:50Z | 0x8CAE7D55CF6C339 | 100 | teks/html | en-US | no-cache | BlockBlob | terbuka |
| myfolder/ | awalan blob | nol | nol | nol | nol | nol | nol | nol | nol |
| newblob1.txt | blob | 2009-09-27T16:31:57Z | 0x8CAE7D55CF6C339 | 25 | teks/html | en-US | no-cache | BlockBlob | terbuka |
Metadata skema berisi NumberOfRecords = 4 dan NextMarker = opaqueString.
Baca juga
Daftar Kontainer
Mencantumkan blob
Konsep layanan Blob
Versi untuk layanan Azure Storage