Perintah .list blobs

Beralih layanan menggunakan daftar drop-down Versi . Pelajari selengkapnya tentang navigasi.
Berlaku untuk: ✅ Microsoft Fabric ✅ Azure Data Explorer

Perintah .list blobs mencantumkan blob di bawah jalur kontainer tertentu.

Perintah ini biasanya digunakan dengan .ingest-from-storage-queued untuk menyerap data. Anda juga dapat menggunakannya sendiri untuk lebih memahami konten folder dan membuat parameter perintah penyerapan.

Note

  • Perintah penyerapan antrean dijalankan pada titik akhir URI penyerapan data https://ingest-<YourClusterName><Region>.kusto.windows.net.

  • Ketika perintah digunakan sendiri, hasilnya mungkin dipotong untuk membatasi jumlah blob. Namun, ketika digunakan dengan .ingest-from-storage-queued, tidak ada pemotongan yang diterapkan.

Permissions

Anda harus memiliki setidaknya izin Table Ingestor untuk menjalankan perintah ini.

Syntax

.list blobs (SourceDataLocators) [Suffix=SuffixValue] [MaxFiles=MaxFilesValue] [PathFormat=PathFormatValue]

Pelajari selengkapnya tentang konvensi sintaksis.

Parameters

Name Type Required Description
SourceDataLocators string ✔️ Satu atau banyak string koneksi penyimpanan dipisahkan oleh karakter koma. Setiap string koneksi dapat merujuk ke kontainer penyimpanan atau awalan file dalam kontainer. Saat ini, hanya satu string koneksi penyimpanan yang didukung.
SuffixValue string Akhiran yang memungkinkan pemfilteran blob.
MaxFilesValue integer Jumlah maksimum blob yang akan dikembalikan.
PathFormatValue string Pola di jalur blob yang dapat digunakan untuk mengambil waktu pembuatan sebagai bidang output. Untuk informasi selengkapnya, lihat Format jalur.

Note

  • Sebaiknya gunakan literal string yang dikaburkan untuk SourceDataLocators untuk menggosok kredensial dalam jejak internal dan pesan kesalahan.

  • Saat digunakan sendiri, .list blob mengembalikan hingga 1.000 file, terlepas dari nilai yang lebih besar yang ditentukan dalam MaxFiles.

  • Penggunaan utama .list blobs adalah untuk penyerapan antrean yang dilakukan secara asinkron tanpa konteks pengguna. Oleh karena itu, Peniruan tidak didukung.

Properti pencernaan

Important

Dalam data penyerapan antrean di-batch menggunakan properti Penyerapan. Semakin berbeda properti pemetaan penyerapan yang digunakan, seperti nilai ConstValue yang berbeda, semakin terfragmentasi penyerapannya, yang dapat menyebabkan penurunan performa.

Tabel berikut ini mencantumkan dan menjelaskan properti yang didukung, dan menyediakan contoh:

