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)
參數
- endpoint_suffix
- str
URL 的主機基底元件,減去帳戶名稱。 預設為 Azure (core.windows.net) 。 覆寫此選項以使用中國雲端 (core.chinacloudapi.cn) 。
- request_session
- <xref:requests.Session>
要用於 HTTP 要求的會話物件。
- connection_string
- str
如果指定,這會覆寫要求會話以外的所有其他參數。 如需連接字串格式,請參閱 http://azure.microsoft.com/en-us/documentation/articles/storage-configure-connection-string/
- socket_timeout
- int
如果指定,這會覆寫預設通訊端逾時。 指定的逾時是以秒為單位。 如需預設值,請參閱 _constants.py 中的DEFAULT_SOCKET_TIMEOUT。
- token_credential
用來驗證 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)
參數
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)
參數
- lease_duration
- int
指定租用的持續時間 (秒數),或指定負一 (-1),代表租用永不到期。 非無限期的租用可以介於 15 到 60 秒之間。 租用持續時間無法使用更新或變更來變更。 預設值為 -1 (無限租用) 。
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
- if_none_match
- str
ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定這個標頭來執行作業。指定萬用字元 () ,只有在資源不存在時,才能執行作業,如果作業不存在,則會失敗。
傳回
字串
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)
參數
- lease_duration
- int
指定租用的持續時間 (秒數),或指定負一 (-1),代表租用永不到期。 非無限期的租用可以介於 15 到 60 秒之間。 租用持續時間無法使用更新或變更來變更。 預設值為 -1 (無限租用) 。
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
傳回
字串
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)
參數
傳回
剖析的批次刪除 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)
參數
- lease_break_period
- int
針對中斷作業,這是租用在中斷之前應該繼續的建議持續時間,介於 0 到 60 秒之間。 只有在比租用的剩餘時間還短時,才會使此中斷期。 如果時間較長,則會使用租用的剩餘時間。 在中斷期到期之前,將無法使用新的租用,但是保留租用的時間可以比中斷期還長。 如果此標頭未與中斷作業一起出現,則固定持續時間租用會在剩餘租用期間經過之後中斷,而無限租用會立即中斷。
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
- if_none_match
- str
ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。
傳回
int
break_container_lease
如果容器有作用中的租用,請中斷租用。 一旦租用中斷,即無法更新。 任何獲授權的要求都可以中斷租用,不需要求即可指定相符的租用識別碼。 當租用中斷時,允許租用中斷期間經過,在這段期間,除了中斷和釋放以外,在容器上無法執行租用作業。 當租用成功中斷時,回應會指出可取得新租用之前的間隔秒數。
break_container_lease(container_name, lease_break_period=None, if_modified_since=None, if_unmodified_since=None, timeout=None)
參數
- lease_break_period
- int
這是租用在中斷之前應該繼續的建議持續時間,介於 0 到 60 秒之間。 只有在比租用的剩餘時間還短時,才會使此中斷期。 如果時間較長,則會使用租用的剩餘時間。 在中斷期到期之前,將無法使用新的租用,但是保留租用的時間可以比中斷期還長。 如果此標頭未與中斷作業一起出現,則固定持續時間租用會在剩餘租用期間經過之後中斷,而無限租用會立即中斷。
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
傳回
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)
參數
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
- if_none_match
- str
ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。
change_container_lease
變更使用中租用的租用識別碼。 變更必須包含目前的租用識別碼和新的租用識別碼。
change_container_lease(container_name, lease_id, proposed_lease_id, if_modified_since=None, if_unmodified_since=None, timeout=None)
參數
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
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)
參數
- 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
與 Blob 相關聯的名稱/值組,可做為中繼資料。 如果未指定名稱/值組,作業會將中繼資料從來源 Blob 或檔案複製到目的地 Blob。 如果指定了一或多個名稱/值組,則會使用指定的中繼資料建立目的地 Blob,而且中繼資料不會從來源 Blob 或檔案複製。
- source_if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有在指定日期/時間修改來源 Blob 時,才能指定此條件式標頭以複製 Blob。
- source_if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有在非指定日期/時間修改來源 Blob 時,才能指定此條件式標頭以複製 Blob。
- source_if_match
- <xref:ETag>
ETag 值,或萬用字元 (*)。 只有當其 ETag 與指定的值相符時,才能指定此條件式標頭複製來源 Blob。 如果 ETag 值不相符,Blob 服務會傳回狀態碼 412 (先決條件失敗)。 如果來源是 Azure 檔案,則無法指定此標頭。
- source_if_none_match
- <xref:ETag>
ETag 值,或萬用字元 (*)。 只有當其 ETag 與指定的值不相符時,才能指定此條件式標頭複製 Blob。 如果兩值完全相同,Blob 服務會傳回狀態碼 412 (先決條件失敗)。 如果來源是 Azure 檔案,則無法指定此標頭。
- destination_if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有在指定日期/時間修改目的地 Blob 時,才能指定此條件式標頭以複製 Blob。 如果未修改目的地 Blob,Blob 服務會傳回狀態碼 412 (先決條件失敗)。
- destination_if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有在非指定日期/時間修改目的地 Blob 時,才能指定此條件式標頭以複製 Blob。 如果已修改目的地 Blob,Blob 服務會傳回狀態碼 412 (先決條件失敗)。
- destination_if_match
- <xref:ETag>
ETag 值,或萬用字元 (*)。 指定此條件式標頭的 ETag 值,只有在指定的 ETag 值符合現有目的地 Blob 的 ETag 值時,才能複製 Blob。 如果目的地 Blob 的 ETag 不符合為 If-Match 指定的 ETag,Blob 服務會傳回狀態碼 412 (前置條件失敗) 。
- destination_if_none_match
- <xref:ETag>
ETag 值或萬用字元 () 。指定此條件式標頭的 ETag 值,只有在指定的 ETag 值不符合目的地 Blob 的 ETag 值時,才會複製 Blob。指定萬用字元 () ,只有在目的地 Blob 不存在時,才能執行作業。 如果不符合指定的條件,Blob 服務會傳回狀態碼 412 (先決條件失敗)。
- destination_lease_id
- str
為此標頭指定的租用識別碼必須符合目的地 Blob 的租用識別碼。 如果要求不包含租用識別碼或無效,作業會失敗,並顯示狀態碼 412 (先決條件失敗)。
傳回
複製作業屬性,例如狀態、來源和識別碼。
傳回類型
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 個字元。
傳回
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)
參數
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
- if_none_match
- str
ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定這個標頭來執行作業。指定萬用字元 () ,只有在資源不存在時,才能執行作業,如果作業不存在,則會失敗。
delete_container
標記要刪除的指定容器。 其中包含的容器和任何 Blob 稍後會在記憶體回收時刪除。
delete_container(container_name, fail_not_exist=False, lease_id=None, if_modified_since=None, if_unmodified_since=None, timeout=None)
參數
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
傳回
True 是表示 如果刪除容器,則為 False 容器不存在。
傳回類型
exists
傳回布林值,指出如果blob_name為 None) ,則傳回布林值,指出容器是否存在 (,否則傳回布林值,指出 Blob 是否存在。
exists(container_name, blob_name=None, snapshot=None, timeout=None)
參數
傳回
布林值,指出資源是否存在。
傳回類型
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>
這些權限與共用存取簽章相關聯。 使用者只能執行這些權限允許的作業。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。
共用存取簽章變成不正確時間。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。 Azure 一律會將值轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。
共用存取簽章生效的時間。 如果省略,此呼叫的開始時間會假設為儲存體服務收到要求的時間。 Azure 一律會將值轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。
- ip
- str
指定要接受要求的 IP 位址或 IP 位址範圍。 如果要求的來源 IP 位址不符合 SAS 權杖上指定的 IP 位址或位址範圍,則不會驗證要求。 例如,在 SAS 上指定 sip=168.1.5.65 或 sip=168.1.5.60-168.1.5.70 會限制這些 IP 位址的要求。
傳回
共用存取簽章 (sas) 權杖。
傳回類型
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)
參數
- permission
- BlobPermissions
這些權限與共用存取簽章相關聯。 使用者只能執行這些權限允許的作業。 許可權必須排序為讀取、寫入、刪除、清單。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。
共用存取簽章變成不正確時間。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。 Azure 一律會將值轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。
共用存取簽章生效的時間。 如果省略,此呼叫的開始時間會假設為儲存體服務收到要求的時間。 Azure 一律會將值轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。
- ip
- str
指定要接受要求的 IP 位址或 IP 位址範圍。 如果要求的來源 IP 位址不符合 SAS 權杖上指定的 IP 位址或位址範圍,則不會驗證要求。 例如,在 SAS 上指定 sip=168.1.5.65 或 sip=168.1.5.60-168.1.5.70 會限制這些 IP 位址的要求。
- user_delegation_key
- UserDelegationKey
使用者可以傳入使用者委派金鑰,而不是帳戶金鑰。 您可以使用 AAD 身分識別進行驗證,以從服務取得使用者委派金鑰;呼叫 get_user_delegation_key即可完成此作業。 存在時,SAS 會改用使用者委派金鑰簽署。
傳回
共用存取簽章 (sas) 權杖。
傳回類型
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)
參數
- permission
- ContainerPermissions
這些權限與共用存取簽章相關聯。 使用者只能執行這些權限允許的作業。 許可權必須排序為讀取、寫入、刪除、清單。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。
共用存取簽章變成不正確時間。 除非指定參考包含此欄位之預存存取原則的識別碼,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。 Azure 一律會將值轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。
共用存取簽章生效的時間。 如果省略,此呼叫的開始時間會假設為儲存體服務收到要求的時間。 Azure 一律會將值轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。
- ip
- str
指定要接受要求的 IP 位址或 IP 位址範圍。 如果要求的來源 IP 位址不符合 SAS 權杖上指定的 IP 位址或位址範圍,則不會驗證要求。 例如,在 SAS 上指定 sip=168.1.5.65 或 sip=168.1.5.60-168.1.5.70 會將要求限制為這些 IP 位址。
- user_delegation_key
- UserDelegationKey
使用者可以傳入使用者委派金鑰,而不是帳戶金鑰。 使用 AAD 身分識別進行驗證,即可從服務取得使用者委派金鑰;呼叫 get_user_delegation_key即可達成此目的。 當存在時,SAS 會改為使用使用者委派金鑰簽署。
傳回
共用存取簽章 (sas) 權杖。
傳回類型
get_blob_account_information
取得儲存體帳戶的相關資訊。 如果使用者具有容器或 Blob 的 SAS,也可以擷取資訊。
get_blob_account_information(container_name=None, blob_name=None, timeout=None)
參數
傳回
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)
參數
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
- if_none_match
- str
ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。
使用指定的金鑰解密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。
傳回
字典,表示 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)
參數
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
- if_none_match
- str
ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。
使用指定的金鑰解密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。
傳回
Blob 物件,包括屬性和中繼資料。
傳回類型
get_blob_service_properties
取得儲存體帳戶 Blob 服務的屬性,包括 Azure 儲存體分析。
get_blob_service_properties(timeout=None)
參數
傳回
具有附加target_version屬性的 Blob ServiceProperties 。
get_blob_service_stats
擷取與 Blob 服務的複寫相關的統計資料。 只有在儲存體帳戶啟用讀取權限異地備援複寫時,才能使用。
有了地理備援複寫,Azure 儲存體會以持久的方式在兩個位置維護您的資料。 在這兩個位置中,Azure 儲存體會持續維護狀況良好的多個資料複本。 您讀取、建立、更新或刪除資料的位置是「主要」儲存體帳戶的位置。 主要位置存在於您透過 Azure 管理 Azure 傳統入口網站建立帳戶時所選擇的區域,例如美國中北部。 資料複寫的目標位置是「次要」位置。 次要位置是根據主要的位置自動判斷而來,它是與主要位置位於相同地區的第二個資料中心。 當儲存體帳戶啟用「讀取權限的地理備援複寫」時,可從次要位置使用唯讀權限。
get_blob_service_stats(timeout=None)
參數
傳回
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)
參數
- start_range
- int
要用來下載 Blob 區段的位元組範圍開始。 如果未指定任何end_range,則會下載start_range之後的所有位元組。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。
- end_range
- int
要用於下載 Blob 區段的位元組範圍結束。 如果提供end_range,則必須提供start_range。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。
- validate_content
- bool
如果設定為 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>)
簽章函式的進度回呼 (目前、目前) 目前傳輸的位元組數目,以及已知為 Blob 的大小總計。
- max_connections
- int
如果設定為 2 或更新版本,則會針對第一個自我完成初始取得。MAX_SINGLE_GET_SIZE Blob 的位元組。 如果這是整個 Blob,則此時會傳回 方法。 如果沒有,則會使用等於max_connections的執行緒數目,下載剩餘的資料平行。 每個區塊的大小都會是自我。MAX_CHUNK_GET_SIZE。 如果設定為 1,將會完成單一大型 get 要求。 這通常不建議使用,但如果應該使用非常少的執行緒、網路要求非常昂貴,或無法搜尋的資料流程會防止平行下載。 如果如果max_connections大於 1,則許多 Blob 預期為空的 Blob 需要額外的要求時,這也很有用。
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
- if_none_match
- str
ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。
使用指定的金鑰解密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。
傳回
具有屬性和中繼資料的 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)
參數
- open_mode
- str
開啟檔案時要使用的模式。 請注意,只指定附加open_mode可防止平行下載。 因此,如果使用這個open_mode,max_connections必須設定為 1。
- start_range
- int
要用來下載 Blob 區段的位元組範圍開始。 如果未指定任何end_range,則會下載start_range之後的所有位元組。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。
- end_range
- int
要用於下載 Blob 區段的位元組範圍結束。 如果提供end_range,則必須提供start_range。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。
- validate_content
- bool
如果設定為 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>)
簽章函式的進度回呼 (目前、目前) 目前傳輸的位元組數目,以及已知為 Blob 的大小總計。
- max_connections
- int
如果設定為 2 或更新版本,則會針對第一個自我完成初始取得。MAX_SINGLE_GET_SIZE Blob 的位元組。 如果這是整個 Blob,則此時會傳回 方法。 如果沒有,則會使用等於max_connections的執行緒數目,下載剩餘的資料平行。 每個區塊的大小都會是自我。MAX_CHUNK_GET_SIZE。 如果設定為 1,將會完成單一大型 get 要求。 這通常不建議使用,但如果應該使用非常少的執行緒、網路要求非常昂貴,或無法搜尋的資料流程會防止平行下載。 如果如果max_connections大於 1,則許多 Blob 預期為空的 Blob 需要額外的要求時,這也很有用。
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
- if_none_match
- str
ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。
使用指定的金鑰解密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。
傳回
具有屬性和中繼資料的 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)
參數
- start_range
- int
要用來下載 Blob 區段的位元組範圍開始。 如果未指定任何end_range,則會下載start_range之後的所有位元組。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。
- end_range
- int
要用於下載 Blob 區段的位元組範圍結束。 如果提供end_range,則必須提供start_range。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。
- validate_content
- bool
如果設定為 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>)
簽章函式的進度回呼 (目前、目前) 目前傳輸的位元組數目,以及已知為 Blob 的大小總計。
- max_connections
- int
如果設定為 2 或更新版本,則會針對第一個自我完成初始取得。MAX_SINGLE_GET_SIZE Blob 的位元組。 如果這是整個 Blob,則此時會傳回 方法。 如果沒有,則會使用等於max_connections的執行緒數目,下載剩餘的資料平行。 每個區塊的大小都會是自我。MAX_CHUNK_GET_SIZE。 如果設定為 1,將會完成單一大型 get 要求。 這通常不建議使用,但如果應該使用非常少的執行緒、網路要求非常昂貴,或無法搜尋的資料流程會防止平行下載。 如果如果max_connections大於 1,則許多 Blob 預期為空的 Blob 需要額外的要求時,這也很有用。
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
- if_none_match
- str
ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。
使用指定的金鑰解密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。
傳回
具有屬性和中繼資料的 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)
參數
- start_range
- int
要用來下載 Blob 區段的位元組範圍開始。 如果未指定任何end_range,則會下載start_range之後的所有位元組。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。
- end_range
- int
要用於下載 Blob 區段的位元組範圍結束。 如果提供end_range,則必須提供start_range。 start_range和end_range參數皆包含。 例如:start_range=0,end_range=511 會下載前 512 個位元組的 Blob。
- validate_content
- bool
如果設定為 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>)
簽章函式的進度回呼 (目前、目前) 目前傳輸的位元組數目,以及已知為 Blob 的大小總計。
- max_connections
- int
如果設定為 2 或更新版本,則會針對第一個自我完成初始取得。MAX_SINGLE_GET_SIZE Blob 的位元組。 如果這是整個 Blob,則此時會傳回 方法。 如果沒有,則會使用等於max_connections的執行緒數目,下載剩餘的資料平行。 每個區塊的大小都會是自我。MAX_CHUNK_GET_SIZE。 如果設定為 1,將會完成單一大型 get 要求。 這通常不建議使用,但如果應該使用非常少的執行緒、網路要求非常昂貴,或無法搜尋的資料流程會防止平行下載。 如果如果max_connections大於 1,則許多 Blob 預期為空的 Blob 需要額外的要求時,這也很有用。
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
- if_none_match
- str
ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。
使用指定的金鑰解密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。
傳回
具有屬性和中繼資料的 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)
參數
- lease_id
如果指定,get_container_acl只有在容器的租用作用中且符合此識別碼時才會成功。
傳回
與容器相關聯的存取原則字典。 如果開啟公用存取,則為 str AccessPolicy 的聽寫和 public_access 屬性
get_container_metadata
傳回指定容器的所有使用者定義中繼資料。
get_container_metadata(container_name, lease_id=None, timeout=None)
參數
傳回
字典,表示容器中繼資料名稱、值組。
傳回類型
get_container_properties
傳回指定容器的所有使用者定義中繼資料和系統屬性。 傳回的資料不包含容器的 Blob 清單。
get_container_properties(container_name, lease_id=None, timeout=None)
參數
傳回
容器物件內指定容器的屬性。
傳回類型
get_user_delegation_key
為了簽署 SAS 權杖的目的,取得使用者委派金鑰。 權杖認證必須存在於服務物件上,此要求才能成功。
get_user_delegation_key(key_start_time, key_expiry_time, timeout=None)
參數
傳回
使用者委派金鑰。
傳回類型
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)
參數
- num_results
- int
指定要傳回的 Blob 數目上限,包括所有 <xref:azure.storage.blob.baseblobservice.BlobPrefix> 項目。 如果要求未指定num_results或指定大於 5,000 的值,則伺服器最多會傳回 5,000 個專案。 將num_results設定為小於或等於零的值會導致錯誤回應碼 400 (不正確的要求) 。
- delimiter
- str
當要求包含此參數時,作業會傳回 BlobPrefix 結果清單中的專案,做為名稱開頭為相同子字串的所有 Blob 的預留位置,最多到分隔符號的外觀。 此分隔符號可以是單一字元或字串。
- marker
- str
不透明的接續權杖。 如果指定num_results且該產生器已完成列舉結果,則可以從先前產生器物件的next_marker欄位擷取此值。 如果指定,這個產生器會從先前產生器停止的點開始傳回結果。
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)
參數
- num_results
- int
指定要傳回的 Blob 數目上限,包括所有 <xref:azure.storage.blob.baseblobservice.BlobPrefix> 項目。 如果要求未指定num_results或指定大於 5,000 的值,則伺服器最多會傳回 5,000 個專案。 將num_results設定為小於或等於零的值會導致錯誤回應碼 400 (不正確的要求) 。
- delimiter
- str
當要求包含此參數時,作業會傳回 BlobPrefix 結果清單中的專案,做為名稱開頭為相同子字串的所有 Blob 的預留位置,最多到分隔符號的外觀。 此分隔符號可以是單一字元或字串。
- marker
- str
不透明的接續權杖。 如果指定num_results且該產生器已完成列舉結果,則可以從先前產生器物件的next_marker欄位擷取此值。 如果指定,這個產生器會從先前產生器停止的點開始傳回結果。
list_containers
傳回產生器,以列出指定帳戶下的容器。 產生器會延遲遵循服務所傳回的接續權杖,並在到達所有容器或num_results時停止。
如果指定了num_results,且帳戶的容器數目超過該數目,則產生器會在完成之後填入next_marker欄位。 如果需要更多結果,此標記可用來建立新的產生器。
list_containers(prefix=None, num_results=None, include_metadata=False, marker=None, timeout=None)
參數
- num_results
- int
指定要傳回的最大容器數目。 單一清單要求最多可能會傳回 1000 個 contianers,而且可能會傳回接續權杖,而接續權杖應遵循以取得額外的重試。
- marker
- str
不透明的接續權杖。 如果指定num_results且該產生器已完成列舉結果,則可以從先前產生器物件的next_marker欄位擷取此值。 如果指定,這個產生器會從先前產生器停止的點開始傳回結果。
make_blob_url
建立 URL 以存取 Blob。
make_blob_url(container_name, blob_name, protocol=None, sas_token=None, snapshot=None)
參數
傳回
Blob 存取 URL。
傳回類型
make_container_url
建立 URL 以存取容器。
make_container_url(container_name, protocol=None, sas_token=None)
參數
傳回
容器存取 URL。
傳回類型
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)
參數
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
- if_none_match
- str
ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。
release_container_lease
釋放租用。 如果指定的lease_id符合與容器相關聯的 ,則可能會釋放租用。 釋放租用可讓其他用戶端在釋放完成時,立即取得容器的租用。
release_container_lease(container_name, lease_id, if_modified_since=None, if_unmodified_since=None, timeout=None)
參數
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
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)
參數
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
- if_none_match
- str
ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。
傳回
字串
renew_container_lease
更新租用。 如果指定的租用識別碼符合與容器相關聯的租用識別碼,則可以更新租用。 請注意,租用到期之後,只要容器未曾再度租用,即使租用已過期,還是可以更新。 當您更新租用時,租用持續時間的時鐘會重設。
renew_container_lease(container_name, lease_id, if_modified_since=None, if_unmodified_since=None, timeout=None)
參數
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
傳回
字串
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)
參數
包含名稱和值組的聽寫。 每次呼叫這項作業都會取代附加至 Blob 的所有現存中繼資料。 若要從 Blob 移除所有中繼資料,請呼叫這項作業並且不使用中繼資料標頭。
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
- if_none_match
- str
ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。
使用指定的金鑰加密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。
傳回
已更新 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)
參數
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
- if_none_match
- str
ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定此標頭來執行作業。指定萬用字元 () ,只有在資源不存在時才會執行作業,如果作業不存在,則會使作業失敗。
使用指定的金鑰加密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線才能傳輸金鑰。
傳回
已更新 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)
參數
- delete_retention_policy
- DeleteRetentionPolicy
刪除保留原則會指定是否要保留已刪除的 Blob。 它也會指定要保留的 Blob 天數和版本。
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)
參數
- signed_identifiers
- dict(str, AccessPolicy)
要與容器建立關聯的存取原則字典。 字典最多可以包含 5 個元素。 空的字典會清除服務上設定的存取原則。
- if_modified_since
- datetime
datetime 值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 指定此標頭,只有在資源自指定的日期/時間以來已修改時,才執行作業。
- if_unmodified_since
- datetime
datetime 值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
傳回
已更新容器的 ETag 和上次修改的屬性
傳回類型
set_container_metadata
為指定的容器設定一或多個使用者定義的名稱/值組。 每次呼叫這項作業都會取代附加至容器之所有現有的中繼資料。 若要從容器中移除所有中繼資料,請呼叫沒有中繼資料聽寫的這項作業。
set_container_metadata(container_name, metadata=None, lease_id=None, if_modified_since=None, timeout=None)
參數
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
傳回
已更新容器的 ETag 和上次修改的屬性
傳回類型
set_proxy
設定 HTTP CONNECT Tunnelling 的 Proxy 伺服器主機和埠。
set_proxy(host, port, user=None, password=None)
參數
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)
參數
指定與 Blob 相關聯之使用者定義的名稱/值組。 如果未指定名稱/值組,這項作業會將基底 Blob 的中繼資料複製到快照集。 如果指定了一個或多個名稱/值組,則會使用指定的中繼資料建立快照集,而不會從基底 Blob 複製中繼資料。
- if_modified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源在指定的時間後修改,才能指定此標準執行作業。
- if_unmodified_since
- datetime
日期時間值。 Azure 預期傳入的日期值是 UTC。 如果包含時區,則任何非 UTC 日期時間都會轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。 只有資源沒有在指定的日期/時間後修改,才能指定此標頭執行作業。
- if_none_match
- str
ETag 值或萬用字元 () 。只有當資源的 ETag 不符合指定的值時,才指定這個標頭來執行作業。指定萬用字元 () ,只有在資源不存在時,才能執行作業,如果作業不存在,則會失敗。
使用指定的金鑰加密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 在要求中提供加密金鑰本身時,必須建立安全連線以傳輸金鑰。
傳回
快照集屬性
傳回類型
undelete_blob
取消刪除 Blob 作業會還原虛刪除 Blob 或快照集的內容和中繼資料。 嘗試取消刪除未虛刪除的 Blob 或快照集將會成功,而不會進行任何變更。
undelete_blob(container_name, blob_name, timeout=None)
參數
屬性
protocol
request_session
socket_timeout
MAX_CHUNK_GET_SIZE
MAX_CHUNK_GET_SIZE = 4194304
MAX_SINGLE_GET_SIZE
MAX_SINGLE_GET_SIZE = 33554432