blob 套件
套件
aio |
類別
AccessPolicy |
集合所使用的存取原則類別,並在每個服務中取得存取原則方法。 儲存的存取原則可以指定其相關聯之共用存取簽章的開始時間、到期時間及權限。 根據您想要控制資源的存取方式,您可以在預存存取原則中指定所有這些參數,並從共用存取簽章的 URL 中省略這些參數。 這樣做可讓您隨時修改相關聯的簽章行為,以及將它撤銷。 您也可以在儲存的存取原則中指定一個或多個存取原則參數,然後在 URL 上指定其他參數。 最後,您可以在 URL 上指定所有參數。 在此情況下,您可以使用儲存的存取原則撤銷簽章,但不修改其行為。 共用存取簽章和預存存取原則必須包含驗證簽章所需的所有欄位。 如果遺漏任何必要的欄位,要求將會失敗。 同樣地,如果同時在共用存取簽章 URL 和預存存取原則中指定某個欄位,則要求會失敗,並顯示狀態碼 400 (不正確的要求)。 |
AccountSasPermissions |
ResourceTypes 類別,用於generate_account_sas函式,以及與 set_*_acl 搭配使用的 AccessPolicies。 有兩種類型的 SAS 可用來授與資源存取權。 其中一個是授與特定資源的存取權, (資源特定) 。 另一個是授與特定帳戶之整個服務的存取權,並根據這裡找到的效能來允許特定作業。 |
ArrowDialect |
箭號架構的欄位。 必須填入所有必要的參數,才能傳送至 Azure。 |
BlobAnalyticsLogging |
Azure Analytics 記錄設定。 |
BlobBlock |
BlockBlob Block 類別。 |
BlobClient |
要與特定 Blob 互動的用戶端,雖然該 Blob 可能還不存在。 如需更多選擇性設定,請按一下 這裡。 |
BlobLeaseClient |
建立新的 BlobLeaseClient。 此用戶端會在 BlobClient 或 ContainerClient 上提供租用作業。 |
BlobPrefix |
Blob 屬性的可反覆運算。 使用分隔符號時,從walk_blobs傳回。 可以視為虛擬 Blob 目錄。 |
BlobProperties |
Blob 屬性。 |
BlobQueryError |
快速查詢作業期間發生錯誤。 |
BlobQueryReader |
用來讀取查詢結果的串流物件。 |
BlobSasPermissions |
要與 函式搭配 generate_blob_sas 使用的 BlobSasPermissions 類別。 |
BlobServiceClient |
在帳戶層級與 Blob 服務互動的用戶端。 此用戶端提供作業來擷取和設定帳戶屬性,以及列出、建立和刪除帳戶內的容器。 對於與特定容器或 Blob 相關的作業,也可以使用 get_client 函式來擷取這些實體的用戶端。 如需更多選擇性設定,請按一下 這裡。 |
ContainerClient |
要與特定容器互動的用戶端,雖然該容器可能還不存在。 對於與此容器內特定 Blob 相關的作業,可以使用 函式擷取 get_blob_client Blob 用戶端。 如需更多選擇性設定,請按一下 這裡。 |
ContainerEncryptionScope |
容器的預設加密範圍設定。 此範圍會隱含地用於容器內的所有未來寫入,但可以覆寫每個 Blob 作業。 12.2.0 版的新功能。 |
ContainerProperties |
Blob 容器的屬性類別。 傳 |
ContainerSasPermissions |
要與 函式搭配 generate_container_sas 使用的 ContainerSasPermissions 類別,以及搭配 set_container_access_policy 使用的 AccessPolicies。 |
ContentSettings |
Blob 的內容設定。 |
CopyProperties |
Blob 複製屬性。 如果此 Blob 從未成為複製 Blob 作業中的目的地,或此 Blob 在結束複製 Blob 作業之後修改,例如,使用設定 Blob 屬性、上傳 Blob 或認可區塊清單,則這些屬性會是 None 。 |
CorsRule |
CORS 是一項 HTTP 功能,可讓 Web 應用程式在某個網域下執行,以存取其他網域中的資源。 網頁瀏覽器會實作稱為同源原則的安全性限制,其可防止網頁呼叫不同網域中的 API;CORS 則提供了一個安全的方式,可讓一個網域 (原始網域) 能夠呼叫其他網域中的 API。 |
CustomerProvidedEncryptionKey |
Azure 儲存體中的所有資料都會使用帳戶層級加密金鑰進行待用加密。 在 2018-06-17 版和更新版本中,您可以藉由在儲存體服務的要求中提供 AES-256 加密金鑰,來管理用來加密 Blob 內容和每個 Blob 應用程式中繼資料的金鑰。 當您使用客戶提供的金鑰時,Azure 儲存體不會管理或保存您的金鑰。 將資料寫入 Blob 時,提供的金鑰會用來加密您的資料,再將資料寫入磁片。 加密金鑰的 SHA-256 雜湊會與 Blob 內容一起寫入,並用來驗證對 Blob 的所有後續作業都使用相同的加密金鑰。 此雜湊無法用來擷取加密金鑰或解密 Blob 的內容。 讀取 Blob 時,提供的金鑰會在從磁片讀取資料之後用來解密資料。 在這兩種情況下,只要加密或解密程式完成,就會安全地捨棄提供的加密金鑰。 |
DelimitedJsonDialect |
定義 Blob 資料查詢的輸入或輸出 JSON 序列化。 關鍵字 str 分隔符號:行分隔符號,預設值為 ' ' |
DelimitedTextDialect |
定義 blob 查詢要求的輸入或輸出 (CSV) 序列化。 |
ExponentialRetry |
指數重試。 建構指數重試物件。 第一次重試會使用initial_backoff。 後續重試會在 initial_backoff + increment_power^retry_count 秒之後重試。 |
FilteredBlob |
來自篩選 Blob API 呼叫的 Blob 資訊。 |
ImmutabilityPolicy |
設定 Blob、Blob 快照集或 Blob 版本的不變性原則的選擇性參數。 12.10.0 版的新功能:這是在 API 版本 '2020-10-02' 中引進的。 |
LeaseProperties |
Blob 租用屬性。 |
LinearRetry |
線性重試。 建構線性重試物件。 |
LocationMode |
指定要求應該傳送至的位置。 此模式僅適用于允許次要讀取存取的 RA-GRS 帳戶。 所有其他帳戶類型都必須使用 PRIMARY。 |
Metrics |
依 API 分組的要求統計資料摘要,以小時或分鐘為單位的 Blob 匯總。 |
ObjectReplicationPolicy |
套用至 Blob 的原則識別碼和規則識別碼。 |
ObjectReplicationRule |
套用至 Blob 的原則識別碼和規則識別碼。 |
PageRange |
分頁 Blob 的頁面範圍。 |
PartialBatchErrorException |
批次作業中有部分失敗。 |
ResourceTypes |
指定帳戶 SAS 可存取的資源類型。 |
RetentionPolicy |
決定相關聯資料應保存多久的保留原則。 |
StaticWebsite |
可讓帳戶裝載靜態網站的屬性。 |
StorageStreamDownloader |
要從 Azure 儲存體下載的串流物件。 |
UserDelegationKey |
代表 Azure 儲存體根據其 Azure Active Directory 存取權杖提供給使用者的使用者委派金鑰。 欄位會儲存為簡單的字串,因為使用者不需要與此物件互動;若要產生識別 SAS,使用者只要將它傳遞至正確的 API 即可。 |
列舉
ArrowType | |
BlobImmutabilityPolicyMode |
指定要在 Blob 上設定的不變性原則模式。 「可變動」只能由服務傳回,請勿設定為 「可變動」。 |
BlobType | |
BlockState |
區塊 Blob 區塊類型。 |
PremiumPageBlobTier |
指定要設定 Blob 的分頁 Blob 層。 這只適用于進階儲存體帳戶上的分頁 Blob。 請參閱: https://docs.microsoft.com/en-us/azure/storage/storage-premium-storage#scalability-and-performance-targets 如需每個 PageBlobTier 對應 IOPS 和輸送量的詳細資訊。 |
PublicAccess |
指定是否可以公開存取容器中的資料,以及存取層級。 |
QuickQueryDialect |
指定快速查詢輸入/輸出方言。 |
RehydratePriority |
如果物件處於解除凍結擱置狀態,則會以解除凍結的優先順序傳回此標頭。 有效值為 High 和 Standard。 |
SequenceNumberAction |
序號動作。 |
StandardBlobTier |
指定要設定 Blob 的 Blob 層。 這只適用于標準儲存體帳戶上的區塊 Blob。 |
StorageErrorCode |
函數
download_blob_from_url
將 Blob 的內容下載到本機檔案或資料流程。
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 雜湊需要緩衝處理整個區塊,因此會破壞記憶體有效演算法的目的。
傳回類型
generate_account_sas
產生 Blob 服務的共用存取簽章。
使用傳回的簽章搭配任何 BlobServiceClient、ContainerClient 或 BlobClient 的認證參數。
generate_account_sas(account_name: str, account_key: str, resource_types: ResourceTypes | str, permission: AccountSasPermissions | str, expiry: datetime | str | None, start: datetime | str | None = None, ip: str | None = None, **kwargs: Any) -> str
參數
- permission
- str 或 AccountSasPermissions
這些權限與共用存取簽章相關聯。 使用者只能執行這些權限允許的作業。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。
共用存取簽章變成不正確時間。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。 Azure 一律會將值轉換為 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。
共用存取簽章生效的時間。 如果省略,此呼叫的開始時間會假設為儲存體服務收到要求的時間。 Azure 一律會將值轉換為 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。
- ip
- str
指定要接受要求的 IP 位址或 IP 位址範圍。 如果要求的來源 IP 位址不符合 SAS 權杖上指定的 IP 位址或位址範圍,則不會驗證要求。 例如,在 SAS 上指定 ip=168.1.5.65 或 ip=168.1.5.60-168.1.5.70 會將要求限制為這些 IP 位址。
- protocol
- str
指定所提出要求的允許通訊協定。 預設值為 HTTPs。
- encryption_scope
- str
指定所提出要求的加密範圍,讓所有寫入作業都會服務加密。
傳回
共用存取簽章 (sas) 權杖。
傳回類型
generate_blob_sas
產生 Blob 的共用存取簽章。
使用傳回的簽章搭配任何 BlobServiceClient、ContainerClient 或 BlobClient 的認證參數。
generate_blob_sas(account_name: str, container_name: str, blob_name: str, snapshot: str | None = None, account_key: str | None = None, user_delegation_key: UserDelegationKey | None = None, permission: BlobSasPermissions | str | None = None, expiry: datetime | str | None = None, start: datetime | str | None = None, policy_id: str | None = None, ip: str | None = None, **kwargs: Any) -> Any
參數
- user_delegation_key
- UserDelegationKey
使用者可以傳入使用者委派金鑰,而不是帳戶共用金鑰。 使用 AAD 身分識別進行驗證,即可從服務取得使用者委派金鑰;呼叫 即可完成此作業 get_user_delegation_key 。 當存在時,SAS 會改為使用使用者委派金鑰簽署。
- permission
- str 或 BlobSasPermissions
這些權限與共用存取簽章相關聯。 使用者只能執行這些權限允許的作業。 許可權必須經過排序 racwdxytmei。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。
共用存取簽章變成不正確時間。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。 Azure 一律會將值轉換為 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。
共用存取簽章生效的時間。 如果省略,此呼叫的開始時間會假設為儲存體服務收到要求的時間。 Azure 一律會將值轉換為 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。
- ip
- str
指定要接受要求的 IP 位址或 IP 位址範圍。 如果要求的來源 IP 位址不符合 SAS 權杖上指定的 IP 位址或位址範圍,則不會驗證要求。 例如,在 SAS 上指定 ip=168.1.5.65 或 ip=168.1.5.60-168.1.5.70 會將要求限制為這些 IP 位址。
- version_id
- str
選擇性的 Blob 版本識別碼。 此參數僅適用于啟用版本設定的儲存體帳戶。 請注意,輸出 SAS 中不包含 'versionid' 查詢參數。 因此,使用輸出 SAS 在特定版本上運作時,請將 'version_id' 參數提供給任何 API。
12.4.0 版的新功能:此關鍵字引數是在 API 版本 '2019-12-12' 中引進。
- protocol
- str
指定所提出要求的允許通訊協定。 預設值為 HTTPs。
- cache_control
- str
使用這個共用存取簽章存取資源時,Cache-Control的回應標頭值。
- content_disposition
- str
使用這個共用存取簽章存取資源時,Content-Disposition 的回應標頭值。
- content_encoding
- str
使用這個共用存取簽章存取資源時,Content-Encoding 的回應標頭值。
- content_language
- str
使用這個共用存取簽章存取資源時,Content-Language 的回應標頭值。
- content_type
- str
使用這個共用存取簽章存取資源時,Content-Type 的回應標頭值。
- encryption_scope
- str
指定所提出要求的加密範圍,讓所有寫入作業都會服務加密。
- correlation_id
- str
用來將儲存體稽核記錄與主體產生和散發 SAS 所使用的稽核記錄相互關聯識別碼。 這只能在產生具有委派金鑰的 SAS 時使用。
傳回
共用存取簽章 (sas) 權杖。
傳回類型
generate_container_sas
產生容器的共用存取簽章。
使用傳回的簽章搭配任何 BlobServiceClient、ContainerClient 或 BlobClient 的認證參數。
generate_container_sas(account_name: str, container_name: str, account_key: str | None = None, user_delegation_key: UserDelegationKey | None = None, permission: ContainerSasPermissions | str | None = None, expiry: datetime | str | None = None, start: datetime | str | None = None, policy_id: str | None = None, ip: str | None = None, **kwargs: Any) -> Any
參數
- user_delegation_key
- UserDelegationKey
使用者可以傳入使用者委派金鑰,而不是帳戶共用金鑰。 使用 AAD 身分識別進行驗證,即可從服務取得使用者委派金鑰;呼叫 即可完成此作業 get_user_delegation_key 。 當存在時,SAS 會改為使用使用者委派金鑰簽署。
- permission
- str 或 ContainerSasPermissions
這些權限與共用存取簽章相關聯。 使用者只能執行這些權限允許的作業。 許可權必須排序 racwdxyltfmei。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。
共用存取簽章變成不正確時間。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。 Azure 一律會將值轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。
共用存取簽章生效的時間。 如果省略,此呼叫的開始時間會假設為儲存體服務收到要求的時間。 Azure 一律會將值轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。
- ip
- str
指定要接受要求的 IP 位址或 IP 位址範圍。 如果要求的來源 IP 位址不符合 SAS 權杖上指定的 IP 位址或位址範圍,則不會驗證要求。 例如,在 SAS 上指定 ip=168.1.5.65 或 ip=168.1.5.60-168.1.5.70 會限制這些 IP 位址的要求。
- protocol
- str
指定要求允許的通訊協定。 預設值為 HTTPs。
- cache_control
- str
當使用此共用存取簽章存取資源時,Cache-Control的回應標頭值。
- content_disposition
- str
當使用此共用存取簽章存取資源時,Content-Disposition 的回應標頭值。
- content_encoding
- str
當使用此共用存取簽章存取資源時,Content-Encoding 的回應標頭值。
- content_language
- str
當使用此共用存取簽章存取資源時,Content-Language 的回應標頭值。
- content_type
- str
當使用此共用存取簽章存取資源時,Content-Type 的回應標頭值。
- encryption_scope
- str
指定所提出要求的加密範圍,讓所有寫入作業都會服務加密。
- correlation_id
- str
用來將儲存體稽核記錄與主體產生和散發 SAS 所使用的稽核記錄相互關聯之相互關聯識別碼。 這只能在產生具有委派金鑰的 SAS 時使用。
傳回
共用存取簽章 (sas) 權杖。
傳回類型
upload_blob_to_url
將資料上傳至指定的 URL
資料會上傳為區塊 Blob。
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」 應該是儲存體帳戶金鑰。
- overwrite
- bool
要上傳的 Blob 是否應該覆寫目前的資料。 如果為 True,upload_blob_to_url將會覆寫任何現有的資料。 如果設定為 False,作業將會因為 ResourceExistsError 而失敗。
- max_concurrency
- int
要下載的平行連線數目。
- length
- int
要從資料流程讀取的位元組數目。 這是選擇性的,但應該提供以獲得最佳效能。
- validate_content
- bool
如果為 true,則計算 Blob 每個區塊的 MD5 雜湊。 儲存體服務會檢查已使用已傳送之雜湊抵達的內容雜湊。 如果使用 HTTP 而非 HTTPs 作為 HTTPs, (預設) 已驗證,這主要對於偵測線路上的 bitflip 相當重要。 請注意,此 MD5 雜湊不會隨 Blob 儲存。 另請注意,如果啟用,將不會使用具有記憶體效率的上傳演算法,因為計算 MD5 雜湊需要緩衝整個區塊,因此會破壞記憶體效率演算法的目的。
- encoding
- str
如果提供文字做為輸入,則要使用的編碼方式。 預設為 UTF-8。
傳回
Blob 更新的屬性聽寫 (Etag 和上次修改)