共用方式為


DataLakeFileClient 類別

與 DataLake 檔案互動的用戶端,即使檔案可能還不存在也一樣。

繼承
azure.storage.filedatalake._path_client.PathClient
DataLakeFileClient

建構函式

DataLakeFileClient(account_url: str, file_system_name: str, file_path: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)

參數

account_url
str
必要

儲存體帳戶的 URI。

file_system_name
str
必要

目錄或檔案的檔案系統。

file_path
str
必要

整個檔案路徑,以便與特定檔案互動。 例如 「{directory}/{subdirectory}/{file}」

credential
預設值: None

要用來驗證的認證。 如果帳戶 URL 已經有 SAS 權杖,則這是選擇性的。 此值可以是 SAS 權杖字串、來自 azure.core.credentials 的 AzureSasCredential 或 AzureNamedKeyCredential 實例、帳戶共用存取金鑰,或來自 azure.identity 的 TokenCredentials 類別實例。 如果資源 URI 已經包含 SAS 權杖,則會忽略此權杖,以使用明確的認證

  • 除了 AzureSasCredential 的情況之外,衝突的 SAS 權杖將會引發 ValueError。 如果使用 AzureNamedKeyCredential 的實例,「name」 應該是儲存體帳戶名稱,而 「key」 應該是儲存體帳戶金鑰。
api_version
str

要用於要求的儲存體 API 版本。 預設值是與目前 SDK 相容的最新服務版本。 將 設定為較舊版本可能會導致功能相容性降低。

範例

從連接字串建立 DataLakeServiceClient。


   from azure.storage.filedatalake import DataLakeFileClient
   DataLakeFileClient.from_connection_string(connection_string, "myfilesystem", "mydirectory", "myfile")

變數

url
str

檔案系統的完整端點 URL,包括使用 SAS 權杖。

primary_endpoint
str

完整的主要端點 URL。

primary_hostname
str

主要端點的主機名稱。

方法

acquire_lease

要求新的租用。 如果檔案或目錄沒有作用中的租用,DataLake 服務會在檔案/目錄上建立租用,並傳回新的租用識別碼。

append_data

將資料附加至檔案。

close

這個方法是關閉用戶端所開啟的通訊端。 與內容管理員搭配使用時,不需要使用它。

create_file

建立新檔案。

delete_file

標記要刪除的指定檔案。

download_file

將檔案下載至 StorageStreamDownloader。 readall () 方法必須用來讀取所有內容,或 readinto () 必須用來將檔案下載到資料流程。 使用 chunks () 會傳回反覆運算器,讓使用者以區塊逐一查看內容。

exists

如果檔案存在,則傳回 True,否則傳回 False。

flush_data

認可先前附加的資料。

from_connection_string

從連接字串建立 DataLakeFileClient。

:return a DataLakeFileClient :rtype ~azure.storage.filedatalake.DataLakeFileClient

get_access_control
get_file_properties

傳回檔案的所有使用者定義中繼資料、標準 HTTP 屬性和系統屬性。 但不會傳回檔案內容。

query_file

可讓使用者藉由提供簡單的查詢運算式,在 datalake 檔案資料上選取/專案。 此作業會傳回 DataLakeFileQueryReader,使用者必須使用 readall () 或 readinto () 來取得查詢資料。

remove_access_control_recursive

移除路徑和子路徑上的存取控制。

rename_file

重新命名原始程式檔。

set_access_control

設定路徑的擁有者、群組、許可權或存取控制清單。

set_access_control_recursive

在路徑和子路徑上設定存取控制。

set_file_expiry

設定檔案到期並刪除的時間。

set_http_headers

設定檔案或目錄上的系統屬性。

如果已為content_settings設定一個屬性,則會覆寫所有屬性。

set_metadata

設定指定檔案系統的一或多個使用者定義名稱/值組。 每次呼叫此作業都會取代附加至檔案系統的所有現有中繼資料。 若要從檔案系統中移除所有中繼資料,請呼叫此作業,而不使用中繼資料聽寫。

update_access_control_recursive

修改路徑和子路徑上的存取控制。

upload_data

將資料上傳至檔案。

acquire_lease

要求新的租用。 如果檔案或目錄沒有作用中的租用,DataLake 服務會在檔案/目錄上建立租用,並傳回新的租用識別碼。

acquire_lease(lease_duration: int | None = -1, lease_id: str | None = None, **kwargs) -> DataLakeLeaseClient

參數

lease_duration
int
必要

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

lease_id
str
必要

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

if_modified_since
datetime

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

if_unmodified_since
datetime

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

