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
參數
- credential
要用來驗證的認證。 如果 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
要用來驗證的認證。 如果 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