共用方式為


BaseBlobService 類別

這是管理 Blob 資源的主要類別。

Blob 服務會在雲端將文字和二進位資料儲存為 Blob。 Blob 服務提供下列三個資源:儲存體帳戶、容器和 Blob。 在您的儲存體帳戶中,容器提供一個組織 Blob 集的方式。 如需詳細資訊,請參閱: https://msdn.microsoft.com/en-us/library/azure/ee691964.aspx

:type ~azure.storage.common.TokenCredential

繼承
BaseBlobService

建構函式

BaseBlobService(account_name=None, account_key=None, sas_token=None, is_emulated=False, protocol='https', endpoint_suffix='core.windows.net', custom_domain=None, request_session=None, connection_string=None, socket_timeout=None, token_credential=None)

參數

account_name
str
預設值: None

儲存體帳戶名稱。 這可用來驗證使用帳戶金鑰簽署的要求,以及建構儲存體端點。 除非指定連接字串,或自訂網域搭配匿名驗證使用,否則為必要專案。

account_key
str
預設值: None

儲存體帳戶金鑰。 這用於共用金鑰驗證。 如果未指定帳戶金鑰或 sas 權杖,則會使用匿名存取。

sas_token
str
預設值: None

用來驗證要求的共用存取簽章權杖,而不是帳戶金鑰。 如果同時指定帳戶金鑰和 sas 權杖,則會使用帳戶金鑰來簽署。 如果未指定,則會使用匿名存取。

is_emulated
bool
預設值: False

是否要使用模擬器。 預設為 False。 如果指定,將會覆寫除了連接字串和要求會話以外的所有其他參數。

protocol
str
預設值: https

要用於要求的通訊協定。 預設為 HTTPs。

endpoint_suffix
str
預設值: core.windows.net

URL 的主機基底元件,減去帳戶名稱。 預設為 Azure (core.windows.net) 。 覆寫此選項以使用中國雲端 (core.chinacloudapi.cn) 。

custom_domain
str
預設值: None

要使用的自訂網域。 這可以在 Azure 入口網站中設定。 例如,'www.mydomain.com'。

request_session
<xref:requests.Session>
預設值: None

要用於 HTTP 要求的會話物件。

connection_string
str
預設值: None

如果指定,這會覆寫要求會話以外的所有其他參數。 如需連接字串格式,請參閱 http://azure.microsoft.com/en-us/documentation/articles/storage-configure-connection-string/

socket_timeout
int
預設值: None

如果指定,這會覆寫預設通訊端逾時。 指定的逾時是以秒為單位。 如需預設值,請參閱 _constants.py 中的DEFAULT_SOCKET_TIMEOUT。

token_credential
預設值: None

用來驗證 HTTPS 要求的權杖認證。 權杖值應該在到期前更新。

變數

MAX_SINGLE_GET_SIZE
int

如果max_connections大於 1,則get_blob_to_* 方法會執行第一個範圍的大小。 如果 Blob 小於此值,則會傳回較少的資料。

MAX_CHUNK_GET_SIZE
int

如果max_connections大於 1,且 blob 大於 MAX_SINGLE_GET_SIZE,則後續範圍的大小會由 get_blob_to_* 方法執行。 如果 Blob 的其餘部分小於這個值,則會傳回較少的資料。 如果此值設定為大於 4MB,content_validation會在啟用時擲回錯誤。 不過,如果content_validation不需要大於 4MB 的大小可能是最佳。 不建議將此設定為低於 4MB。

key_encryption_key
object

使用者選擇性地提供金鑰加密金鑰。 如果提供,將會用來加密/解密支援的方法。 對於需要解密的方法,必須提供key_encryption_key或解析程式。 如果兩者都提供,解析程式會優先使用。 必須針對需要加密的 API 實作下列方法:wrap_key (金鑰) 包裝指定的金鑰 (位元組) 使用使用者選擇的演算法。 以位元組形式傳回加密金鑰。 get_key_wrap_algorithm () – 傳回用來包裝指定對稱金鑰的演算法。 get_kid () –傳回此金鑰加密金鑰的字串金鑰識別碼。 必須針對需要解密的 API 實作下列方法:unwrap_key (金鑰、演算法) –使用字串指定的演算法傳回指定對稱金鑰的未包裝形式。 get_kid () –傳回此金鑰加密金鑰的字串金鑰識別碼。