etag
str

ETag 值,或萬用字元 (*)。 用來檢查資源是否已變更,並根據 match_condition 參數所指定的條件採取行動。

match_condition
MatchConditions

要用於 etag 的比對條件。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡

傳回

DataLakeLeaseClient 物件,可在內容管理員中執行。

傳回類型

append_data

將資料附加至檔案。

append_data(data: bytes | str | Iterable[AnyStr] | IO[AnyStr], offset: int, length: int | None = None, **kwargs) -> Dict[str, str | datetime | int]

參數

data
必要

要附加至檔案的內容

offset
必要

要附加之資料的開始位置。

length
必要

以位元組為單位的資料大小。

flush
bool

如果為 true,則會在附加資料之後認可資料。

validate_content
bool

如果為 true,則計算區塊內容的 MD5 雜湊。 儲存體服務會檢查與已傳送雜湊一起抵達之內容的雜湊。 如果使用 HTTP 而非 HTTPs 作為 HTTPs,則這主要對於偵測連線上的 bitflip 很有用, (預設) 將已經過驗證。 請注意,這個 MD5 雜湊不會與 檔案一起儲存。

lease_action
Literal["acquire", "auto-renew", "release", "acquire-release"]

用來執行租用作業以及附加資料。

「acquire」 - 取得租用。 「自動更新」- 重新新增現有的租用。 「release」 - 作業完成後釋放租用。 需要 flush=True。 「acquire-release」 - 取得租用,並在作業完成後釋出。 需要 flush=True

lease_duration
int

如果 lease_action 設定為 「acquire」 或 「acquire-release」,則有效。

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

lease
DataLakeLeaseClientstr

如果檔案具有作用中的租用,或 lease_action 設定為 「acquire」 或 「acquire-release」,則為必要專案。 如果檔案具有現有的租用,則會用來存取檔案。 如果取得新的租用,這將會作為新的租用識別碼。值可以是 DataLakeLeaseClient 物件或租用識別碼做為字串。

cpk
CustomerProvidedEncryptionKey

使用指定的金鑰加密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。

傳回

回應標頭的聽寫

範例

將資料附加至檔案。


   file_client.append_data(data=file_content[2048:3072], offset=2048, length=1024)

close

這個方法是關閉用戶端所開啟的通訊端。 與內容管理員搭配使用時,不需要使用它。

close() -> None

create_file

建立新檔案。

create_file(content_settings: ContentSettings | None = None, metadata: Dict[str, str] | None = None, **kwargs) -> Dict[str, str | datetime]

參數

content_settings
ContentSettings
必要

用來設定路徑屬性的 ContentSettings 物件。

metadata
Optional[Dict[str, str]]
必要

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

lease
DataLakeLeaseClientstr

如果檔案有作用中的租用,則為必要專案。 值可以是 DataLakeLeaseClient 物件或租用識別碼做為字串。

umask
str

選擇性且只有在帳戶啟用階層命名空間時才有效。 建立檔案或目錄且父資料夾沒有預設 ACL 時,umask 會限制要建立的檔案或目錄許可權。 產生的許可權是由 p ^u 提供,其中 p & 是許可權,而您是 umask。 例如,如果 p 是 0777,而您是 0057,則產生的許可權為 0720。 目錄的預設許可權為 0777,而檔案的預設許可權為 0666。 預設 umask 為 0027。 umask 必須在 4 位數的八進位標記法中指定 (,例如 0766) 。

owner
str

檔案或目錄的擁有者。

group
str

檔案或目錄的擁有群組。

acl
str

設定檔案和目錄的 POSIX 存取控制許可權。 此值是以逗號分隔的存取控制專案清單。 每個存取控制專案 (ACE) 都包含範圍、類型、使用者或群組識別碼,以及格式為 「[scope:][type]:[id]:[permissions]」 的許可權。

lease_id
str

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

lease_duration
int

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

expires_on
datetimeint

將檔案設定為到期的時間。 如果expires_on的類型是 int,則到期時間會設定為從建立時間經過的毫秒數。 如果expires_on的類型是 datetime,則到期時間會設定為提供的絕對時間。 如果未提供時區資訊,則會將此解譯為 UTC。

permissions
str

選擇性且只有在帳戶啟用階層命名空間時才有效。 設定檔案擁有者、檔案擁有者群組及其他的 POSIX 存取權限。 每個類別都可以被授與讀取、寫入或執行許可權。 也支援黏性位。 支援符號 (rwxrw-rw-) 和 4 位數八進位標記法 (例如 0766) 。

if_modified_since
datetime

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

