BlobServiceClient Kelas

Klien untuk berinteraksi dengan Blob Service di tingkat akun.

Klien ini menyediakan operasi untuk mengambil dan mengonfigurasi properti akun serta mencantumkan, membuat dan menghapus kontainer dalam akun. Untuk operasi yang berkaitan dengan kontainer atau blob tertentu, klien untuk entitas tersebut juga dapat diambil menggunakan fungsi get_client .

Untuk konfigurasi opsional lainnya, silakan klik di sini.

Warisan
azure.storage.blob._shared.base_client.StorageAccountHostsMixin
BlobServiceClient
azure.storage.blob._encryption.StorageEncryptionMixin
BlobServiceClient

Konstruktor

BlobServiceClient(account_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)

Parameter

account_url
str
Diperlukan

URL ke akun penyimpanan blob. Entitas lain yang disertakan dalam jalur URL (misalnya kontainer atau blob) akan dibuang. URL ini dapat diautentikasi secara opsional dengan token SAS.

credential
nilai default: None

Kredensial yang digunakan untuk mengautentikasi. Ini opsional jika URL akun sudah memiliki token SAS. Nilainya dapat berupa string token SAS, instans AzureSasCredential atau AzureNamedKeyCredential dari azure.core.credentials, kunci akses bersama akun, atau instans kelas TokenCredentials dari azure.identity. Jika URI sumber daya sudah berisi token SAS, ini akan diabaikan demi kredensial eksplisit

  • kecuali dalam kasus AzureSasCredential, di mana token SAS yang bertentangan akan memunculkan ValueError. Jika menggunakan instans AzureNamedKeyCredential, "nama" harus menjadi nama akun penyimpanan, dan "kunci" harus menjadi kunci akun penyimpanan.
api_version
str

Versi Storage API yang akan digunakan untuk permintaan. Nilai default adalah versi layanan terbaru yang kompatibel dengan SDK saat ini. Pengaturan ke versi yang lebih lama dapat mengakibatkan berkurangnya kompatibilitas fitur.

Baru dalam versi 12.2.0.

secondary_hostname
str

Nama host titik akhir sekunder.

max_block_size
int

Ukuran gugus maksimum untuk mengunggah blob blok dalam gugus. Default ke 4*1024*1024, atau 4MB.

max_single_put_size
int

Jika ukuran blob kurang dari atau sama dengan max_single_put_size, maka blob hanya akan diunggah dengan satu permintaan http PUT. Jika ukuran blob lebih besar dari max_single_put_size, blob akan diunggah dalam gugus. Default ke 64*1024*1024, atau 64MB.

min_large_block_upload_threshold
int

Ukuran gugus minimum yang diperlukan untuk menggunakan algoritma hemat memori saat mengunggah blob blok. Default ke 4*1024*1024+1.

use_byte_buffer
bool

Gunakan buffer byte untuk unggahan blob blok. Default ke False.

max_page_size
int

Ukuran gugus maksimum untuk mengunggah blob halaman. Default ke 4*1024*1024, atau 4MB.

max_single_get_size
int

Ukuran maksimum untuk blob yang akan diunduh dalam satu panggilan, bagian yang terlampaui akan diunduh dalam gugus (bisa paralel). Default ke 32*1024*1024, atau 32MB.

max_chunk_get_size
int

Ukuran gugus maksimum yang digunakan untuk mengunduh blob. Default ke 4*1024*1024, atau 4MB.

Metode

close

Metode ini untuk menutup soket yang dibuka oleh klien. Ini tidak perlu digunakan saat menggunakan dengan manajer konteks.

create_container

Membuat kontainer baru di bawah akun yang ditentukan.

Jika kontainer dengan nama yang sama sudah ada, ResourceExistsError akan dinaikkan. Metode ini mengembalikan klien untuk berinteraksi dengan kontainer yang baru dibuat.

delete_container

Menandai kontainer yang ditentukan untuk penghapusan.

Kontainer dan blob apa pun yang terkandung di dalamnya kemudian dihapus selama pengumpulan sampah. Jika kontainer tidak ditemukan, ResourceNotFoundError akan dinaikkan.

find_blobs_by_tags

Operasi Filter Blobs memungkinkan penelepon untuk mencantumkan blob di semua kontainer yang tagnya cocok dengan ekspresi pencarian tertentu. Blob filter mencari di semua kontainer dalam akun penyimpanan tetapi dapat dilingkupkan dalam ekspresi ke satu kontainer.

