Daftar sumber daya penyimpanan Blob

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:

Tetapkan hasil maksimum

Ambil hasil daftar parsial dengan penanda

Filter hasil daftar

Jelajahi namespace blob

Format respons XML

Format respons Apache Arrow

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