if_unmodified_since
datetime

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

etag
str

ETag 值,或萬用字元 (*)。 用來檢查資源是否已變更,並根據 match_condition 參數所指定的條件採取行動。

match_condition
MatchConditions

要用於 etag 的比對條件。

cpk
CustomerProvidedEncryptionKey

使用指定的金鑰加密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡

encryption_context
str

指定要在檔案上設定的加密內容。

傳回

回應聽寫 (Etag 和上次修改) 。

範例

建立檔案。


   file_client = filesystem_client.get_file_client(file_name)
   file_client.create_file()

delete_file

標記要刪除的指定檔案。

delete_file(**kwargs) -> None

參數

lease
DataLakeLeaseClientstr

如果檔案有作用中的租用,則為必要專案。 值可以是 LeaseClient 物件或租用識別碼做為字串。

if_modified_since
datetime

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

if_unmodified_since
datetime

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

etag
str

ETag 值,或萬用字元 (*)。 用來檢查資源是否已變更,並根據 match_condition 參數所指定的條件採取行動。

match_condition
MatchConditions

要用於 etag 的比對條件。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡

傳回

範例

刪除檔案。


   new_client.delete_file()

download_file

將檔案下載至 StorageStreamDownloader。 readall () 方法必須用來讀取所有內容,或 readinto () 必須用來將檔案下載到資料流程。 使用 chunks () 會傳回反覆運算器,讓使用者以區塊逐一查看內容。

download_file(offset: int | None = None, length: int | None = None, **kwargs: Any) -> StorageStreamDownloader

參數

offset
int
必要

要用來下載檔案區段的位元組範圍開始。 如果提供長度,則必須設定 。

length
int
必要

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

lease
DataLakeLeaseClientstr

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

if_modified_since
datetime

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

if_unmodified_since
datetime

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

etag
str

ETag 值,或萬用字元 (*)。 用來檢查資源是否已變更,並根據 match_condition 參數所指定的條件採取行動。

match_condition
MatchConditions

要用於 etag 的比對條件。

cpk
CustomerProvidedEncryptionKey

使用指定的金鑰解密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 如果檔案是以 Customer-Provided 金鑰建立,則為必要專案。

max_concurrency
int

要下載的平行連線數目。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡。 這個方法可能會對服務進行多個呼叫,而逾時會個別套用至每個呼叫。

傳回

StorageStreamDownloader (串流物件)

傳回類型

範例

傳回下載的資料。


   download = file_client.download_file()
   downloaded_bytes = download.readall()

exists

如果檔案存在,則傳回 True,否則傳回 False。

exists(**kwargs: Any) -> bool

參數

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡

傳回

如果檔案存在,則為 True,否則會傳回 False。

傳回類型

flush_data

認可先前附加的資料。

flush_data(offset: int, retain_uncommitted_data: bool | None = False, **kwargs) -> Dict[str, str | datetime]

參數

offset
必要

offset 等於認可先前附加資料之後的檔案長度。

retain_uncommitted_data
bool
必要

僅適用于排清作業。 如果為 「true」,則會在排清作業完成之後保留未認可的資料;否則,排清作業之後會刪除未認可的資料。 預設值為 false。 排清成功時,小於指定位置的資料會寫入檔案,但這個選擇性參數允許在排清位置之後保留資料,以供日後排清作業使用。

content_settings
ContentSettings

用來設定路徑屬性的 ContentSettings 物件。

close
bool

Azure 儲存體事件可讓應用程式在檔案變更時接收通知。 啟用 Azure 儲存體事件時,會引發檔案變更事件。 這個事件具有屬性,指出這是最終變更,以區別中繼排清與檔案資料流程之間的差異,以及檔資料流程的最終關閉。 只有在動作為「排清」且啟用變更通知時,關閉查詢參數才有效。 如果 close 的值為 「true」,且排清作業順利完成,服務就會引發檔案變更通知,其屬性工作表示這是檔案資料流程 (已關閉) 的最終更新。 如果引發「false」變更通知,表示檔案已變更。 預設值為 false。 Hadoop ABFS 驅動程式會將此查詢參數設定為 true,表示檔案資料流程已關閉。」

if_modified_since
datetime

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

if_unmodified_since
datetime

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

etag
str

ETag 值,或萬用字元 (*)。 用來檢查資源是否已變更,並根據 match_condition 參數所指定的條件採取行動。

match_condition
MatchConditions

要用於 etag 的比對條件。

lease_action
Literal["acquire", "auto-renew", "release", "acquire-release"]

用來執行租用作業以及附加資料。

