共用方式為


aio 套件

類別

BlobClient

要與特定 Blob 互動的用戶端,雖然該 Blob 可能還不存在。

BlobLeaseClient

建立新的 BlobLeaseClient。

此用戶端會在 BlobClient 或 ContainerClient 上提供租用作業。

BlobPrefix

Blob 屬性的可反覆運算。

使用分隔符號時,從walk_blobs傳回。 可以視為虛擬 Blob 目錄。

BlobServiceClient

在帳戶層級與 Blob 服務互動的用戶端。

此用戶端提供作業來擷取和設定帳戶屬性,以及列出、建立和刪除帳戶內的容器。 對於與特定容器或 Blob 相關的作業,也可以使用 get_client 函式來擷取這些實體的用戶端。

ContainerClient

要與特定容器互動的用戶端,雖然該容器可能還不存在。

對於與此容器內特定 Blob 相關的作業,可以使用 函式擷取 get_blob_client Blob 用戶端。

ExponentialRetry

指數重試。

建構指數重試物件。 第一次重試會使用initial_backoff。 後續重試會在 initial_backoff + increment_power^retry_count 秒之後重試。 例如,根據預設,第一次重試發生在 15 秒後、 (15+3^1 後的第二個) = 18 秒,而 (15+3^2 後的第三個重試) = 24 秒。

LinearRetry

線性重試。

建構線性重試物件。

StorageStreamDownloader

要從 Azure 儲存體下載的串流物件。

函數

download_blob_from_url

將 Blob 的內容下載到本機檔案或資料流程。

async download_blob_from_url(blob_url: str, output: str, credential: Optional[Union[str, Dict[str, str], AzureNamedKeyCredential, AzureSasCredential, "TokenCredential"]] # pylint: disable=line-too-long = None, **kwargs) -> None

參數

blob_url
str
必要

Blob 的完整 URI。 這也可以包含 SAS 權杖。

output
str 或 <xref:<xref:writable stream>>
必要

資料應該下載到何處。 這可能是要寫入的檔案路徑,或是要寫入的開啟 IO 控制碼。

credential
預設值: None

要用來驗證的認證。 如果 Blob URL 已經有 SAS 權杖或 Blob 是公用的,則這是選擇性的。 此值可以是 SAS 權杖字串、來自 azure.core.credentials 的 AzureSasCredential 或 AzureNamedKeyCredential 實例、帳戶共用存取金鑰,或來自 azure.identity 的 TokenCredentials 類別實例。 如果資源 URI 已經包含 SAS 權杖,則會忽略此權杖,以使用明確的認證

  • 除了 AzureSasCredential 的情況之外,衝突的 SAS 權杖將會引發 ValueError。 如果使用 AzureNamedKeyCredential 的實例,「name」 應該是儲存體帳戶名稱,而 「key」 應該是儲存體帳戶金鑰。
overwrite
bool

如果本機檔案已經存在,是否應該覆寫本機檔案。 預設值為 False - 在此情況下,如果檔案已經存在,則會引發 ValueError。 如果設定為 True,將會嘗試寫入現有的檔案。 如果傳入資料流程控制碼,則會忽略此值。

max_concurrency
int

要下載的平行連線數目。

offset
int

要用來下載 Blob 區段的位元組範圍開始。 如果提供長度,則必須設定 。

length
int

要從資料流程讀取的位元組數目。 這是選擇性的,但應該提供以獲得最佳效能。

validate_content
bool

如果為 true,則計算 Blob 每個區塊的 MD5 雜湊。 儲存體服務會檢查與已傳送雜湊一起抵達之內容的雜湊。 如果使用 HTTP 而非 HTTPs 作為 HTTPs,則這主要對於偵測連線上的 bitflip 很有用, (預設) 將已經過驗證。 請注意,此 MD5 雜湊不會隨 Blob 儲存。 另請注意,如果啟用,將不會使用記憶體有效率的上傳演算法,因為計算 MD5 雜湊需要緩衝處理整個區塊,因此會破壞記憶體有效演算法的目的。

傳回類型

upload_blob_to_url

將資料上傳至指定的 URL

資料會以區塊 Blob 的形式上傳。

param str blob_url:Blob 的完整 URI。 這也可以包含 SAS 權杖。

param 資料:要上傳的資料。 這可以是位元組、文字、可反覆運算或類似檔案的物件。

type data:bytes 或 str 或 Iterable

async upload_blob_to_url(blob_url: str, data: Union[Iterable[AnyStr], IO[AnyStr]], credential: Optional[Union[str, Dict[str, str], AzureNamedKeyCredential, AzureSasCredential, "TokenCredential"]] # pylint: disable=line-too-long = None, **kwargs) -> dict[str, Any]

參數

credential
預設值: None

要用來驗證的認證。 如果 Blob URL 已經有 SAS 權杖,則這是選擇性的。 此值可以是 SAS 權杖字串、來自 azure.core.credentials 的 AzureSasCredential 或 AzureNamedKeyCredential 實例、帳戶共用存取金鑰,或來自 azure.identity 的 TokenCredentials 類別實例。 如果資源 URI 已經包含 SAS 權杖,則會忽略此權杖,以使用明確的認證

  • 除了 AzureSasCredential 的情況之外,衝突的 SAS 權杖將會引發 ValueError。 如果使用 AzureNamedKeyCredential 的實例,「name」 應該是儲存體帳戶名稱,而 「key」 應該是儲存體帳戶金鑰。

paramtype credential: Optional[Union[str, Dict[str, str], AzureNamedKeyCredential, AzureSasCredential, 「TokenCredential」]] # pylint: disable=line-too-long

關鍵字 bool overwrite:要上傳的 Blob 是否應該覆寫目前的資料。 如果為 True,upload_blob_to_url將會覆寫任何現有的資料。 如果設定為 False,作業將會失敗,且 ResourceExistsError 會失敗。

關鍵字 int max_concurrency:要下載的平行連線數目。

關鍵字 int length:要從資料流程讀取的位元組數目。 這是選擇性的,但應該提供以獲得最佳效能。

關鍵字聽寫 (str,str) 中繼資料:與 Blob 相關聯的名稱/值組作為中繼資料。

關鍵字 bool validate_content:如果為 true,則會針對 Blob 的每個區塊計算 MD5 雜湊。 儲存體服務會檢查與已傳送雜湊一起抵達之內容的雜湊。 如果使用 HTTP 而非 HTTPs 作為 HTTPs,則這主要對於偵測連線上的 bitflip 很有用, (預設) 將已經過驗證。 請注意,此 MD5 雜湊不會隨 Blob 儲存。 另請注意,如果啟用,將不會使用記憶體有效率的上傳演算法,因為計算 MD5 雜湊需要緩衝處理整個區塊,因此會破壞記憶體有效演算法的目的。

關鍵字 str 編碼:當文字提供為輸入時要使用的編碼方式。 預設為 UTF-8。

會傳回:Blob 更新的屬性聽寫 (Etag 和上次修改)

rtype:dict (str、Any)

blob_url
data