Property Description Example
ingestionMapping Nilai string yang menunjukkan cara memetakan data dari file sumber ke kolom aktual dalam tabel. Tentukan nilai format dengan jenis pemetaan yang relevan. Lihat pemetaan data. with (format="json", ingestionMapping = "[{\"column\":\"rownumber\", \"Properties\":{\"Path\":\"$.RowNumber\"}}, {\"column\":\"rowguid\", \"Properties\":{\"Path\":\"$.RowGuid\"}}]")
(tidak digunakan lagi: avroMapping, csvMapping, jsonMapping)
ingestionMappingReference Nilai string yang menunjukkan cara memetakan data dari file sumber ke kolom aktual dalam tabel menggunakan objek kebijakan pemetaan bernama. Tentukan nilai format dengan jenis pemetaan yang relevan. Lihat pemetaan data. with (format="csv", ingestionMappingReference = "Mapping1")
(tidak digunakan lagi: avroMappingReference, csvMappingReference, jsonMappingReference)
archiveBestEffort Nilai Boolean yang, jika diatur ke true, menunjukkan bahwa penyerapan dari arsip ZIP harus terus diproses bahkan jika beberapa entri dalam arsip kosong atau rusak, alih-alih menggagalkan seluruh penyerapan. Properti ini hanya berlaku untuk arsip ZIP. Secara default, false diasumsikan. Penyerapan berhasil jika setidaknya satu entri berhasil diproses dan menghasilkan rekaman. Penyerapan gagal jika semua entri dalam arsip kosong atau rusak. with (archiveBestEffort=true)
creationTime Nilai tanggalwaktu (diformat sebagai string ISO8601) untuk digunakan pada waktu pembuatan tingkat data yang diserap. Jika tidak ditentukan, nilai saat ini (now()) digunakan. Mengambil alih default berguna saat menyerap data yang lebih lama, sehingga kebijakan penyimpanan diterapkan dengan benar. Jika ditentukan, pastikan properti Lookback dalam kebijakan penggabungan Extents efektif tabel target selaras dengan nilai yang ditentukan. with (creationTime="2017-02-13")
extend_schema Nilai Boolean yang, jika ditentukan, menginstruksikan perintah untuk memperluas skema tabel (default ke false). Opsi ini hanya berlaku untuk perintah .append dan .set-or-append. Satu-satunya ekstensi skema yang diizinkan memiliki lebih banyak kolom yang ditambahkan ke tabel di akhir. Jika skema tabel asli (a:string, b:int), ekstensi skema yang valid akan (a:string, b:int, c:datetime, d:string), tetapi (a:string, c:datetime) tidak akan valid
folder Untuk perintah ingest-from-query , folder yang akan ditetapkan ke tabel. Jika tabel sudah ada, properti ini akan mengambil alih folder tabel. with (folder="Tables/Temporary")
format Format data (lihat format data yang didukung). with (format="csv")
ingestIfNotExists Nilai string yang, jika ditentukan, mencegah penyerapan berhasil jika tabel sudah memiliki data yang ditandai dengan tag ingest-by: dengan nilai yang sama. Ini memastikan penyerapan data idempotensi. Untuk informasi selengkapnya, lihat ingest-by: tag. Properti with (ingestIfNotExists='["Part0001"]', tags='["ingest-by:Part0001"]') menunjukkan bahwa jika data dengan tag ingest-by:Part0001 sudah ada, maka jangan selesaikan penyerapan saat ini. Jika belum ada, penyerapan baru ini harus memiliki kumpulan tag ini (jika penyerapan di masa mendatang mencoba menyerap data yang sama lagi.)
ignoreFirstRecord Nilai Boolean yang, jika diatur ke true, menunjukkan bahwa penyerapan harus mengabaikan rekaman pertama dari setiap file. Properti ini berguna untuk file dalam format CSVdan serupa, jika rekaman pertama dalam file adalah nama kolom. Secara default, false diasumsikan. with (ignoreFirstRecord=false)
policy_ingestiontime Nilai Boolean yang, jika ditentukan, menjelaskan apakah akan mengaktifkan kebijakan waktu penyerapan pada tabel yang dibuat oleh perintah ini. Defaultnya adalah true. with (policy_ingestiontime=false)
recreate_schema Nilai Boolean yang, jika ditentukan, menjelaskan apakah perintah dapat membuat ulang skema tabel. Properti ini hanya berlaku untuk perintah .set-or-replace. Properti ini lebih diutamakan daripada properti extend_schema jika keduanya ditetapkan. with (recreate_schema=true)
tags Daftar tag yang akan dikaitkan dengan data yang diserap, diformat sebagai string JSON with (tags="['Tag1', 'Tag2']")
TreatGzAsUncompressed Nilai Boolean yang, jika diatur ke true, menunjukkan bahwa file dengan ekstensi .gz tidak dikompresi. Bendera ini terkadang diperlukan saat menyerap dari Amazon AWS S3. with (treatGzAsUncompressed=true)
validationPolicy String JSON yang menunjukkan validasi mana yang akan dijalankan selama penyerapan data yang diwakili menggunakan format CSV. Lihat Penyerapan data untuk penjelasan tentang berbagai opsi. with (validationPolicy='{"ValidationOptions":1, "ValidationImplications":1}') (ini adalah kebijakan default)
zipPattern Gunakan properti ini saat menyerap data dari penyimpanan yang memiliki arsip ZIP. Ini adalah nilai string yang menunjukkan ekspresi reguler untuk digunakan saat memilih file mana dalam arsip ZIP yang akan diserap. Semua file lain dalam arsip diabaikan. with (zipPattern="*.csv")