from_connection_string

Buat BlobServiceClient dari String Koneksi.

get_account_information

Mendapatkan informasi yang terkait dengan akun penyimpanan.

Informasi juga dapat diambil jika pengguna memiliki SAS ke kontainer atau blob. Kunci dalam kamus yang dikembalikan termasuk 'sku_name' dan 'account_kind'.

get_blob_client

Dapatkan klien untuk berinteraksi dengan blob yang ditentukan.

Blob belum ada.

get_container_client

Mendapatkan klien untuk berinteraksi dengan kontainer yang ditentukan.

Kontainer belum ada.

get_service_properties

Mendapatkan properti blob service akun penyimpanan, termasuk Azure Storage Analytics.

get_service_stats

Mengambil statistik yang terkait dengan replikasi untuk Blob service.

Ini hanya tersedia ketika replikasi geo-redundan akses baca diaktifkan untuk akun penyimpanan.

Dengan replikasi geo-redundan, Azure Storage mempertahankan data Anda tetap tahan lama di dua lokasi. Di kedua lokasi, Azure Storage terus mempertahankan beberapa replika data Anda yang sehat. Lokasi tempat Anda membaca, membuat, memperbarui, atau menghapus data adalah lokasi akun penyimpanan utama. Lokasi utama ada di wilayah yang Anda pilih pada saat Anda membuat akun melalui portal klasik Azure Management Azure, misalnya, US Tengah Utara. Lokasi tempat data Anda direplikasi adalah lokasi sekunder. Lokasi sekunder secara otomatis ditentukan berdasarkan lokasi primer; berada di pusat data kedua yang berada di wilayah yang sama dengan lokasi utama. Akses baca-saja tersedia dari lokasi sekunder, jika replikasi geo-redundan akses baca diaktifkan untuk akun penyimpanan Anda.

get_user_delegation_key

Dapatkan kunci delegasi pengguna untuk tujuan menandatangani token SAS. Kredensial token harus ada pada objek layanan agar permintaan ini berhasil.

list_containers

Mengembalikan generator untuk mencantumkan kontainer di bawah akun yang ditentukan.

Generator akan dengan malas mengikuti token kelanjutan yang dikembalikan oleh layanan dan berhenti ketika semua kontainer telah dikembalikan.

set_service_properties

Mengatur properti blob service akun penyimpanan, termasuk Azure Storage Analytics.

Jika elemen (misalnya analytics_logging) dibiarkan sebagai Tidak Ada, pengaturan yang ada pada layanan untuk fungsi tersebut dipertahankan.

undelete_container

Memulihkan kontainer yang dihapus sementara.

Operasi hanya akan berhasil jika digunakan dalam jumlah hari yang ditentukan yang ditetapkan dalam kebijakan penyimpanan penghapusan.

Baru dalam versi 12.4.0: Operasi ini diperkenalkan dalam versi API '2019-12-12'.

close

Metode ini untuk menutup soket yang dibuka oleh klien. Ini tidak perlu digunakan saat menggunakan dengan manajer konteks.

close()

create_container

Membuat kontainer baru di bawah akun yang ditentukan.

Jika kontainer dengan nama yang sama sudah ada, ResourceExistsError akan dinaikkan. Metode ini mengembalikan klien untuk berinteraksi dengan kontainer yang baru dibuat.

create_container(name: str, metadata: Dict[str, str] | None = None, public_access: PublicAccess | str | None = None, **kwargs) -> ContainerClient

Parameter

name
str
Diperlukan

Nama kontainer yang akan dibuat.

metadata
dict(str, str)
Diperlukan

Dict dengan pasangan nama-nilai untuk dikaitkan dengan kontainer sebagai metadata. Contoh: {'Category':'test'}

public_access
str atau PublicAccess
Diperlukan

Nilai yang mungkin termasuk: 'kontainer', 'blob'.

container_encryption_scope
dict atau ContainerEncryptionScope

Menentukan cakupan enkripsi default yang akan diatur pada kontainer dan digunakan untuk semua penulisan di masa mendatang.

Baru dalam versi 12.2.0.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam hitung detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

Tipe hasil

delete_container

Menandai kontainer yang ditentukan untuk penghapusan.

Kontainer dan blob apa pun yang terkandung di dalamnya kemudian dihapus selama pengumpulan sampah. Jika kontainer tidak ditemukan, ResourceNotFoundError akan dinaikkan.

