共用方式為


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 容器的屬性類別。

ContainerProperties 回的實例會透過字典介面公開這些值,例如: container_props["last_modified"] 。 此外,容器名稱可做為 container_props["name"]

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

參數

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 雜湊需要緩衝處理整個區塊,因此會破壞記憶體有效演算法的目的。

傳回類型

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

參數

account_name
str
必要

用來產生共用存取簽章的儲存體帳戶名稱。

account_key
str
必要

帳戶金鑰也稱為共用金鑰或存取金鑰,以產生共用存取簽章。

resource_types
strResourceTypes
必要

指定帳戶 SAS 可存取的資源類型。

permission
strAccountSasPermissions
必要

這些權限與共用存取簽章相關聯。 使用者只能執行這些權限允許的作業。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。

expiry
datetimestr
必要

共用存取簽章變成不正確時間。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。 Azure 一律會將值轉換為 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。

start
datetimestr
預設值: None

共用存取簽章生效的時間。 如果省略,此呼叫的開始時間會假設為儲存體服務收到要求的時間。 Azure 一律會將值轉換為 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。

ip
str
預設值: None

指定要接受要求的 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) 權杖。

傳回類型

str

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

參數

account_name
str
必要

用來產生共用存取簽章的儲存體帳戶名稱。

container_name
str
必要

容器的名稱。

blob_name
str
必要

Blob 的名稱。

snapshot
str
預設值: None

選擇性 Blob 快照集識別碼。

account_key
str
預設值: None

帳戶金鑰也稱為共用金鑰或存取金鑰,以產生共用存取簽章。 必須指定 account_keyuser_delegation_key

user_delegation_key
UserDelegationKey
預設值: None

使用者可以傳入使用者委派金鑰,而不是帳戶共用金鑰。 使用 AAD 身分識別進行驗證,即可從服務取得使用者委派金鑰;呼叫 即可完成此作業 get_user_delegation_key 。 當存在時,SAS 會改為使用使用者委派金鑰簽署。

permission
strBlobSasPermissions
預設值: None

這些權限與共用存取簽章相關聯。 使用者只能執行這些權限允許的作業。 許可權必須經過排序 racwdxytmei。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。

expiry
datetimestr
預設值: None

共用存取簽章變成不正確時間。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。 Azure 一律會將值轉換為 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。

start
datetimestr
預設值: None

共用存取簽章生效的時間。 如果省略,此呼叫的開始時間會假設為儲存體服務收到要求的時間。 Azure 一律會將值轉換為 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。

policy_id
str
預設值: None

長度上限為 64 個字元的唯一值,與預存存取原則相互關聯。 若要建立預存存取原則,請使用 set_container_access_policy

ip
str
預設值: None

指定要接受要求的 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) 權杖。

傳回類型

str

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

參數

account_name
str
必要

用來產生共用存取簽章的儲存體帳戶名稱。

container_name
str
必要

容器的名稱。

account_key
str
預設值: None

帳戶金鑰也稱為共用金鑰或存取金鑰,以產生共用存取簽章。 必須指定 account_keyuser_delegation_key

user_delegation_key
UserDelegationKey
預設值: None

使用者可以傳入使用者委派金鑰,而不是帳戶共用金鑰。 使用 AAD 身分識別進行驗證,即可從服務取得使用者委派金鑰;呼叫 即可完成此作業 get_user_delegation_key 。 當存在時,SAS 會改為使用使用者委派金鑰簽署。

permission
strContainerSasPermissions
預設值: None

這些權限與共用存取簽章相關聯。 使用者只能執行這些權限允許的作業。 許可權必須排序 racwdxyltfmei。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。

expiry
datetimestr
預設值: None

共用存取簽章變成不正確時間。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。 Azure 一律會將值轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。

start
datetimestr
預設值: None

共用存取簽章生效的時間。 如果省略,此呼叫的開始時間會假設為儲存體服務收到要求的時間。 Azure 一律會將值轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。

policy_id
str
預設值: None

長度上限為 64 個字元的唯一值,與預存存取原則相互關聯。 若要建立預存存取原則,請使用 set_container_access_policy

ip
str
預設值: None

指定要接受要求的 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) 權杖。

傳回類型

str

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]

參數

blob_url
str
必要

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

data
bytesstrIterable
必要

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

credential
預設值: None

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

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

metadata
dict(str,str)

與 Blob 相關聯的名稱/值組,可做為中繼資料。

validate_content
bool

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

encoding
str

如果提供文字做為輸入,則要使用的編碼方式。 預設為 UTF-8。

傳回

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

傳回類型