「acquire」 - 取得租用。 「auto-renew」 - 重新新增現有的租用。 「release」 - 作業完成後釋放租用。 「acquire-release」 - 取得租用,並在作業完成之後釋出。

lease_duration
int

如果 lease_action 設定為 「acquire」 或 「acquire-release」,則有效。

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

lease
DataLakeLeaseClientstr

如果檔案具有作用中租用 ,或lease_action 設定為 「acquire」 或 「acquire-release」,則為必要專案。 如果檔案有現有的租用,這會用來存取檔案。 如果取得新的租用,這會作為新的租用識別碼。值可以是 DataLakeLeaseClient 物件或租用識別碼作為字串。

cpk
CustomerProvidedEncryptionKey

使用指定的金鑰加密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。

傳回

聽寫中的回應標頭

範例

認可先前附加的資料。


   with open(SOURCE_FILE, "rb") as data:
       file_client = file_system_client.get_file_client("myfile")
       file_client.create_file()
       file_client.append_data(data, 0)
       file_client.flush_data(data.tell())

from_connection_string

從連接字串建立 DataLakeFileClient。

:return a DataLakeFileClient :rtype ~azure.storage.filedatalake.DataLakeFileClient

from_connection_string(conn_str: str, file_system_name: str, file_path: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self

參數

conn_str
str
必要

Azure 儲存體帳戶的連接字串。

file_system_name
str
必要

要與其互動的檔案系統名稱。

file_path
str
必要

整個檔案路徑,以便與特定檔案互動。 例如 「{directory}/{subdirectory}/{file}」

credential
預設值: None

要用來驗證的認證。 如果帳戶 URL 已經有 SAS 權杖,或連接字串已經有共用存取金鑰值,則這是選擇性的。 此值可以是 SAS 權杖字串、來自 azure.core.credentials 的 AzureSasCredential 或 AzureNamedKeyCredential 的實例、帳戶共用存取金鑰,或來自 azure.identity 的 TokenCredentials 類別實例。 此處提供的認證優先于連接字串中的認證。 如果使用 AzureNamedKeyCredential 的實例,「name」 應該是儲存體帳戶名稱,而 「key」 應該是儲存體帳戶金鑰。

get_access_control

get_access_control(upn: bool | None = None, **kwargs) -> Dict[str, Any]

參數

upn
bool
必要

選擇性。 只有在帳戶啟用階層命名空間時才有效。 如果為 「true」,則會將 x-ms-owner、x-ms-group 和 x-ms-acl 回應標頭中傳回的使用者識別值從 Azure Active Directory 物件識別碼轉換成使用者主體名稱。 如果為 「false」,則會以 Azure Active Directory 物件識別碼的形式傳回值。 預設值為 false。 請注意,群組和應用程式物件識別碼不會翻譯,因為它們沒有唯一的易記名稱。

lease
DataLakeLeaseClientstr

如果檔案/目錄具有作用中的租用,則為必要專案。 值可以是 LeaseClient 物件或租用識別碼做為字串。

if_modified_since
datetime

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

if_unmodified_since
datetime

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

etag
str

ETag 值,或萬用字元 (*)。 用來檢查資源是否已變更,並根據 match_condition 參數所指定的條件採取行動。

match_condition
MatchConditions

要用於 etag 的比對條件。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡

response dict

回應聽寫。

get_file_properties

傳回檔案的所有使用者定義中繼資料、標準 HTTP 屬性和系統屬性。 但不會傳回檔案內容。

get_file_properties(**kwargs: Any) -> FileProperties

參數

lease

如果目錄或檔案具有作用中的租用,則為必要專案。 值可以是 DataLakeLeaseClient 物件或租用識別碼作為字串。

if_modified_since
datetime

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

if_unmodified_since
datetime

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

etag
str

ETag 值,或萬用字元 (*)。 用來檢查資源是否已變更,並根據 match_condition 參數所指定的條件採取行動。

match_condition
MatchConditions

要用於 etag 的比對條件。

cpk
CustomerProvidedEncryptionKey

使用指定的金鑰解密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 如果檔案是以客戶提供的金鑰建立,則為必要專案。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡

傳回

檔案的所有使用者定義中繼資料、標準 HTTP 屬性和系統屬性。

傳回類型

範例

取得檔案的屬性。


   properties = file_client.get_file_properties()

query_file

可讓使用者藉由提供簡單的查詢運算式,在 datalake 檔案資料上選取/專案。 此作業會傳回 DataLakeFileQueryReader,使用者必須使用 readall () 或 readinto () 來取得查詢資料。

query_file(query_expression: str, **kwargs: Any) -> DataLakeFileQueryReader

參數

query_expression
str
必要

必要。 查詢語句。 例如 從 DataLakeStorage 選取 *

on_error
Callable[DataLakeFileQueryError]

在服務傳回的任何處理錯誤上呼叫的函式。

file_format
DelimitedTextDialectDelimitedJsonDialectQuickQueryDialectstr

選擇性。 定義目前儲存在檔案中的資料序列化。 預設值是將檔案資料視為以預設方言格式化的 CSV 資料。 這可以使用自訂 DelimitedTextDialect 或 DelimitedJsonDialect 或 「ParquetDialect」 (傳遞為字串或列舉) 來覆寫。 這些方言可以透過各自的類別、QuickQueryDialect 列舉或字串傳遞。

output_format
DelimitedTextDialectDelimitedJsonDialectlist[ArrowDialect] 或 QuickQueryDialectstr

選擇性。 定義資料流程的輸出序列化。 根據預設,資料會傳回,因為它在檔案中表示。 藉由提供輸出格式,檔案資料將會根據該設定檔重新格式化。 這個值可以是 DelimitedTextDialect 或 DelimitedJsonDialect 或 ArrowDialect。 這些方言可以透過各自的類別、QuickQueryDialect 列舉或字串傳遞。

lease
DataLakeLeaseClientstr

如果檔案有作用中的租用,則為必要專案。 值可以是 DataLakeLeaseClient 物件或租用識別碼做為字串。

if_modified_since
datetime

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

if_unmodified_since
datetime

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

etag
str

ETag 值,或萬用字元 (*)。 用來檢查資源是否已變更,並根據 match_condition 參數所指定的條件採取行動。

match_condition
MatchConditions

要用於 etag 的比對條件。

cpk
CustomerProvidedEncryptionKey

使用指定的金鑰解密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。 如果檔案是以 Customer-Provided 金鑰建立,則為必要專案。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡

傳回

DataLakeFileQueryReader) (串流物件

傳回類型

<xref:azure.storage.filedatalake.DataLakeFileQueryReader>

範例

藉由提供簡單的查詢運算式,在 datalake 檔案資料上選取/專案。


   errors = []
   def on_error(error):
       errors.append(error)

   # upload the csv file
   file_client = datalake_service_client.get_file_client(filesystem_name, "csvfile")
   file_client.upload_data(CSV_DATA, overwrite=True)

   # select the second column of the csv file
   query_expression = "SELECT _2 from DataLakeStorage"
   input_format = DelimitedTextDialect(delimiter=',', quotechar='"', lineterminator='\n', escapechar="", has_header=False)
   output_format = DelimitedJsonDialect(delimiter='\n')
   reader = file_client.query_file(query_expression, on_error=on_error, file_format=input_format, output_format=output_format)
   content = reader.readall()

remove_access_control_recursive

移除路徑和子路徑上的存取控制。

remove_access_control_recursive(acl: str, **kwargs: Any) -> AccessControlChangeResult

參數

acl
str
必要

移除檔案和目錄的 POSIX 存取控制許可權。 此值是以逗號分隔的存取控制專案清單。 每個存取控制專案 (ACE) 都包含範圍、類型,以及格式為 「[scope:][type]:[id]」 的使用者或群組識別碼。

progress_hook
<xref:func>(AccessControlChanges)

呼叫端可以追蹤作業進度的回呼,以及收集無法變更存取控制的路徑。

continuation_token
str

選擇性接續權杖,可用來繼續先前停止的作業。

batch_size
int

選擇性。 如果資料集大小超過批次大小,作業將會分割成多個要求,以便追蹤進度。 批次大小應介於 1 到 2000 之間。 未指定的預設值為 2000。

max_batches
int

選擇性。 定義單一變更存取控制作業可以執行的批次數目上限。 如果在處理所有子路徑之前達到最大值,則可以使用接續權杖繼續作業。 空值表示未系結中的批次數目上限,且作業會持續到結尾為止。

continue_on_failure
bool

如果設定為 False,作業會在遇到使用者錯誤時快速終止, (4XX) 。 如果為 True,作業將會忽略使用者錯誤,並在目錄的其他子實體上繼續進行作業。 只有在發生使用者錯誤時,continue_on_failure為 True 時,才會傳回接續權杖。 如果未設定預設值,則此預設值為 False。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡

傳回

遞迴作業的摘要,包括成功和失敗的計數,以及在作業提前終止時接續權杖。

傳回類型

例外狀況

如果權杖可用,則使用者可以使用 AzureError 的 continuation_token 欄位重新開機作業。

rename_file

重新命名原始程式檔。

rename_file(new_name: str, **kwargs: Any) -> DataLakeFileClient

參數

new_name
str
必要

使用者想要重新命名的新檔案名。 此值必須具有下列格式:「{filesystem}/{directory}/{subdirectory}/{file}」。

content_settings
ContentSettings

用來設定路徑屬性的 ContentSettings 物件。

source_lease
DataLakeLeaseClientstr

來源路徑的租用識別碼。 如果指定,來源路徑必須具有作用中的租用,且租用識別碼必須相符。

lease

如果檔案/目錄有作用中的租用,則為必要專案。 值可以是 LeaseClient 物件或租用識別碼做為字串。

if_modified_since
datetime

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

if_unmodified_since
datetime

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

etag
str

ETag 值,或萬用字元 (*)。 用來檢查資源是否已變更,並根據 match_condition 參數所指定的條件採取行動。

match_condition
MatchConditions

要用於 etag 的比對條件。

source_if_modified_since
datetime

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

source_if_unmodified_since
datetime

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

source_etag
str

來源 ETag 值或萬用字元 (*) 。 用來檢查資源是否已變更,並根據 match_condition 參數所指定的條件採取行動。

source_match_condition
MatchConditions

要用於 etag 的來源比對條件。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡

傳回

已重新命名的檔案用戶端

傳回類型

範例

重新命名來源檔案。


   new_client = file_client.rename_file(file_client.file_system_name + '/' + 'newname')

set_access_control

設定路徑的擁有者、群組、許可權或存取控制清單。

set_access_control(owner: str | None = None, group: str | None = None, permissions: str | None = None, acl: str | None = None, **kwargs) -> Dict[str, str | datetime]

參數

owner
str
必要

選擇性。 檔案或目錄的擁有者。

group
str
必要

選擇性。 檔案或目錄的擁有群組。

permissions
str
必要

只有在帳戶啟用階層命名空間時,才有選擇性且有效。 設定檔案擁有者、檔案擁有者群組和其他專案的 POSIX 存取權限。 每個類別都可以被授與讀取、寫入或執行許可權。 也支援黏性位。 支援符號 (rwxrw-rw-) 和 4 位數八進位標記法 (例如 0766) 。 許可權和 acl 互斥。

acl
str
必要

設定檔案和目錄的 POSIX 存取控制許可權。 此值是以逗號分隔的存取控制專案清單。 每個存取控制專案 (ACE) 都包含範圍、類型、使用者或群組識別碼,以及格式為 「[scope:][type]:[id]:[permissions]」 的許可權。 許可權和 acl 互斥。

lease
DataLakeLeaseClientstr

如果檔案/目錄具有作用中的租用,則為必要專案。 值可以是 LeaseClient 物件或租用識別碼做為字串。

if_modified_since
datetime

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

if_unmodified_since
datetime

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

etag
str

ETag 值,或萬用字元 (*)。 用來檢查資源是否已變更,並根據 match_condition 參數所指定的條件採取行動。

match_condition
MatchConditions

要用於 etag 的比對條件。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡

response dict

回應聽寫 (Etag 和上次修改) 。

set_access_control_recursive

在路徑和子路徑上設定存取控制。

set_access_control_recursive(acl: str, **kwargs: Any) -> AccessControlChangeResult

參數

acl
str
必要

設定檔案和目錄的 POSIX 存取控制許可權。 此值是以逗號分隔的存取控制專案清單。 每個存取控制專案 (ACE) 都包含範圍、類型、使用者或群組識別碼,以及格式為 「[scope:][type]:[id]:[permissions]」 的許可權。

progress_hook
<xref:func>(AccessControlChanges)

呼叫端可以追蹤作業進度的回呼,以及收集無法變更存取控制的路徑。

continuation_token
str

選擇性的接續權杖,可用來繼續先前停止的作業。

batch_size
int

選擇性。 如果資料集大小超過批次大小,作業將會分割成多個要求,以便追蹤進度。 批次大小應介於 1 到 2000 之間。 未指定的預設值為 2000。

max_batches
int

選擇性。 定義單一變更存取控制作業可以執行的批次數目上限。 如果在處理所有子路徑之前達到最大值,則可以使用接續權杖繼續作業。 空值表示未系結中的批次數目上限,且作業會持續到結束為止。

continue_on_failure
bool

如果設定為 False,作業會在遇到使用者錯誤時快速終止, (4XX) 。 如果為 True,作業將會忽略使用者錯誤,並在目錄的其他子實體上繼續進行作業。 只有在發生使用者錯誤時,continue_on_failure為 True 時,才會傳回接續權杖。 如果未設定預設值,則為 False。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡

傳回

遞迴作業的摘要,包括成功和失敗的計數,以及如果作業提前終止,則為接續權杖。

傳回類型

例外狀況

如果權杖可用,使用者可以使用 AzureError 的 continuation_token 欄位來重新開機作業。

set_file_expiry

設定檔案到期並刪除的時間。

set_file_expiry(expiry_options: str, expires_on: datetime | int | None = None, **kwargs) -> None

參數

expiry_options
str
必要

必要。 表示到期時間的模式。 可能的值包括:'NeverExpire'、'RelativeToCreation'、'RelativeToNow'、'Absolute'

expires_on
datetimeint
必要

將檔案設定為到期的時間。 當 expiry_options 為 RelativeTo*時,expires_on應該是以毫秒為單位的 int。 如果expires_on的類型是 datetime,它應該以 UTC 時間為單位。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡

傳回類型

set_http_headers

設定檔案或目錄上的系統屬性。

如果已為content_settings設定一個屬性,則會覆寫所有屬性。

set_http_headers(content_settings: ContentSettings | None = None, **kwargs) -> Dict[str, Any]

參數

content_settings
ContentSettings
必要

用來設定檔案/目錄屬性的 ContentSettings 物件。

lease
DataLakeLeaseClientstr

如果指定,則只有在檔案系統的租用作用中且符合此識別碼時,set_file_system_metadata才會成功。

if_modified_since
datetime

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

if_unmodified_since
datetime

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

etag
str

ETag 值,或萬用字元 (*)。 用來檢查資源是否已變更,並根據 match_condition 參數所指定的條件採取行動。

match_condition
MatchConditions

要用於 etag 的比對條件。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡

傳回

file/directory-updated 屬性聽寫 (Etag 和上次修改)

傳回類型

set_metadata

設定指定檔案系統的一或多個使用者定義名稱/值組。 每次呼叫此作業都會取代附加至檔案系統的所有現有中繼資料。 若要從檔案系統中移除所有中繼資料,請呼叫此作業,而不使用中繼資料聽寫。

set_metadata(metadata: Dict[str, str], **kwargs) -> Dict[str, str | datetime]

參數

metadata
Dict[str, str]
必要

包含名稱/值組的聽寫,與檔案系統產生關聯做為中繼資料。 範例:{'category':'test'}

lease
DataLakeLeaseClientstr

如果指定,set_file_system_metadata只有在檔案系統的租用作用中且符合此識別碼時才會成功。

if_modified_since
datetime

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

if_unmodified_since
datetime

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

etag
str

ETag 值,或萬用字元 (*)。 用來檢查資源是否已變更,並根據 match_condition 參數所指定的條件採取行動。

match_condition
MatchConditions

要用於 etag 的比對條件。

cpk
CustomerProvidedEncryptionKey

使用指定的金鑰加密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡

傳回

檔案系統更新的屬性聽寫 (Etag 和上次修改) 。

update_access_control_recursive

修改路徑和子路徑上的存取控制。

update_access_control_recursive(acl: str, **kwargs: Any) -> AccessControlChangeResult

參數

acl
str
必要

修改檔案和目錄的 POSIX 存取控制許可權。 此值是以逗號分隔的存取控制專案清單。 每個存取控制專案 (ACE) 都包含範圍、類型、使用者或群組識別碼,以及格式為 「[scope:][type]:[id]:[permissions]」 的許可權。

progress_hook
<xref:func>(AccessControlChanges)

呼叫端可以追蹤作業進度的回呼,以及收集無法變更存取控制的路徑。

continuation_token
str

選擇性接續權杖,可用來繼續先前停止的作業。

batch_size
int

選擇性。 如果資料集大小超過批次大小,作業將會分割成多個要求,以便追蹤進度。 批次大小應介於 1 到 2000 之間。 未指定的預設值為 2000。

max_batches
int

選擇性。 定義單一變更存取控制作業可以執行的批次數目上限。 如果在處理所有子路徑之前達到最大值,則可以使用接續權杖繼續作業。 空值表示未系結中的批次數目上限,且作業會持續到結尾為止。

continue_on_failure
bool

如果設定為 False,作業會在遇到使用者錯誤時快速終止, (4XX) 。 如果為 True,作業將會忽略使用者錯誤,並在目錄的其他子實體上繼續進行作業。 只有在發生使用者錯誤時,continue_on_failure為 True 時,才會傳回接續權杖。 如果未設定預設值,則此預設值為 False。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 此值不會在用戶端上追蹤或驗證。 若要設定用戶端網路逾時,請參閱 這裡

傳回

遞迴作業的摘要,包括成功和失敗的計數,以及在作業提前終止時接續權杖。

傳回類型

例外狀況

如果權杖可用,則使用者可以使用 AzureError 的 continuation_token 欄位重新開機作業。

upload_data

將資料上傳至檔案。

upload_data(data: bytes | str | Iterable | IO, length: int | None = None, overwrite: bool | None = False, **kwargs) -> Dict[str, Any]

參數

data
必要

要上傳至檔案的內容

length
int
必要

以位元組為單位的資料大小。

overwrite
bool
必要

表示覆寫現有的檔案。

content_settings
ContentSettings

用來設定路徑屬性的 ContentSettings 物件。

metadata
Optional[Dict[str, str]]

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

lease
DataLakeLeaseClientstr

如果 Blob 具有作用中租用,則為必要項目。 值可以是 DataLakeLeaseClient 物件或租用識別碼做為字串。

umask
str

選擇性且只有在帳戶啟用階層命名空間時才有效。 建立檔案或目錄且父資料夾沒有預設 ACL 時,umask 會限制要建立的檔案或目錄許可權。 產生的許可權是由 p ^u 提供,其中 p & 是許可權,而您是 umask。 例如,如果 p 是 0777,而您是 0057,則產生的許可權為 0720。 目錄的預設許可權為 0777,而檔案的預設許可權為 0666。 預設 umask 為 0027。 umask 必須在 4 位數的八進位標記法中指定 (,例如 0766) 。

permissions
str

選擇性且只有在帳戶啟用階層命名空間時才有效。 設定檔案擁有者、檔案擁有者群組及其他的 POSIX 存取權限。 每個類別都可以被授與讀取、寫入或執行許可權。 也支援黏性位。 支援符號 (rwxrw-rw-) 和 4 位數八進位標記法 (例如 0766) 。

if_modified_since
datetime

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

if_unmodified_since
datetime

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

validate_content
bool

如果為 true,則計算檔案每個區塊的 MD5 雜湊。 儲存體服務會檢查與已傳送雜湊一起抵達之內容的雜湊。 如果使用 HTTP 而非 HTTPs,這主要是在使用 HTTP 而非 HTTPs 時偵測連線上的 bitflip,因為 HTTPs (預設) ,將會經過驗證。 請注意,此 MD5 雜湊不會隨 Blob 儲存。 另請注意,如果啟用,將不會使用記憶體有效率上傳演算法,因為計算 MD5 雜湊需要緩衝處理整個區塊,因此會破壞記憶體有效率演算法的用途。

etag
str

ETag 值,或萬用字元 (*)。 用來檢查資源是否已變更,並根據 match_condition 參數所指定的條件採取行動。

match_condition
MatchConditions

要用於 etag 的比對條件。

cpk
CustomerProvidedEncryptionKey

使用指定的金鑰加密服務端的資料。 您必須透過 HTTPS 使用客戶提供的金鑰。

timeout
int

以秒為單位設定作業的伺服器端逾時。 如需詳細資訊,請參閱 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 用戶端上不會追蹤或驗證此值。 若要設定用戶端網路逾時,請參閱 這裡。 這個方法可能會對服務進行多個呼叫,而逾時會個別套用至每個呼叫。

chunk_size
int

以區塊方式上傳檔案的最大區塊大小。 預設為 1001024 1024或 100MB。

encryption_context
str

指定要在檔案上設定的加密內容。

傳回

回應聽寫 (Etag 和上次修改) 。

屬性

api_version

用於要求的儲存體 API 版本。

location_mode

用戶端目前使用的位置模式。

根據預設,這會是「主要」。 選項包括 「主要」和「次要」。

primary_endpoint

完整的主要端點 URL。

primary_hostname

主要端點的主機名稱。

secondary_endpoint

如果已設定,則為完整的次要端點 URL。

如果無法使用,將會引發 ValueError。 若要明確指定次要主機名稱,請在具現化上使用選擇性 secondary_hostname 關鍵字引數。

例外狀況

secondary_hostname

次要端點的主機名稱。

如果無法使用,則為 None。 若要明確指定次要主機名稱,請在具現化上使用選擇性 secondary_hostname 關鍵字引數。

url

此實體的完整端點 URL,包括如果使用的 SAS 權杖。

這可能是主要端點或次要端點,視目前的 location_mode 而定。 :returns:此實體的完整端點 URL,包括如果使用的 SAS 權杖。 :rtype: str