key_resolver_function
kid) (<xref:function>

函式,可選擇性地解析使用者所提供的金鑰。 如果提供,將會用來解密支援的方法。 對於需要解密的方法,必須提供key_encryption_key或解析程式。 如果兩者都提供,解析程式會優先使用。 它會使用子字串傳回實作上述介面的金鑰加密金鑰。

require_encryption
bool

可設定的旗標,可確保所有訊息都已成功上傳至佇列,且所有從佇列下載並成功讀取的訊息,在伺服器上都會加密。 如果設定此旗標,則必須提供加密/解密的所有必要參數。 請參閱上述有關key_encryption_key和解析程式的批註。

方法

abort_copy_blob

中止擱置copy_blob作業,並保留長度為零和完整中繼資料的目的地 Blob。

acquire_blob_lease

要求新的租用。 如果 Blob 沒有作用中的租用,Blob 服務會在 Blob 上建立租用,並傳回新的租用識別碼。

acquire_container_lease

要求新的租用。 如果容器沒有作用中的租用,Blob 服務會在容器上建立租用,並傳回新的租用識別碼。

batch_delete_blobs

傳送多個 Blob 刪除要求的批次。

Blob delete 方法會刪除指定的 Blob 或快照集。 請注意,刪除 Blob 也會刪除其所有快照集。 如需詳細資訊,請參閱 https://docs.microsoft.com/rest/api/storageservices/delete-blob

break_blob_lease

如果 Blob 有作用中的租用,則會中斷租用。 一旦租用中斷,即無法更新。 任何獲授權的要求都可以中斷租用,不需要求即可指定相符的租用識別碼。 當租用中斷時,允許租用中斷期間經過,在這段期間,除了中斷和釋放以外,無法在 Blob 上執行租用作業。 當租用成功中斷時,回應會指出可取得新租用之前的間隔秒數。

已中斷的租用也可以釋放,在此情況下,其他用戶端可以立即在 Blob 上取得租用。

break_container_lease

如果容器有作用中的租用,請中斷租用。 一旦租用中斷,即無法更新。 任何獲授權的要求都可以中斷租用,不需要求即可指定相符的租用識別碼。 當租用中斷時,允許租用中斷期間經過,在這段期間,除了中斷和釋放以外,在容器上無法執行租用作業。 當租用成功中斷時,回應會指出可取得新租用之前的間隔秒數。

change_blob_lease

變更作用中租用的租用識別碼。 變更必須包含目前的租用識別碼和新的租用識別碼。

change_container_lease

變更使用中租用的租用識別碼。 變更必須包含目前的租用識別碼和新的租用識別碼。

copy_blob

以非同步方式複製 Blob。 此作業會傳回復製作業屬性物件,包括可用來檢查或中止複製作業的複製識別碼。 Blob 服務將盡全力複製 Blob。

複製作業的來源 Blob 可能是區塊 Blob、附加 Blob 或分頁 Blob。 如果目的地 Blob 已經存在,則必須使用與來源 Blob 相同的 Blob 類型。 所有現有的目的地 Blob 都會被覆寫。 複製作業進行時,無法修改目的地 Blob。

從分頁 Blob 複製時,Blob 服務會建立來源 Blob 長度的目的地分頁 Blob,一開始會包含所有零。 然後列舉來源頁面範圍,並複製非空白的範圍。

對於區塊 Blob 或附加 Blob,Blob 服務會在從此作業傳回之前,先建立長度為零的已認可 Blob。 從區塊 Blob 複製時,會複製所有認可的區塊及其區塊識別碼。 未認可的區塊不會複製。 在複製作業結束時,目的地 Blob 會擁有與來源相同的認可區塊計數。

從附加 Blob 複製時,會複製所有認可的區塊。 在複製作業結束時,目的地 Blob 會擁有與來源相同的認可區塊計數。

針對所有 Blob 類型,您可以在目的地 Blob 上呼叫get_blob_properties,以檢查複製作業的狀態。 複製完成時,會認可最後的 Blob。

create_container

在指定的帳號下建立新的容器。 如果具有相同名稱的容器已經存在,如果fail_on_exist為 True,作業就會失敗。

delete_blob

標記要刪除的指定 Blob 或快照集。 Blob 稍後會在記憶體回收時刪除。

請注意,若要刪除 Blob,您必須刪除其所有快照集。 您可以使用刪除 Blob 作業同時刪除這兩者。

如果服務已啟用刪除保留原則,此作業會虛刪除 Blob 或快照集,並保留 Blob 或快照集的指定天數。 在指定的天數之後,Blob 的資料會在垃圾收集期間從服務中移除。 虛刪除的 Blob 或快照集可透過列出 Blob API 來存取,指定 include=Include.Deleted 選項。 您可以使用 Undelete API 還原虛刪除的 Blob 或快照集。

delete_container

標記要刪除的指定容器。 其中包含的容器和任何 Blob 稍後會在記憶體回收時刪除。

exists

傳回布林值,指出如果blob_name為 None) ,則傳回布林值,指出容器是否存在 (,否則傳回布林值,指出 Blob 是否存在。

extract_date_and_request_id
generate_account_shared_access_signature

產生 Blob 服務的共用存取簽章。 使用傳回的簽章搭配任何 BlobService 的 sas_token 參數。

generate_blob_shared_access_signature

產生 Blob 或其其中一個快照集的共用存取簽章。 使用傳回的簽章搭配任何 BlobService 的 sas_token 參數。

generate_container_shared_access_signature

產生容器的共用存取簽章。 使用傳回的簽章搭配任何 BlobService 的 sas_token 參數。

get_blob_account_information

取得儲存體帳戶的相關資訊。 如果使用者具有容器或 Blob 的 SAS,也可以擷取資訊。

get_blob_metadata

傳回指定之 Blob 或快照集的所有使用者定義中繼資料。

get_blob_properties

傳回 Blob 之所有使用者定義的中繼資料、標準 HTTP 屬性及系統屬性。 但不會傳回 Blob 的內容。 Blob使用 BlobProperties 和 中繼資料聽寫傳回 。

get_blob_service_properties

取得儲存體帳戶 Blob 服務的屬性,包括 Azure 儲存體分析。

get_blob_service_stats

擷取與 Blob 服務的複寫相關的統計資料。 只有在儲存體帳戶啟用讀取權限異地備援複寫時,才能使用。

有了地理備援複寫,Azure 儲存體會以持久的方式在兩個位置維護您的資料。 在這兩個位置中,Azure 儲存體會持續維護狀況良好的多個資料複本。 您讀取、建立、更新或刪除資料的位置是「主要」儲存體帳戶的位置。 主要位置存在於您透過 Azure 管理 Azure 傳統入口網站建立帳戶時所選擇的區域,例如美國中北部。 資料複寫的目標位置是「次要」位置。 次要位置是根據主要的位置自動判斷而來,它是與主要位置位於相同地區的第二個資料中心。 當儲存體帳戶啟用「讀取權限的地理備援複寫」時,可從次要位置使用唯讀權限。

get_blob_to_bytes

使用自動區塊化和進度通知,將 Blob 下載為位元組陣列。 傳回 具有屬性、中繼資料和內容的 實例 Blob

get_blob_to_path

使用自動區塊化和進度通知,將 Blob 下載至檔案路徑。 傳回 具有屬性和中繼資料的 Blob 實例。

get_blob_to_stream

使用自動區塊化和進度通知,將 Blob 下載至資料流程。 傳回 具有屬性和中繼資料的 Blob 實例。

get_blob_to_text

使用自動區塊化和進度通知,將 Blob 下載為 Unicode 文字。 傳回 具有屬性、中繼資料和內容的 實例 Blob

get_container_acl

取得指定容器的許可權。 這些權限指出是否可以公開存取容器資料。

get_container_metadata

傳回指定容器的所有使用者定義中繼資料。

get_container_properties

傳回指定容器的所有使用者定義中繼資料和系統屬性。 傳回的資料不包含容器的 Blob 清單。

get_user_delegation_key

為了簽署 SAS 權杖的目的,取得使用者委派金鑰。 權杖認證必須存在於服務物件上,此要求才能成功。

list_blob_names

傳回產生器,以列出指定容器下的 Blob 名稱。 產生器會延遲遵循服務所傳回的接續權杖,並在到達所有 Blob 或num_results時停止。

如果指定了num_results,且帳戶的 Blob 數目超過該數目,則產生器會在完成時填入next_marker欄位。 如果需要更多結果,此標記可用來建立新的產生器。

list_blobs

傳回產生器,以列出指定容器底下的 Blob。 產生器會延遲遵循服務所傳回的接續權杖,並在到達所有 Blob 或num_results時停止。

如果指定了num_results,且帳戶的 Blob 數目超過該數目,則產生器會在完成時填入next_marker欄位。 如果需要更多結果,此標記可用來建立新的產生器。

list_containers

傳回產生器,以列出指定帳戶下的容器。 產生器會延遲遵循服務所傳回的接續權杖,並在到達所有容器或num_results時停止。

如果指定了num_results,且帳戶的容器數目超過該數目,則產生器會在完成之後填入next_marker欄位。 如果需要更多結果,此標記可用來建立新的產生器。

make_blob_url

建立 URL 以存取 Blob。

make_container_url

建立 URL 以存取容器。

release_blob_lease

釋放租用。 如果在要求上指定的租用識別碼符合該 Blob 相關聯的租用,則可以釋放租用。 釋放租用可讓其他用戶端在釋放完成時,立即取得 Blob 的租用。

release_container_lease

釋放租用。 如果指定的lease_id符合與容器相關聯的 ,則可能會釋放租用。 釋放租用可讓其他用戶端在釋放完成時,立即取得容器的租用。

renew_blob_lease

更新租用。 如果在要求上指定的租用識別碼符合該 Blob 相關聯的租用,則租用可以更新。 請注意,租用到期之後,只要 Blob 未曾修改或再度租用,即使租用已到期,還是可以更新。 當您更新租用時,租用持續時間的時鐘會重設。

renew_container_lease

更新租用。 如果指定的租用識別碼符合與容器相關聯的租用識別碼,則可以更新租用。 請注意,租用到期之後,只要容器未曾再度租用,即使租用已過期,還是可以更新。 當您更新租用時,租用持續時間的時鐘會重設。

set_blob_metadata

將指定 Blob 的使用者定義中繼資料設為一或多個名稱/值配對。

set_blob_properties

在 Blob 上設定系統屬性。 如果針對content_settings設定一個屬性,則會覆寫所有屬性。

set_blob_service_properties

設定儲存體帳戶 Blob 服務的屬性,包括 Azure 儲存體分析。 如果專案 (例如記錄) 保留為 None,則會保留該服務上該功能的現有設定。

set_container_acl

設定可搭配共用存取簽章使用的指定容器或預存存取原則的許可權。 這些權限指出是否可以公開存取容器中的 Blob。

set_container_metadata

為指定的容器設定一或多個使用者定義的名稱/值組。 每次呼叫這項作業都會取代附加至容器之所有現有的中繼資料。 若要從容器中移除所有中繼資料,請呼叫沒有中繼資料聽寫的這項作業。

set_proxy

設定 HTTP CONNECT Tunnelling 的 Proxy 伺服器主機和埠。

snapshot_blob

建立 Blob 的唯讀快照集。

undelete_blob

取消刪除 Blob 作業會還原虛刪除 Blob 或快照集的內容和中繼資料。 嘗試取消刪除未虛刪除的 Blob 或快照集將會成功,而不會進行任何變更。

abort_copy_blob

中止擱置copy_blob作業,並保留長度為零和完整中繼資料的目的地 Blob。

abort_copy_blob(container_name, blob_name, copy_id, lease_id=None, timeout=None)

參數

container_name
str
必要

目的地容器的名稱。

blob_name
str
必要

目的地 Blob 的名稱。

copy_id
str
必要

原始copy_blob作業 copy.id 中提供的複製識別碼。

lease_id
str
預設值: None

如果目的地 Blob 為作用中的無限期租用,則為必要項目。

timeout
int
預設值: None

timeout 參數以秒為單位。

acquire_blob_lease

要求新的租用。 如果 Blob 沒有作用中的租用,Blob 服務會在 Blob 上建立租用,並傳回新的租用識別碼。

acquire_blob_lease(container_name, blob_name, lease_duration=-1, proposed_lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

lease_duration
int
預設值: -1

指定租用的持續時間 (秒數),或指定負一 (-1),代表租用永不到期。 非無限期的租用可以介於 15 到 60 秒之間。 租用持續時間無法使用更新或變更來變更。 預設值為 -1 (無限租用) 。

proposed_lease_id
str
預設值: None

建議的租用識別碼,使用 GUID 字串格式。 如果建議的租用識別碼格式不正確,Blob 服務會傳回 400 (不正確要求) 。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

if_match
str
預設值: None

ETag 值,或萬用字元 (*)。 只有資源的 ETag 與指定的值相符,才能指定此標頭執行作業。

if_none_match
str
預設值: None

ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定這個標頭來執行作業。指定萬用字元 () ,只有在資源不存在時,才能執行作業,如果作業不存在,則會失敗。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

字串

acquire_container_lease

要求新的租用。 如果容器沒有作用中的租用,Blob 服務會在容器上建立租用,並傳回新的租用識別碼。

acquire_container_lease(container_name, lease_duration=-1, proposed_lease_id=None, if_modified_since=None, if_unmodified_since=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

lease_duration
int
預設值: -1

指定租用的持續時間 (秒數),或指定負一 (-1),代表租用永不到期。 非無限期的租用可以介於 15 到 60 秒之間。 租用持續時間無法使用更新或變更來變更。 預設值為 -1 (無限租用) 。

proposed_lease_id
str
預設值: None

建議的租用識別碼,使用 GUID 字串格式。 如果建議的租用識別碼格式不正確,Blob 服務會傳回 400 (不正確要求) 。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

字串

batch_delete_blobs

傳送多個 Blob 刪除要求的批次。

Blob delete 方法會刪除指定的 Blob 或快照集。 請注意,刪除 Blob 也會刪除其所有快照集。 如需詳細資訊,請參閱 https://docs.microsoft.com/rest/api/storageservices/delete-blob

batch_delete_blobs(batch_delete_sub_requests, timeout=None)

參數

batch_delete_sub_requests
list(BatchDeleteSubRequest)
必要

Blob 刪除要以批次方式傳送的要求。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

剖析的批次刪除 HTTP 回應

傳回類型

break_blob_lease

如果 Blob 有作用中的租用,則會中斷租用。 一旦租用中斷,即無法更新。 任何獲授權的要求都可以中斷租用,不需要求即可指定相符的租用識別碼。 當租用中斷時,允許租用中斷期間經過,在這段期間,除了中斷和釋放以外,無法在 Blob 上執行租用作業。 當租用成功中斷時,回應會指出可取得新租用之前的間隔秒數。

已中斷的租用也可以釋放,在此情況下,其他用戶端可以立即在 Blob 上取得租用。

break_blob_lease(container_name, blob_name, lease_break_period=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

lease_break_period
int
預設值: None

針對中斷作業,這是租用在中斷之前應該繼續的建議持續時間,介於 0 到 60 秒之間。 只有在比租用的剩餘時間還短時,才會使此中斷期。 如果時間較長,則會使用租用的剩餘時間。 在中斷期到期之前,將無法使用新的租用,但是保留租用的時間可以比中斷期還長。 如果此標頭未與中斷作業一起出現,則固定持續時間租用會在剩餘租用期間經過之後中斷,而無限租用會立即中斷。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

if_match
str
預設值: None

ETag 值,或萬用字元 (*)。 只有資源的 ETag 與指定的值相符,才能指定此標頭執行作業。

if_none_match
str
預設值: None

ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

int

break_container_lease

如果容器有作用中的租用,請中斷租用。 一旦租用中斷,即無法更新。 任何獲授權的要求都可以中斷租用,不需要求即可指定相符的租用識別碼。 當租用中斷時,允許租用中斷期間經過,在這段期間,除了中斷和釋放以外,在容器上無法執行租用作業。 當租用成功中斷時,回應會指出可取得新租用之前的間隔秒數。

break_container_lease(container_name, lease_break_period=None, if_modified_since=None, if_unmodified_since=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

lease_break_period
int
預設值: None

這是租用在中斷之前應該繼續的建議持續時間,介於 0 到 60 秒之間。 只有在比租用的剩餘時間還短時,才會使此中斷期。 如果時間較長,則會使用租用的剩餘時間。 在中斷期到期之前,將無法使用新的租用,但是保留租用的時間可以比中斷期還長。 如果此標頭未與中斷作業一起出現,則固定持續時間租用會在剩餘租用期間經過之後中斷,而無限租用會立即中斷。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

int

change_blob_lease

變更作用中租用的租用識別碼。 變更必須包含目前的租用識別碼和新的租用識別碼。

change_blob_lease(container_name, blob_name, lease_id, proposed_lease_id, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

lease_id
str
必要

如果 Blob 具有作用中租用,則為必要項目。

proposed_lease_id
str
必要

建議的租用識別碼,使用 GUID 字串格式。 如果建議的租用識別碼的格式不正確,Blob 服務會傳回 400 (不正確要求) 。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

if_match
str
預設值: None

ETag 值,或萬用字元 (*)。 只有資源的 ETag 與指定的值相符,才能指定此標頭執行作業。

if_none_match
str
預設值: None

ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。

timeout
int
預設值: None

timeout 參數以秒為單位。

change_container_lease

變更使用中租用的租用識別碼。 變更必須包含目前的租用識別碼和新的租用識別碼。

change_container_lease(container_name, lease_id, proposed_lease_id, if_modified_since=None, if_unmodified_since=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

lease_id
str
必要

使用中租用的租用識別碼。

proposed_lease_id
str
必要

建議的租用識別碼,使用 GUID 字串格式。 如果建議的租用識別碼的格式不正確,Blob 服務會傳回 400 (不正確要求) 。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

timeout
int
預設值: None

timeout 參數以秒為單位。

copy_blob

以非同步方式複製 Blob。 此作業會傳回復製作業屬性物件,包括可用來檢查或中止複製作業的複製識別碼。 Blob 服務將盡全力複製 Blob。

複製作業的來源 Blob 可能是區塊 Blob、附加 Blob 或分頁 Blob。 如果目的地 Blob 已經存在,則必須使用與來源 Blob 相同的 Blob 類型。 所有現有的目的地 Blob 都會被覆寫。 複製作業進行時,無法修改目的地 Blob。

從分頁 Blob 複製時,Blob 服務會建立來源 Blob 長度的目的地分頁 Blob,一開始會包含所有零。 然後列舉來源頁面範圍,並複製非空白的範圍。

對於區塊 Blob 或附加 Blob,Blob 服務會在從此作業傳回之前,先建立長度為零的已認可 Blob。 從區塊 Blob 複製時,會複製所有認可的區塊及其區塊識別碼。 未認可的區塊不會複製。 在複製作業結束時,目的地 Blob 會擁有與來源相同的認可區塊計數。

從附加 Blob 複製時,會複製所有認可的區塊。 在複製作業結束時,目的地 Blob 會擁有與來源相同的認可區塊計數。

針對所有 Blob 類型,您可以在目的地 Blob 上呼叫get_blob_properties,以檢查複製作業的狀態。 複製完成時,會認可最後的 Blob。

copy_blob(container_name, blob_name, copy_source, metadata=None, source_if_modified_since=None, source_if_unmodified_since=None, source_if_match=None, source_if_none_match=None, destination_if_modified_since=None, destination_if_unmodified_since=None, destination_if_match=None, destination_if_none_match=None, destination_lease_id=None, source_lease_id=None, timeout=None)

參數

container_name
str
必要

目的地容器的名稱。 容器必須存在。

blob_name
str
必要

目的地 Blob 的名稱。 如果目的地 Blob 存在,則會覆寫它。 否則,將會建立它。

copy_source
str
必要

長度上限為 2 KB 的 URL,指定 Azure 檔案或 Blob。 此值應該像出現在要求 URI 中一樣以 URL 編碼。 如果來源位於另一個帳戶中,則來源必須是公用,或必須透過共用存取簽章進行驗證。 如果來源是公用的,則不需要驗證。 範例: https://myaccount.blob.core.windows.net/mycontainer/myblobhttps://myaccount.blob.core.windows.net/mycontainer/myblob ?snapshot=https://otheraccount.blob.core.windows.net/mycontainer/myblob?sastoken

metadata
dict(str, str)
預設值: None

與 Blob 相關聯的名稱/值組,可做為中繼資料。 如果未指定名稱/值組,作業會將中繼資料從來源 Blob 或檔案複製到目的地 Blob。 如果指定了一或多個名稱/值組,則會使用指定的中繼資料建立目的地 Blob,而且中繼資料不會從來源 Blob 或檔案複製。

source_if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有在指定日期/時間修改來源 Blob 時,才能指定此條件式標頭以複製 Blob。

source_if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有在非指定日期/時間修改來源 Blob 時,才能指定此條件式標頭以複製 Blob。

source_if_match
<xref:ETag>
預設值: None

ETag 值,或萬用字元 (*)。 只有當其 ETag 與指定的值相符時,才能指定此條件式標頭複製來源 Blob。 如果 ETag 值不相符,Blob 服務會傳回狀態碼 412 (先決條件失敗)。 如果來源是 Azure 檔案,則無法指定此標頭。

source_if_none_match
<xref:ETag>
預設值: None

ETag 值,或萬用字元 (*)。 只有當其 ETag 與指定的值不相符時,才能指定此條件式標頭複製 Blob。 如果兩值完全相同,Blob 服務會傳回狀態碼 412 (先決條件失敗)。 如果來源是 Azure 檔案,則無法指定此標頭。

destination_if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有在指定日期/時間修改目的地 Blob 時,才能指定此條件式標頭以複製 Blob。 如果未修改目的地 Blob,Blob 服務會傳回狀態碼 412 (先決條件失敗)。

destination_if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有在非指定日期/時間修改目的地 Blob 時,才能指定此條件式標頭以複製 Blob。 如果已修改目的地 Blob,Blob 服務會傳回狀態碼 412 (先決條件失敗)。

destination_if_match
<xref:ETag>
預設值: None

ETag 值,或萬用字元 (*)。 指定此條件式標頭的 ETag 值,只有在指定的 ETag 值符合現有目的地 Blob 的 ETag 值時,才能複製 Blob。 如果目的地 Blob 的 ETag 不符合為 If-Match 指定的 ETag,Blob 服務會傳回狀態碼 412 (前置條件失敗) 。

destination_if_none_match
<xref:ETag>
預設值: None

ETag 值或萬用字元 () 。指定此條件式標頭的 ETag 值,只有在指定的 ETag 值不符合目的地 Blob 的 ETag 值時,才會複製 Blob。指定萬用字元 () ,只有在目的地 Blob 不存在時,才能執行作業。 如果不符合指定的條件,Blob 服務會傳回狀態碼 412 (先決條件失敗)。

destination_lease_id
str
預設值: None

為此標頭指定的租用識別碼必須符合目的地 Blob 的租用識別碼。 如果要求不包含租用識別碼或無效,作業會失敗,並顯示狀態碼 412 (先決條件失敗)。

source_lease_id
str
預設值: None

指定此選項,只有在指定的租用識別碼符合來源 Blob 的作用中租用識別碼時,才執行複製 Blob 作業。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

複製作業屬性,例如狀態、來源和識別碼。

傳回類型

create_container

在指定的帳號下建立新的容器。 如果具有相同名稱的容器已經存在,如果fail_on_exist為 True,作業就會失敗。

create_container(container_name, metadata=None, public_access=None, fail_on_exist=False, timeout=None)

參數

container_name
str
必要

要建立的容器名稱。 容器名稱只能包含小寫字母、數位和連字號,且開頭必須是字母或數位。 每個連字號前後都必須緊接非連字號的字元。 名稱長度也必須為 3 到 63 個字元。

metadata
dict(str, str)
預設值: None

具有name_value組的聽寫,與容器建立關聯作為中繼資料。 範例:{'Category':'test'}

public_access
PublicAccess
預設值: None

可能的值包括:容器、Blob。

fail_on_exist
bool
預設值: False

指定容器存在時是否擲回例外狀況。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

True 是表示 如果容器已建立,則為 False。如果容器已經存在則為 False。

傳回類型

delete_blob

標記要刪除的指定 Blob 或快照集。 Blob 稍後會在記憶體回收時刪除。

請注意,若要刪除 Blob,您必須刪除其所有快照集。 您可以使用刪除 Blob 作業同時刪除這兩者。

如果服務已啟用刪除保留原則,此作業會虛刪除 Blob 或快照集,並保留 Blob 或快照集的指定天數。 在指定的天數之後,Blob 的資料會在垃圾收集期間從服務中移除。 虛刪除的 Blob 或快照集可透過列出 Blob API 來存取,指定 include=Include.Deleted 選項。 您可以使用 Undelete API 還原虛刪除的 Blob 或快照集。

delete_blob(container_name, blob_name, snapshot=None, lease_id=None, delete_snapshots=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

snapshot
str
預設值: None

快照集參數是不透明的 DateTime 值,當存在時,會指定要刪除的 Blob 快照集。

lease_id
str
預設值: None

如果 Blob 具有作用中租用,則為必要項目。

delete_snapshots
DeleteSnapshot
預設值: None

如果 Blob 有相關聯的快照集,則為必要項目。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

if_match
str
預設值: None

ETag 值,或萬用字元 (*)。 只有資源的 ETag 與指定的值相符,才能指定此標頭執行作業。

if_none_match
str
預設值: None

ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定這個標頭來執行作業。指定萬用字元 () ,只有在資源不存在時,才能執行作業,如果作業不存在,則會失敗。

timeout
int
預設值: None

timeout 參數以秒為單位。

delete_container

標記要刪除的指定容器。 其中包含的容器和任何 Blob 稍後會在記憶體回收時刪除。

delete_container(container_name, fail_not_exist=False, lease_id=None, if_modified_since=None, if_unmodified_since=None, timeout=None)

參數

container_name
str
必要

要刪除的容器名稱。

fail_not_exist
bool
預設值: False

指定容器不存在時是否擲回例外狀況。

lease_id
str
預設值: None

如果指定,delete_container只有在容器的租用作用中且符合此識別碼時才會成功。 如果容器具有作用中的租用,則為必要專案。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

True 是表示 如果刪除容器,則為 False 容器不存在。

傳回類型

exists

傳回布林值,指出如果blob_name為 None) ,則傳回布林值,指出容器是否存在 (,否則傳回布林值,指出 Blob 是否存在。

exists(container_name, blob_name=None, snapshot=None, timeout=None)

參數

container_name
str
必要

容器的名稱。

blob_name
str
預設值: None

Blob 的名稱。 如果為 None,則會檢查容器是否存在。

snapshot
str
預設值: None

快照集參數是不透明的 DateTime 值,當存在時,會指定快照集。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

布林值,指出資源是否存在。

傳回類型

extract_date_and_request_id

static extract_date_and_request_id(retry_context)

參數

retry_context
必要

generate_account_shared_access_signature

產生 Blob 服務的共用存取簽章。 使用傳回的簽章搭配任何 BlobService 的 sas_token 參數。

generate_account_shared_access_signature(resource_types, permission, expiry, start=None, ip=None, protocol=None)

參數

resource_types
<xref:ResourceTypes>
必要

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

permission
<xref:AccountPermissions>
必要

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

expiry
datetimestr
必要

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

start
datetimestr
預設值: None

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

ip
str
預設值: None

指定要接受要求的 IP 位址或 IP 位址範圍。 如果要求的來源 IP 位址不符合 SAS 權杖上指定的 IP 位址或位址範圍,則不會驗證要求。 例如,在 SAS 上指定 sip=168.1.5.65 或 sip=168.1.5.60-168.1.5.70 會限制這些 IP 位址的要求。

protocol
str
預設值: None

指定要求允許的通訊協定。 預設值為 HTTPs,HTTP。 如需可能的值,請參閱<Protocol>。

傳回

共用存取簽章 (sas) 權杖。

傳回類型

str

generate_blob_shared_access_signature

產生 Blob 或其其中一個快照集的共用存取簽章。 使用傳回的簽章搭配任何 BlobService 的 sas_token 參數。

generate_blob_shared_access_signature(container_name, blob_name, snapshot=None, permission=None, expiry=None, start=None, id=None, ip=None, protocol=None, cache_control=None, content_disposition=None, content_encoding=None, content_language=None, content_type=None, user_delegation_key=None)

參數

container_name
str
必要

容器的名稱。

blob_name
str
必要

Blob 的名稱。

snapshot
str
預設值: None

快照集參數是不透明的 DateTime 值,當存在時,會指定要授與許可權的 Blob 快照集。

permission
BlobPermissions
預設值: None

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

expiry
datetimestr
預設值: None

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

start
datetimestr
預設值: None

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

id
str
預設值: None

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

ip
str
預設值: None

指定要接受要求的 IP 位址或 IP 位址範圍。 如果要求的來源 IP 位址不符合 SAS 權杖上指定的 IP 位址或位址範圍,則不會驗證要求。 例如,在 SAS 上指定 sip=168.1.5.65 或 sip=168.1.5.60-168.1.5.70 會限制這些 IP 位址的要求。

protocol
str
預設值: None

指定要求允許的通訊協定。 預設值為 HTTPs,HTTP。 如需可能的值,請參閱<Protocol>。

cache_control
str
預設值: None

當使用此共用存取簽章存取資源時,Cache-Control 的回應標頭值。

content_disposition
str
預設值: None

當使用此共用存取簽章存取資源時,Content-Disposition 的回應標頭值。

content_encoding
str
預設值: None

當使用此共用存取簽章存取資源時,Content-Encoding 的回應標頭值。

content_language
str
預設值: None

當使用此共用存取簽章存取資源時,Content-Language 的回應標頭值。

content_type
str
預設值: None

當使用此共用存取簽章存取資源時,Content-Type 的回應標頭值。

user_delegation_key
UserDelegationKey
預設值: None

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

傳回

共用存取簽章 (sas) 權杖。

傳回類型

str

generate_container_shared_access_signature

產生容器的共用存取簽章。 使用傳回的簽章搭配任何 BlobService 的 sas_token 參數。

generate_container_shared_access_signature(container_name, permission=None, expiry=None, start=None, id=None, ip=None, protocol=None, cache_control=None, content_disposition=None, content_encoding=None, content_language=None, content_type=None, user_delegation_key=None)

參數

container_name
str
必要

容器的名稱。

permission
ContainerPermissions
預設值: None

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

expiry
datetimestr
預設值: None

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

start
datetimestr
預設值: None

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

id
str
預設值: None

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

ip
str
預設值: None

指定要接受要求的 IP 位址或 IP 位址範圍。 如果要求的來源 IP 位址不符合 SAS 權杖上指定的 IP 位址或位址範圍,則不會驗證要求。 例如,在 SAS 上指定 sip=168.1.5.65 或 sip=168.1.5.60-168.1.5.70 會將要求限制為這些 IP 位址。

protocol
str
預設值: None

指定所提出要求的允許通訊協定。 預設值為 HTTPs,HTTP。 如需可能的值,請參閱<Protocol>。

cache_control
str
預設值: None

使用這個共用存取簽章存取資源時,Cache-Control 的回應標頭值。

content_disposition
str
預設值: None

使用這個共用存取簽章存取資源時,Content-Disposition 的回應標頭值。

content_encoding
str
預設值: None

使用這個共用存取簽章存取資源時,Content-Encoding 的回應標頭值。

content_language
str
預設值: None

使用這個共用存取簽章存取資源時,Content-Language 的回應標頭值。

content_type
str
預設值: None

使用這個共用存取簽章存取資源時,Content-Type 的回應標頭值。

user_delegation_key
UserDelegationKey
預設值: None

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

傳回

共用存取簽章 (sas) 權杖。

傳回類型

str

get_blob_account_information

取得儲存體帳戶的相關資訊。 如果使用者具有容器或 Blob 的 SAS,也可以擷取資訊。

get_blob_account_information(container_name=None, blob_name=None, timeout=None)

參數

container_name
str
預設值: None

現有容器的名稱。 選擇性,除非將 SAS 權杖用於特定容器或 Blob,在此情況下為必要專案。

blob_name
str
預設值: None

現有 Blob 的名稱。 選擇性,除非將 SAS 權杖用於特定 Blob,在此情況下為必要專案。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

AccountInformation

get_blob_metadata

傳回指定之 Blob 或快照集的所有使用者定義中繼資料。

get_blob_metadata(container_name, blob_name, snapshot=None, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

snapshot
str
預設值: None

快照集參數是一個不透明值,當存在時,會指定要擷取的 Blob 快照集。

lease_id
str
預設值: None

如果 Blob 具有作用中租用,則為必要項目。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

if_match
str
預設值: None

ETag 值,或萬用字元 (*)。 只有資源的 ETag 與指定的值相符,才能指定此標頭執行作業。

if_none_match
str
預設值: None

ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。

cpk
CustomerProvidedEncryptionKey
預設值: None

使用指定的金鑰解密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

字典,表示 Blob 中繼資料名稱、值組。

傳回類型

get_blob_properties

傳回 Blob 之所有使用者定義的中繼資料、標準 HTTP 屬性及系統屬性。 但不會傳回 Blob 的內容。 Blob使用 BlobProperties 和 中繼資料聽寫傳回 。

get_blob_properties(container_name, blob_name, snapshot=None, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

snapshot
str
預設值: None

快照集參數是不透明的 DateTime 值,當存在時,會指定要擷取的 Blob 快照集。

lease_id
str
預設值: None

如果 Blob 具有作用中租用,則為必要項目。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

if_match
str
預設值: None

ETag 值,或萬用字元 (*)。 只有資源的 ETag 與指定的值相符,才能指定此標頭執行作業。

if_none_match
str
預設值: None

ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。

cpk
CustomerProvidedEncryptionKey
預設值: None

使用指定的金鑰解密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

Blob 物件,包括屬性和中繼資料。

傳回類型

get_blob_service_properties

取得儲存體帳戶 Blob 服務的屬性,包括 Azure 儲存體分析。

get_blob_service_properties(timeout=None)

參數

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

具有附加target_version屬性的 Blob ServiceProperties

get_blob_service_stats

擷取與 Blob 服務的複寫相關的統計資料。 只有在儲存體帳戶啟用讀取權限異地備援複寫時,才能使用。

有了地理備援複寫,Azure 儲存體會以持久的方式在兩個位置維護您的資料。 在這兩個位置中,Azure 儲存體會持續維護狀況良好的多個資料複本。 您讀取、建立、更新或刪除資料的位置是「主要」儲存體帳戶的位置。 主要位置存在於您透過 Azure 管理 Azure 傳統入口網站建立帳戶時所選擇的區域,例如美國中北部。 資料複寫的目標位置是「次要」位置。 次要位置是根據主要的位置自動判斷而來,它是與主要位置位於相同地區的第二個資料中心。 當儲存體帳戶啟用「讀取權限的地理備援複寫」時,可從次要位置使用唯讀權限。

get_blob_service_stats(timeout=None)

參數

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

blob 服務的統計資料。

傳回類型

get_blob_to_bytes

使用自動區塊化和進度通知,將 Blob 下載為位元組陣列。 傳回 具有屬性、中繼資料和內容的 實例 Blob

get_blob_to_bytes(container_name, blob_name, snapshot=None, start_range=None, end_range=None, validate_content=False, progress_callback=None, max_connections=2, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

snapshot
str
預設值: None

快照集參數是不透明的 DateTime 值,當存在時,會指定要擷取的 Blob 快照集。

start_range
int
預設值: None

要用來下載 Blob 區段的位元組範圍開始。 如果未指定任何end_range,則會下載start_range之後的所有位元組。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。

end_range
int
預設值: None

要用於下載 Blob 區段的位元組範圍結束。 如果提供end_range,則必須提供start_range。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。

validate_content
bool
預設值: False

如果設定為 true,則會針對 Blob 的每個擷取部分驗證 MD5 雜湊。 如果使用 HTTP 而非 HTTPs 作為 HTTPs,則這主要對於偵測連線上的 bitflip 很有用, (預設) 將已經過驗證。 請注意,服務只會針對區塊 4MB 或更少傳回交易式 MD5,因此第一個取得要求的大小會是自我。MAX_CHUNK_GET_SIZE而非自我。MAX_SINGLE_GET_SIZE。 如果為 self。MAX_CHUNK_GET_SIZE設定為大於 4 MB,將會擲回錯誤。 由於區塊大小降低,因此計算 MD5 需要處理時間,而且需要完成更多要求,延遲可能會增加一些。

progress_callback
<xref:func>(<xref:current>, <xref:total>)
預設值: None

簽章函式的進度回呼 (目前、目前) 目前傳輸的位元組數目,以及已知為 Blob 的大小總計。

max_connections
int
預設值: 2

如果設定為 2 或更新版本,則會針對第一個自我完成初始取得。MAX_SINGLE_GET_SIZE Blob 的位元組。 如果這是整個 Blob,則此時會傳回 方法。 如果沒有,則會使用等於max_connections的執行緒數目,下載剩餘的資料平行。 每個區塊的大小都會是自我。MAX_CHUNK_GET_SIZE。 如果設定為 1,將會完成單一大型 get 要求。 這通常不建議使用,但如果應該使用非常少的執行緒、網路要求非常昂貴,或無法搜尋的資料流程會防止平行下載。 如果如果max_connections大於 1,則許多 Blob 預期為空的 Blob 需要額外的要求時,這也很有用。

lease_id
str
預設值: None

如果 Blob 具有作用中租用,則為必要項目。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

if_match
str
預設值: None

ETag 值,或萬用字元 (*)。 只有資源的 ETag 與指定的值相符,才能指定此標頭執行作業。

if_none_match
str
預設值: None

ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。

cpk
CustomerProvidedEncryptionKey
預設值: None

使用指定的金鑰解密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。

timeout
int
預設值: None

timeout 參數以秒為單位。 這個方法可能會對 Azure 服務進行多個呼叫,而逾時會個別套用至每個呼叫。

傳回

具有屬性和中繼資料的 Blob。 如果max_connections大於 1,則不會傳回在 blob 上設定的content_md5 () 。 如果您需要此值,請使用 get_blob_properties,或將 max_connections 設定為 1。

傳回類型

get_blob_to_path

使用自動區塊化和進度通知,將 Blob 下載至檔案路徑。 傳回 具有屬性和中繼資料的 Blob 實例。

get_blob_to_path(container_name, blob_name, file_path, open_mode='wb', snapshot=None, start_range=None, end_range=None, validate_content=False, progress_callback=None, max_connections=2, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

file_path
str
必要

要寫出的檔案路徑。

open_mode
str
預設值: wb

開啟檔案時要使用的模式。 請注意,只指定附加open_mode可防止平行下載。 因此,如果使用這個open_mode,max_connections必須設定為 1。

snapshot
str
預設值: None

快照集參數是不透明的 DateTime 值,當存在時,會指定要擷取的 Blob 快照集。

start_range
int
預設值: None

要用來下載 Blob 區段的位元組範圍開始。 如果未指定任何end_range,則會下載start_range之後的所有位元組。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。

end_range
int
預設值: None

要用於下載 Blob 區段的位元組範圍結束。 如果提供end_range,則必須提供start_range。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。

validate_content
bool
預設值: False

如果設定為 true,則會針對 Blob 的每個擷取部分驗證 MD5 雜湊。 如果使用 HTTP 而非 HTTPs 作為 HTTPs,則這主要對於偵測連線上的 bitflip 很有用, (預設) 將已經過驗證。 請注意,服務只會針對區塊 4MB 或更少傳回交易式 MD5,因此第一個取得要求的大小會是自我。MAX_CHUNK_GET_SIZE而非自我。MAX_SINGLE_GET_SIZE。 如果為 self。MAX_CHUNK_GET_SIZE設定為大於 4 MB,將會擲回錯誤。 由於區塊大小降低,因此計算 MD5 需要處理時間,而且需要完成更多要求,延遲可能會增加一些。

progress_callback
<xref:func>(<xref:current>, <xref:total>)
預設值: None

簽章函式的進度回呼 (目前、目前) 目前傳輸的位元組數目,以及已知為 Blob 的大小總計。

max_connections
int
預設值: 2

如果設定為 2 或更新版本,則會針對第一個自我完成初始取得。MAX_SINGLE_GET_SIZE Blob 的位元組。 如果這是整個 Blob,則此時會傳回 方法。 如果沒有,則會使用等於max_connections的執行緒數目,下載剩餘的資料平行。 每個區塊的大小都會是自我。MAX_CHUNK_GET_SIZE。 如果設定為 1,將會完成單一大型 get 要求。 這通常不建議使用,但如果應該使用非常少的執行緒、網路要求非常昂貴,或無法搜尋的資料流程會防止平行下載。 如果如果max_connections大於 1,則許多 Blob 預期為空的 Blob 需要額外的要求時,這也很有用。

lease_id
str
預設值: None

如果 Blob 具有作用中租用,則為必要項目。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

if_match
str
預設值: None

ETag 值,或萬用字元 (*)。 只有資源的 ETag 與指定的值相符,才能指定此標頭執行作業。

if_none_match
str
預設值: None

ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。

cpk
CustomerProvidedEncryptionKey
預設值: None

使用指定的金鑰解密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。

timeout
int
預設值: None

timeout 參數以秒為單位。 這個方法可能會對 Azure 服務進行多個呼叫,而逾時會個別套用至每個呼叫。

傳回

具有屬性和中繼資料的 Blob。 如果max_connections大於 1,則不會傳回在 blob 上設定的content_md5 () 。 如果您需要此值,請使用 get_blob_properties,或將 max_connections 設定為 1。

傳回類型

get_blob_to_stream

使用自動區塊化和進度通知,將 Blob 下載至資料流程。 傳回 具有屬性和中繼資料的 Blob 實例。

get_blob_to_stream(container_name, blob_name, stream, snapshot=None, start_range=None, end_range=None, validate_content=False, progress_callback=None, max_connections=2, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

stream
IOBase
必要

要寫入的已開啟資料流程。

snapshot
str
預設值: None

快照集參數是不透明的 DateTime 值,當存在時,會指定要擷取的 Blob 快照集。

start_range
int
預設值: None

要用來下載 Blob 區段的位元組範圍開始。 如果未指定任何end_range,則會下載start_range之後的所有位元組。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。

end_range
int
預設值: None

要用於下載 Blob 區段的位元組範圍結束。 如果提供end_range,則必須提供start_range。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。

validate_content
bool
預設值: False

如果設定為 true,則會針對 Blob 的每個擷取部分驗證 MD5 雜湊。 如果使用 HTTP 而非 HTTPs 作為 HTTPs,則這主要對於偵測連線上的 bitflip 很有用, (預設) 將已經過驗證。 請注意,服務只會針對區塊 4MB 或更少傳回交易式 MD5,因此第一個取得要求的大小會是自我。MAX_CHUNK_GET_SIZE而非自我。MAX_SINGLE_GET_SIZE。 如果為 self。MAX_CHUNK_GET_SIZE設定為大於 4 MB,將會擲回錯誤。 由於區塊大小降低,因此計算 MD5 需要處理時間,而且需要完成更多要求,延遲可能會增加一些。

progress_callback
<xref:func>(<xref:current>, <xref:total>)
預設值: None

簽章函式的進度回呼 (目前、目前) 目前傳輸的位元組數目,以及已知為 Blob 的大小總計。

max_connections
int
預設值: 2

如果設定為 2 或更新版本,則會針對第一個自我完成初始取得。MAX_SINGLE_GET_SIZE Blob 的位元組。 如果這是整個 Blob,則此時會傳回 方法。 如果沒有,則會使用等於max_connections的執行緒數目,下載剩餘的資料平行。 每個區塊的大小都會是自我。MAX_CHUNK_GET_SIZE。 如果設定為 1,將會完成單一大型 get 要求。 這通常不建議使用,但如果應該使用非常少的執行緒、網路要求非常昂貴,或無法搜尋的資料流程會防止平行下載。 如果如果max_connections大於 1,則許多 Blob 預期為空的 Blob 需要額外的要求時,這也很有用。

lease_id
str
預設值: None

如果 Blob 具有作用中租用,則為必要項目。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

if_match
str
預設值: None

ETag 值,或萬用字元 (*)。 只有資源的 ETag 與指定的值相符,才能指定此標頭執行作業。

if_none_match
str
預設值: None

ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。

cpk
CustomerProvidedEncryptionKey
預設值: None

使用指定的金鑰解密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。

timeout
int
預設值: None

timeout 參數以秒為單位。 這個方法可能會對 Azure 服務進行多個呼叫,而逾時會個別套用至每個呼叫。

傳回

具有屬性和中繼資料的 Blob。 如果max_connections大於 1,則不會傳回在 blob 上設定的content_md5 () 。 如果您需要此值,請使用 get_blob_properties,或將 max_connections 設定為 1。

傳回類型

get_blob_to_text

使用自動區塊化和進度通知,將 Blob 下載為 Unicode 文字。 傳回 具有屬性、中繼資料和內容的 實例 Blob

get_blob_to_text(container_name, blob_name, encoding='utf-8', snapshot=None, start_range=None, end_range=None, validate_content=False, progress_callback=None, max_connections=2, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

encoding
str
預設值: utf-8

解碼 Blob 資料時要使用的 Python 編碼方式。

snapshot
str
預設值: None

快照集參數是不透明的 DateTime 值,當存在時,會指定要擷取的 Blob 快照集。

start_range
int
預設值: None

要用來下載 Blob 區段的位元組範圍開始。 如果未指定任何end_range,則會下載start_range之後的所有位元組。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。

end_range
int
預設值: None

要用於下載 Blob 區段的位元組範圍結束。 如果提供end_range,則必須提供start_range。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。

validate_content
bool
預設值: False

如果設定為 true,則會針對 Blob 的每個擷取部分驗證 MD5 雜湊。 如果使用 HTTP 而非 HTTPs 作為 HTTPs,則這主要對於偵測連線上的 bitflip 很有用, (預設) 將已經過驗證。 請注意,服務只會針對區塊 4MB 或更少傳回交易式 MD5,因此第一個取得要求的大小會是自我。MAX_CHUNK_GET_SIZE而非自我。MAX_SINGLE_GET_SIZE。 如果為 self。MAX_CHUNK_GET_SIZE設定為大於 4 MB,將會擲回錯誤。 由於區塊大小降低,因此計算 MD5 需要處理時間,而且需要完成更多要求,延遲可能會增加一些。

progress_callback
<xref:func>(<xref:current>, <xref:total>)
預設值: None

簽章函式的進度回呼 (目前、目前) 目前傳輸的位元組數目,以及已知為 Blob 的大小總計。

max_connections
int
預設值: 2

如果設定為 2 或更新版本,則會針對第一個自我完成初始取得。MAX_SINGLE_GET_SIZE Blob 的位元組。 如果這是整個 Blob,則此時會傳回 方法。 如果沒有,則會使用等於max_connections的執行緒數目,下載剩餘的資料平行。 每個區塊的大小都會是自我。MAX_CHUNK_GET_SIZE。 如果設定為 1,將會完成單一大型 get 要求。 這通常不建議使用,但如果應該使用非常少的執行緒、網路要求非常昂貴,或無法搜尋的資料流程會防止平行下載。 如果如果max_connections大於 1,則許多 Blob 預期為空的 Blob 需要額外的要求時,這也很有用。

lease_id
str
預設值: None

如果 Blob 具有作用中租用,則為必要項目。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

if_match
str
預設值: None

ETag 值,或萬用字元 (*)。 只有資源的 ETag 與指定的值相符,才能指定此標頭執行作業。

if_none_match
str
預設值: None

ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。

cpk
CustomerProvidedEncryptionKey
預設值: None

使用指定的金鑰解密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。

timeout
int
預設值: None

timeout 參數以秒為單位。 這個方法可能會對 Azure 服務進行多個呼叫,而逾時會個別套用至每個呼叫。

傳回

具有屬性和中繼資料的 Blob。 如果max_connections大於 1,則不會傳回在 blob 上設定的content_md5 () 。 如果您需要此值,請使用 get_blob_properties,或將 max_connections 設定為 1。

傳回類型

get_container_acl

取得指定容器的許可權。 這些權限指出是否可以公開存取容器資料。

get_container_acl(container_name, lease_id=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

lease_id
預設值: None

如果指定,get_container_acl只有在容器的租用作用中且符合此識別碼時才會成功。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

與容器相關聯的存取原則字典。 如果開啟公用存取,則為 str AccessPolicy 的聽寫和 public_access 屬性

get_container_metadata

傳回指定容器的所有使用者定義中繼資料。

get_container_metadata(container_name, lease_id=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

lease_id
str
預設值: None

如果指定,get_container_metadata只有在容器的租用作用中且符合此識別碼時才會成功。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

字典,表示容器中繼資料名稱、值組。

傳回類型

get_container_properties

傳回指定容器的所有使用者定義中繼資料和系統屬性。 傳回的資料不包含容器的 Blob 清單。

get_container_properties(container_name, lease_id=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

lease_id
str
預設值: None

如果指定,get_container_properties只有在容器的租用作用中且符合此識別碼時才會成功。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

容器物件內指定容器的屬性。

傳回類型

get_user_delegation_key

為了簽署 SAS 權杖的目的,取得使用者委派金鑰。 權杖認證必須存在於服務物件上,此要求才能成功。

get_user_delegation_key(key_start_time, key_expiry_time, timeout=None)

參數

key_start_time
datetime
必要

日期時間值。 指出金鑰何時生效。

key_expiry_time
datetime
必要

日期時間值。 指出金鑰何時停止有效。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

使用者委派金鑰。

傳回類型

list_blob_names

傳回產生器,以列出指定容器下的 Blob 名稱。 產生器會延遲遵循服務所傳回的接續權杖,並在到達所有 Blob 或num_results時停止。

如果指定了num_results,且帳戶的 Blob 數目超過該數目,則產生器會在完成時填入next_marker欄位。 如果需要更多結果,此標記可用來建立新的產生器。

list_blob_names(container_name, prefix=None, num_results=None, include=None, delimiter=None, marker=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

prefix
str
預設值: None

篩選結果,只傳回名稱開頭為指定前置詞的 Blob。

num_results
int
預設值: None

指定要傳回的 Blob 數目上限,包括所有 <xref:azure.storage.blob.baseblobservice.BlobPrefix> 項目。 如果要求未指定num_results或指定大於 5,000 的值,則伺服器最多會傳回 5,000 個專案。 將num_results設定為小於或等於零的值會導致錯誤回應碼 400 (不正確的要求) 。

include
Include
預設值: None

指定要包含在回應中的一或多個額外資料集。

delimiter
str
預設值: None

當要求包含此參數時,作業會傳回 BlobPrefix 結果清單中的專案,做為名稱開頭為相同子字串的所有 Blob 的預留位置,最多到分隔符號的外觀。 此分隔符號可以是單一字元或字串。

marker
str
預設值: None

不透明的接續權杖。 如果指定num_results且該產生器已完成列舉結果,則可以從先前產生器物件的next_marker欄位擷取此值。 如果指定,這個產生器會從先前產生器停止的點開始傳回結果。

timeout
int
預設值: None

timeout 參數以秒為單位。

list_blobs

傳回產生器,以列出指定容器底下的 Blob。 產生器會延遲遵循服務所傳回的接續權杖,並在到達所有 Blob 或num_results時停止。

如果指定了num_results,且帳戶的 Blob 數目超過該數目,則產生器會在完成時填入next_marker欄位。 如果需要更多結果,此標記可用來建立新的產生器。

list_blobs(container_name, prefix=None, num_results=None, include=None, delimiter=None, marker=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

prefix
str
預設值: None

篩選結果,只傳回名稱開頭為指定前置詞的 Blob。

num_results
int
預設值: None

指定要傳回的 Blob 數目上限,包括所有 <xref:azure.storage.blob.baseblobservice.BlobPrefix> 項目。 如果要求未指定num_results或指定大於 5,000 的值,則伺服器最多會傳回 5,000 個專案。 將num_results設定為小於或等於零的值會導致錯誤回應碼 400 (不正確的要求) 。

include
Include
預設值: None

指定要包含在回應中的一或多個額外資料集。

delimiter
str
預設值: None

當要求包含此參數時,作業會傳回 BlobPrefix 結果清單中的專案,做為名稱開頭為相同子字串的所有 Blob 的預留位置,最多到分隔符號的外觀。 此分隔符號可以是單一字元或字串。

marker
str
預設值: None

不透明的接續權杖。 如果指定num_results且該產生器已完成列舉結果,則可以從先前產生器物件的next_marker欄位擷取此值。 如果指定,這個產生器會從先前產生器停止的點開始傳回結果。

timeout
int
預設值: None

timeout 參數以秒為單位。

list_containers

傳回產生器,以列出指定帳戶下的容器。 產生器會延遲遵循服務所傳回的接續權杖,並在到達所有容器或num_results時停止。

如果指定了num_results,且帳戶的容器數目超過該數目,則產生器會在完成之後填入next_marker欄位。 如果需要更多結果,此標記可用來建立新的產生器。

list_containers(prefix=None, num_results=None, include_metadata=False, marker=None, timeout=None)

參數

prefix
str
預設值: None

篩選結果,只傳回名稱開頭為指定前置詞的容器。

num_results
int
預設值: None

指定要傳回的最大容器數目。 單一清單要求最多可能會傳回 1000 個 contianers,而且可能會傳回接續權杖,而接續權杖應遵循以取得額外的重試。

include_metadata
bool
預設值: False

指定在回應中傳回容器中繼資料。

marker
str
預設值: None

不透明的接續權杖。 如果指定num_results且該產生器已完成列舉結果,則可以從先前產生器物件的next_marker欄位擷取此值。 如果指定,這個產生器會從先前產生器停止的點開始傳回結果。

timeout
int
預設值: None

timeout 參數以秒為單位。

make_blob_url

建立 URL 以存取 Blob。

make_blob_url(container_name, blob_name, protocol=None, sas_token=None, snapshot=None)

參數

container_name
str
必要

容器的名稱。

blob_name
str
必要

Blob 的名稱。

protocol
str
預設值: None

要使用的通訊協定:'HTTP' 或 'HTTPs'。 如果未指定,請使用初始化 BaseBlobService 時指定的通訊協定。

sas_token
str
預設值: None

使用 generate_shared_access_signature 建立的共用存取簽章權杖。

snapshot
str
預設值: None

可唯一識別快照集的字串值。 這個查詢參數的值表示快照集版本。

傳回

Blob 存取 URL。

傳回類型

str

make_container_url

建立 URL 以存取容器。

make_container_url(container_name, protocol=None, sas_token=None)

參數

container_name
str
必要

容器的名稱。

protocol
str
預設值: None

要使用的通訊協定:'HTTP' 或 'HTTPs'。 如果未指定,請使用初始化 BaseBlobService 時指定的通訊協定。

sas_token
str
預設值: None

使用 generate_shared_access_signature 建立的共用存取簽章權杖。

傳回

容器存取 URL。

傳回類型

str

release_blob_lease

釋放租用。 如果在要求上指定的租用識別碼符合該 Blob 相關聯的租用,則可以釋放租用。 釋放租用可讓其他用戶端在釋放完成時,立即取得 Blob 的租用。

release_blob_lease(container_name, blob_name, lease_id, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

lease_id
str
必要

使用中租用的租用識別碼。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

if_match
str
預設值: None

ETag 值,或萬用字元 (*)。 只有資源的 ETag 與指定的值相符,才能指定此標頭執行作業。

if_none_match
str
預設值: None

ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。

timeout
int
預設值: None

timeout 參數以秒為單位。

release_container_lease

釋放租用。 如果指定的lease_id符合與容器相關聯的 ,則可能會釋放租用。 釋放租用可讓其他用戶端在釋放完成時,立即取得容器的租用。

release_container_lease(container_name, lease_id, if_modified_since=None, if_unmodified_since=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

lease_id
str
必要

使用中租用的租用識別碼。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

timeout
int
預設值: None

timeout 參數以秒為單位。

renew_blob_lease

更新租用。 如果在要求上指定的租用識別碼符合該 Blob 相關聯的租用,則租用可以更新。 請注意,租用到期之後,只要 Blob 未曾修改或再度租用,即使租用已到期,還是可以更新。 當您更新租用時,租用持續時間的時鐘會重設。

renew_blob_lease(container_name, blob_name, lease_id, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

lease_id
str
必要

使用中租用的租用識別碼。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

if_match
str
預設值: None

ETag 值,或萬用字元 (*)。 只有資源的 ETag 與指定的值相符,才能指定此標頭執行作業。

if_none_match
str
預設值: None

ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

字串

renew_container_lease

更新租用。 如果指定的租用識別碼符合與容器相關聯的租用識別碼,則可以更新租用。 請注意,租用到期之後,只要容器未曾再度租用,即使租用已過期,還是可以更新。 當您更新租用時,租用持續時間的時鐘會重設。

renew_container_lease(container_name, lease_id, if_modified_since=None, if_unmodified_since=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

lease_id
str
必要

使用中租用的租用識別碼。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

字串

set_blob_metadata

將指定 Blob 的使用者定義中繼資料設為一或多個名稱/值配對。

set_blob_metadata(container_name, blob_name, metadata=None, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

metadata
dict(str, str)
預設值: None

包含名稱和值組的聽寫。 每次呼叫這項作業都會取代附加至 Blob 的所有現存中繼資料。 若要從 Blob 移除所有中繼資料,請呼叫這項作業並且不使用中繼資料標頭。

lease_id
str
預設值: None

如果 Blob 具有作用中租用,則為必要項目。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

if_match
str
預設值: None

ETag 值,或萬用字元 (*)。 只有資源的 ETag 與指定的值相符,才能指定此標頭執行作業。

if_none_match
str
預設值: None

ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。

cpk
CustomerProvidedEncryptionKey
預設值: None

使用指定的金鑰加密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

已更新 Blob 的 ETag 和上次修改的屬性

傳回類型

set_blob_properties

在 Blob 上設定系統屬性。 如果針對content_settings設定一個屬性,則會覆寫所有屬性。

set_blob_properties(container_name, blob_name, content_settings=None, lease_id=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, timeout=None, cpk=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

content_settings
ContentSettings
預設值: None

用來設定 Blob 屬性的 ContentSettings 物件。

lease_id
str
預設值: None

如果 Blob 具有作用中租用,則為必要項目。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

if_match
str
預設值: None

ETag 值,或萬用字元 (*)。 只有資源的 ETag 與指定的值相符,才能指定此標頭執行作業。

if_none_match
str
預設值: None

ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。

cpk
CustomerProvidedEncryptionKey
預設值: None

使用指定的金鑰加密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

已更新 Blob 的 ETag 和上次修改的屬性

傳回類型

set_blob_service_properties

設定儲存體帳戶 Blob 服務的屬性,包括 Azure 儲存體分析。 如果專案 (例如記錄) 保留為 None,則會保留該服務上該功能的現有設定。

set_blob_service_properties(logging=None, hour_metrics=None, minute_metrics=None, cors=None, target_version=None, timeout=None, delete_retention_policy=None, static_website=None)

參數

logging
Logging
預設值: None

將 Azure Analytics 記錄設定分組。

hour_metrics
Metrics
預設值: None

小時計量設定會提供依 API 分組的要求統計資料摘要,以 Blob 的每小時匯總方式分組。

minute_metrics
Metrics
預設值: None

分鐘計量設定會針對 Blob 提供每分鐘的要求統計資料。

cors
list(CorsRule)
預設值: None

您可以在清單中包含最多五個 CorsRule 元素。 如果指定了空白清單,則會刪除所有 CORS 規則,且服務會停用 CORS。

target_version
str
預設值: None

指出未指定傳入要求版本時,要用於要求的預設版本。

timeout
int
預設值: None

timeout 參數以秒為單位。

delete_retention_policy
DeleteRetentionPolicy
預設值: None

刪除保留原則會指定是否要保留已刪除的 Blob。 它也會指定要保留的 Blob 天數和版本。

static_website
StaticWebsite
預設值: None

指定是否啟用靜態網站功能,如果是,則表示要使用的索引檔和 404 錯誤檔。

set_container_acl

設定可搭配共用存取簽章使用的指定容器或預存存取原則的許可權。 這些權限指出是否可以公開存取容器中的 Blob。

set_container_acl(container_name, signed_identifiers=None, public_access=None, lease_id=None, if_modified_since=None, if_unmodified_since=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

signed_identifiers
dict(str, AccessPolicy)
預設值: None

要與容器建立關聯的存取原則字典。 字典最多可以包含 5 個元素。 空的字典會清除服務上設定的存取原則。

public_access
PublicAccess
預設值: None

可能的值包括:容器、Blob。

lease_id
str
預設值: None

如果指定,set_container_acl只有在容器的租用作用中且符合此識別碼時才會成功。

if_modified_since
datetime
預設值: None

datetime 值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 指定此標頭,只有在資源自指定的日期/時間以來已修改時,才執行作業。

if_unmodified_since
datetime
預設值: None

datetime 值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

已更新容器的 ETag 和上次修改的屬性

傳回類型

set_container_metadata

為指定的容器設定一或多個使用者定義的名稱/值組。 每次呼叫這項作業都會取代附加至容器之所有現有的中繼資料。 若要從容器中移除所有中繼資料,請呼叫沒有中繼資料聽寫的這項作業。

set_container_metadata(container_name, metadata=None, lease_id=None, if_modified_since=None, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

metadata
dict(str, str)
預設值: None

包含要與容器建立關聯做為中繼資料之名稱/值組的聽寫。 範例: {'category':'test'}

lease_id
str
預設值: None

如果指定,set_container_metadata只有在容器的租用作用中且符合此識別碼時才會成功。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

已更新容器的 ETag 和上次修改的屬性

傳回類型

set_proxy

設定 HTTP CONNECT Tunnelling 的 Proxy 伺服器主機和埠。

set_proxy(host, port, user=None, password=None)

參數

host
str
必要

Proxy 的位址。 例如:'192.168.0.100'

port
int
必要

Proxy 的埠。 例如:6000

user
str
預設值: None

Proxy 授權的使用者。

password
str
預設值: None

Proxy 授權的密碼。

snapshot_blob

建立 Blob 的唯讀快照集。

snapshot_blob(container_name, blob_name, metadata=None, if_modified_since=None, if_unmodified_since=None, if_match=None, if_none_match=None, lease_id=None, timeout=None, cpk=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

metadata
dict(str, str)
預設值: None

指定與 Blob 相關聯之使用者定義的名稱/值組。 如果未指定名稱/值組,這項作業會將基底 Blob 的中繼資料複製到快照集。 如果指定了一個或多個名稱/值組,則會使用指定的中繼資料建立快照集,而不會從基底 Blob 複製中繼資料。

if_modified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。

if_unmodified_since
datetime
預設值: None

日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。

if_match
str
預設值: None

ETag 值,或萬用字元 (*)。 只有資源的 ETag 與指定的值相符,才能指定此標頭執行作業。

if_none_match
str
預設值: None

ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定這個標頭來執行作業。指定萬用字元 () ,只有在資源不存在時,才能執行作業,如果作業不存在,則會失敗。

lease_id
str
預設值: None

如果 Blob 具有作用中租用,則為必要項目。

cpk
CustomerProvidedEncryptionKey
預設值: None

使用指定的金鑰加密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線以傳輸金鑰。

timeout
int
預設值: None

timeout 參數以秒為單位。

傳回

快照集屬性

傳回類型

undelete_blob

取消刪除 Blob 作業會還原虛刪除 Blob 或快照集的內容和中繼資料。 嘗試取消刪除未虛刪除的 Blob 或快照集將會成功,而不會進行任何變更。

undelete_blob(container_name, blob_name, timeout=None)

參數

container_name
str
必要

現有容器的名稱。

blob_name
str
必要

現有 Blob 的名稱。

timeout
int
預設值: None

timeout 參數以秒為單位。

屬性

protocol

request_session

socket_timeout

MAX_CHUNK_GET_SIZE

MAX_CHUNK_GET_SIZE = 4194304

MAX_SINGLE_GET_SIZE

MAX_SINGLE_GET_SIZE = 33554432