delete_container(container: ContainerProperties | str, lease: BlobLeaseClient | str | None = None, **kwargs) -> None

Parameter

container
str atau ContainerProperties
Diperlukan

Kontainer yang akan dihapus. Ini bisa berupa nama kontainer, atau instans ContainerProperties.

lease
Diperlukan

Jika ditentukan, delete_container hanya berhasil jika sewa kontainer aktif dan cocok dengan ID ini. Diperlukan jika kontainer memiliki sewa aktif.

if_modified_since
datetime

Nilai TanggalWaktu. Azure mengharapkan nilai tanggal yang diteruskan menjadi UTC. Jika zona waktu disertakan, tanggalwaktu non-UTC apa pun akan dikonversi ke UTC. Jika tanggal diteruskan tanpa info zona waktu, diasumsikan sebagai UTC. Tentukan header ini untuk melakukan operasi hanya jika sumber daya telah dimodifikasi sejak waktu yang ditentukan.

if_unmodified_since
datetime

Nilai TanggalWaktu. Azure mengharapkan nilai tanggal yang diteruskan menjadi UTC. Jika zona waktu disertakan, tanggalwaktu non-UTC apa pun akan dikonversi ke UTC. Jika tanggal diteruskan tanpa info zona waktu, diasumsikan sebagai UTC. Tentukan header ini untuk melakukan operasi hanya jika sumber daya belum dimodifikasi sejak tanggal/waktu yang ditentukan.

etag
str

Nilai ETag, atau karakter kartubebas (*). Digunakan untuk memeriksa apakah sumber daya telah berubah, dan bertindak sesuai dengan kondisi yang ditentukan oleh parameter match_condition .

match_condition
MatchConditions

Kondisi kecocokan untuk digunakan pada etag.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam hitung detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

Tipe hasil

find_blobs_by_tags

Operasi Filter Blobs memungkinkan penelepon untuk mencantumkan blob di semua kontainer yang tagnya cocok dengan ekspresi pencarian tertentu. Blob filter mencari di semua kontainer dalam akun penyimpanan tetapi dapat dilingkupkan dalam ekspresi ke satu kontainer.

find_blobs_by_tags(filter_expression: str, **kwargs: Any) -> ItemPaged[FilteredBlob]

Parameter

filter_expression
str
Diperlukan

Ekspresi untuk menemukan blob yang tagnya cocok dengan kondisi yang ditentukan. misalnya. ""yourtagname"='firsttag' and "yourtagname2"='secondtag'" Untuk menentukan kontainer, misalnya. "@container='containerName' dan "Name"='C'"

results_per_page
int

Hasil maksimum per halaman saat paginating.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam hitung detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

Mengembalikan

Respons BlobProperties yang dapat diulang (auto-paging).

Tipe hasil

from_connection_string

Buat BlobServiceClient dari String Koneksi.