Important

Keberhasilan yang dilaporkan untuk arsip ZIP yang diserap dengan archiveBestEffort=true tidak menjamin bahwa setiap file dalam arsip diserap. Karena kegagalan per entri ditekan, gunakan properti ini hanya ketika penyerapan konten arsip tidak lengkap dapat diterima.

Format jalur

Parameter PathFormat memungkinkan Anda menentukan format waktu pembuatan untuk blob yang tercantum. Ini terdiri dari urutan pemisah teks dan elemen partisi. Elemen partisi mengacu pada partisi yang dideklarasikan dalam klausa partisi by , dan pemisah teks adalah teks apa pun yang diapit dalam tanda kutip. Elemen partisi berturut-turut harus dipisahkan menggunakan pemisah teks.

[ StringSeparator ] Partisi [ StringSeparator ] [Partisi [ StringSeparator ] ...]

Untuk membuat awalan jalur file asli, elemen partisi dirender sebagai string dan dipisahkan dengan pemisah teks yang sesuai. Anda dapat menggunakan datetime_pattern makro (datetime_pattern(DateTimeFormat,PartitionName)) untuk menentukan format yang digunakan untuk merender nilai partisi tanggalwaktu. Makro mematuhi spesifikasi format .NET, dan memungkinkan penentu format diapit kurung kurawal. Misalnya, dua format berikut setara:

  • 'year='yyyy'/month='MM
  • year={yyyy}/month={MM}

Secara default, nilai tanggalwaktu dirender menggunakan format berikut:

Fungsi partisi Format default
startofyear yyyy
startofmonth yyyy/MM
startofweek yyyy/MM/dd
startofday yyyy/MM/dd
bin( Kolom, 1d) yyyy/MM/dd
bin( Kolom, 1h) yyyy/MM/dd/HH
bin( Kolom, 1m) yyyy/MM/dd/HH/mm

Returns

Hasil perintah adalah tabel dengan satu rekaman per blob yang tercantum.

Name Type Description
BlobUri string URI blob.
SizeInBytes long Jumlah byte, atau panjang konten, dari blob.
CapturedVariables dynamic Variabel yang ditangkap. Saat ini hanya CreationTime yang didukung.

Examples

Mencantumkan jumlah maksimum blob

Perintah berikut mencantumkan maksimum 20 blob dari folder myfolder menggunakan identitas terkelola yang ditetapkan sistem autentikasi.

.list blobs (
    "https://mystorageaccount.blob.core.windows.net/datasets/myfolder;managed_identity=system"
)
MaxFiles=20

Mencantumkan blob Parquet

Perintah berikut mencantumkan maksimum 10 blob jenis .parquet dari folder, menggunakan autentikasi identitas terkelola yang ditetapkan sistem.

.list blobs (
    "https://mystorageaccount.blob.core.windows.net/datasets/myfolder;managed_identity=system"
)
Suffix=".parquet"
MaxFiles=10

Tanggal pengambilan dari jalur blob

Perintah berikut mencantumkan maksimum 10 blob jenis .parquet dari folder, menggunakan autentikasi identitas terkelola yang ditetapkan sistem, dan mengekstrak tanggal dari jalur URL.

.list blobs (
    "https://mystorageaccount.blob.core.windows.net/datasets/myfolder;managed_identity=system"
)
Suffix=".parquet"
MaxFiles=10
PathFormat=("myfolder/year=" datetime_pattern("yyyy'/month='MM'/day='dd", creationTime) "/")

PathFormat dalam contoh dapat mengekstrak tanggal dari jalur seperti jalur berikut:

https://mystorageaccount.blob.core.windows.net/datasets/myfolder/year=2024/month=03/day=16/myblob.parquet