from_connection_string(conn_str: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self

Parameter

conn_str
str
Diperlukan

String koneksi ke akun Azure Storage.

credential
nilai default: None

Kredensial yang digunakan untuk mengautentikasi. Ini bersifat opsional jika URL akun sudah memiliki token SAS, atau string koneksi sudah memiliki nilai kunci akses bersama. Nilainya dapat berupa string token SAS, instans AzureSasCredential atau AzureNamedKeyCredential dari azure.core.credentials, kunci akses bersama akun, atau instans kelas TokenCredentials dari azure.identity. Kredensial yang disediakan di sini akan lebih diutamakan daripada yang ada dalam string koneksi. Jika menggunakan instans AzureNamedKeyCredential, "nama" harus menjadi nama akun penyimpanan, dan "kunci" harus menjadi kunci akun penyimpanan.

Mengembalikan

Klien Blob service.

Tipe hasil

get_account_information

Mendapatkan informasi yang terkait dengan akun penyimpanan.

Informasi juga dapat diambil jika pengguna memiliki SAS ke kontainer atau blob. Kunci dalam kamus yang dikembalikan termasuk 'sku_name' dan 'account_kind'.

get_account_information(**kwargs: Any) -> Dict[str, str]

Mengembalikan

Dict informasi akun (SKU dan jenis akun).

Tipe hasil

get_blob_client

Dapatkan klien untuk berinteraksi dengan blob yang ditentukan.

Blob belum ada.

get_blob_client(container: ContainerProperties | str, blob: BlobProperties | str, snapshot: Dict[str, Any] | str | None = None, *, version_id: str | None = None) -> BlobClient

Parameter

container
str atau ContainerProperties
Diperlukan

Kontainer tempat blob berada. Ini bisa berupa nama kontainer, atau instans ContainerProperties.

blob
str atau BlobProperties
Diperlukan

Blob yang digunakan untuk berinteraksi. Ini bisa menjadi nama blob, atau instans BlobProperties.

snapshot
str atau dict(str, Any)
nilai default: None

Rekam jepret blob opsional untuk dioperasikan. Ini bisa berupa ID rekam jepret, atau output kamus yang dikembalikan oleh create_snapshot.

version_id
str

Parameter id versi adalah nilai DateTime buram yang, saat ada, menentukan versi blob yang akan dioperasikan.

Mengembalikan

Sebuah BlobClient.

Tipe hasil

get_container_client

Mendapatkan klien untuk berinteraksi dengan kontainer yang ditentukan.

Kontainer belum ada.

get_container_client(container: ContainerProperties | str) -> ContainerClient

Parameter

container
str atau ContainerProperties
Diperlukan

Kontainer. Ini bisa berupa nama kontainer, atau instans ContainerProperties.

Mengembalikan

A ContainerClient.

Tipe hasil

get_service_properties

Mendapatkan properti blob service akun penyimpanan, termasuk Azure Storage Analytics.

get_service_properties(**kwargs: Any) -> Dict[str, Any]

Parameter

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

Mengembalikan

Objek yang berisi properti layanan blob seperti pengelogan analitik, metrik jam/menit, aturan cors, dll.

Tipe hasil

get_service_stats

Mengambil statistik yang terkait dengan replikasi untuk Blob service.

Ini hanya tersedia ketika replikasi geo-redundan akses baca diaktifkan untuk akun penyimpanan.

Dengan replikasi geo-redundan, Azure Storage mempertahankan data Anda tetap tahan lama di dua lokasi. Di kedua lokasi, Azure Storage terus mempertahankan beberapa replika data Anda yang sehat. Lokasi tempat Anda membaca, membuat, memperbarui, atau menghapus data adalah lokasi akun penyimpanan utama. Lokasi utama ada di wilayah yang Anda pilih pada saat Anda membuat akun melalui portal klasik Azure Management Azure, misalnya, US Tengah Utara. Lokasi tempat data Anda direplikasi adalah lokasi sekunder. Lokasi sekunder secara otomatis ditentukan berdasarkan lokasi primer; berada di pusat data kedua yang berada di wilayah yang sama dengan lokasi utama. Akses baca-saja tersedia dari lokasi sekunder, jika replikasi geo-redundan akses baca diaktifkan untuk akun penyimpanan Anda.

get_service_stats(**kwargs: Any) -> Dict[str, Any]

Parameter

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

Mengembalikan

Statistik layanan blob.

Tipe hasil

get_user_delegation_key

Dapatkan kunci delegasi pengguna untuk tujuan menandatangani token SAS. Kredensial token harus ada pada objek layanan agar permintaan ini berhasil.

get_user_delegation_key(key_start_time: datetime, key_expiry_time: datetime, **kwargs: Any) -> UserDelegationKey

Parameter

key_start_time
datetime
Diperlukan

Nilai TanggalWaktu. Menunjukkan kapan kunci menjadi valid.

key_expiry_time
datetime
Diperlukan

Nilai TanggalWaktu. Menunjukkan kapan kunci berhenti valid.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

Mengembalikan

Kunci delegasi pengguna.

Tipe hasil

list_containers

Mengembalikan generator untuk mencantumkan kontainer di bawah akun yang ditentukan.

Generator akan dengan malas mengikuti token kelanjutan yang dikembalikan oleh layanan dan berhenti ketika semua kontainer telah dikembalikan.

list_containers(name_starts_with: str | None = None, include_metadata: bool | None = False, **kwargs) -> ItemPaged[ContainerProperties]

Parameter

name_starts_with
str
Diperlukan

Memfilter hasil untuk mengembalikan hanya kontainer yang namanya dimulai dengan awalan yang ditentukan.

include_metadata
bool
Diperlukan

Menentukan bahwa metadata kontainer yang akan dikembalikan dalam respons. Nilai defaultnya adalah False.

include_deleted
bool

Menentukan bahwa kontainer yang dihapus akan dikembalikan dalam respons. Ini untuk akun yang diaktifkan pemulihan kontainer. Nilai defaultnya adalah False. .. versionadded:: 12.4.0

include_system
bool

Bendera yang menentukan bahwa kontainer sistem harus disertakan. .. versionadded:: 12.10.0

results_per_page
int

Jumlah maksimum nama kontainer untuk diambil per panggilan API. Jika permintaan tidak menentukan server akan mengembalikan hingga 5.000 item.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

Mengembalikan

Iterable (halaman otomatis) Dari ContainerProperties.

Tipe hasil

set_service_properties

Mengatur properti blob service akun penyimpanan, termasuk Azure Storage Analytics.

Jika elemen (misalnya analytics_logging) dibiarkan sebagai Tidak Ada, pengaturan yang ada pada layanan untuk fungsi tersebut dipertahankan.

set_service_properties(analytics_logging: BlobAnalyticsLogging | None = None, hour_metrics: Metrics | None = None, minute_metrics: Metrics | None = None, cors: List[CorsRule] | None = None, target_version: str | None = None, delete_retention_policy: RetentionPolicy | None = None, static_website: StaticWebsite | None = None, **kwargs) -> None

Parameter

analytics_logging
BlobAnalyticsLogging
Diperlukan

Mengelompokkan pengaturan Pengelogan Azure Analytics.

hour_metrics
Metrics
Diperlukan

Pengaturan metrik jam menyediakan ringkasan statistik permintaan yang dikelompokkan menurut API dalam agregat per jam untuk blob.

minute_metrics
Metrics
Diperlukan

Pengaturan metrik menit menyediakan statistik permintaan untuk setiap menit untuk blob.

cors
list[CorsRule]
Diperlukan

Anda dapat menyertakan hingga lima elemen CorsRule dalam daftar. Jika daftar kosong ditentukan, semua aturan CORS akan dihapus, dan CORS akan dinonaktifkan untuk layanan.

target_version
str
Diperlukan

Menunjukkan versi default yang akan digunakan untuk permintaan jika versi permintaan masuk tidak ditentukan.

delete_retention_policy
RetentionPolicy
Diperlukan

Kebijakan penyimpanan penghapusan menentukan apakah akan mempertahankan blob yang dihapus. Ini juga menentukan jumlah hari dan versi blob yang akan disimpan.

static_website
StaticWebsite
Diperlukan

Menentukan apakah fitur situs web statis diaktifkan, dan jika ya, menunjukkan dokumen indeks dan dokumen kesalahan 404 untuk digunakan.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

Tipe hasil

undelete_container

Memulihkan kontainer yang dihapus sementara.

Operasi hanya akan berhasil jika digunakan dalam jumlah hari yang ditentukan yang ditetapkan dalam kebijakan penyimpanan penghapusan.

Baru dalam versi 12.4.0: Operasi ini diperkenalkan dalam versi API '2019-12-12'.

undelete_container(deleted_container_name: str, deleted_container_version: str, **kwargs: Any) -> ContainerClient

Parameter

deleted_container_name
str
Diperlukan

Menentukan nama kontainer yang dihapus untuk dipulihkan.

deleted_container_version
str
Diperlukan

Menentukan versi kontainer yang dihapus untuk dipulihkan.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

Mengembalikan

ContainerClient yang tidak dihapus.

Tipe hasil

Atribut

api_version

Versi Api Penyimpanan yang digunakan untuk permintaan.

location_mode

Mode lokasi yang saat ini digunakan klien.

Secara default ini akan menjadi "primer". Opsi termasuk "primer" dan "sekunder".

primary_endpoint

URL titik akhir utama lengkap.

primary_hostname

Nama host titik akhir utama.

secondary_endpoint

URL titik akhir sekunder penuh jika dikonfigurasi.

Jika tidak tersedia, ValueError akan dinaikkan. Untuk menentukan nama host sekunder secara eksplisit, gunakan argumen kata kunci secondary_hostname opsional pada instansiasi.

Pengecualian

secondary_hostname

Nama host titik akhir sekunder.

Jika tidak tersedia, ini tidak akan ada. Untuk menentukan nama host sekunder secara eksplisit, gunakan argumen kata kunci secondary_hostname opsional pada instansiasi.

url

URL titik akhir lengkap untuk entitas ini, termasuk token SAS jika digunakan.

Ini bisa berupa titik akhir utama, atau titik akhir sekunder tergantung pada saat ini location_mode. :returns: URL titik akhir lengkap ke entitas ini, termasuk token SAS jika digunakan. :rtype: str