AzureBlobDatastore 類別

表示將資料存放區儲存至 Azure Blob 儲存體的連接資訊。

您不應該直接使用此類別。 若要建立此類型的資料存放區,請使用 register_azure_blob_container 資料存放區的方法。

注意:使用資料存放區存取資料時,您必須具有存取該資料的許可權,這取決於向資料存放區註冊的認證。

初始化新的 Azure Blob 資料存放區。

繼承
AzureBlobDatastore

建構函式

AzureBlobDatastore(workspace, name, container_name, account_name, sas_token=None, account_key=None, protocol=None, endpoint=None, request_session=None, workspace_msi_has_access=False, subscription_id=None, resource_group=None, service_data_access_auth_identity=None)

參數

workspace
Workspace
必要

此資料存放區所屬的工作區。

name
str
必要

資料存放區的名稱。 它只能包含英數位元或 - 或 _。

container_name
str
必要

Blob 容器名稱。

account_name
str
必要

儲存體帳戶名稱。

sas_token
str, <xref:optional>
預設值: None

用來存取此容器的 SAS 權杖。 預設值為 [無]。

account_key
str, <xref:optional>
預設值: None

儲存體帳戶金鑰。 預設值為 [無]。

protocol
str, <xref:optional>
預設值: None

用來連線到儲存體帳戶的通訊協定。 如果為 None,則預設為 HTTPs。

endpoint
str, <xref:optional>
預設值: None

Blob 容器的端點。 如果為 None,則預設為 core.windows.net。

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

要用於 HTTP 要求的會話物件。 預設值為 [無]。

workspace
Workspace
必要

此資料存放區所屬的工作區。

name
str
必要

資料存放區的名稱。 它只能包含英數位元或 - 或 _。

container_name
str
必要

Blob 容器名稱。

account_name
str
必要

儲存體帳戶名稱。

sas_token
str, <xref:optional>
必要

用來存取此容器的 SAS 權杖。 預設值為 [無]。

account_key
str, <xref:optional>
必要

儲存體帳戶金鑰。 預設值為 [無]。

protocol
str, <xref:optional>
必要

用來連線到儲存體帳戶的通訊協定。 如果為 None,則預設為 HTTPs。

endpoint
str, <xref:optional>
必要

Blob 容器的端點。 如果為 None,則預設為 core.windows.net。

request_session
<xref:requests.Session>, <xref:optional>
必要

要用於 HTTP 要求的會話物件。 預設值為 [無]。

workspace_msi_has_access
bool, <xref:optional>
預設值: False

工作區 MSI 是否可存取此儲存體帳戶。 (已被取代)

subscription_id
str, <xref:optional>
預設值: None

儲存體帳戶的訂用帳戶識別碼。

resource_group
str, <xref:optional>
預設值: None

儲存體帳戶的資源群組。

service_data_access_auth_identity
str 或 <xref:_restclient.models.ServiceDataAccessAuthIdentity>
預設值: None

指出要用來驗證客戶儲存體之服務資料存取權的身分識別。 可能的值包括:'None'、'WorkspaceSystemAssignedIdentity'、'WorkspaceUserAssignedIdentity'

方法

download

將資料從 Blob 容器下載到本機檔案系統。

upload

將資料從本機檔案系統上傳至 Blob 容器,此資料存放區會指向此容器。

注意:若要讓此方法運作,資料存放區物件必須填入帳戶金鑰或 SAS 權杖屬性。 如果資料存放區物件不包含任何形式的認證,這個方法將會失敗。 此外,此方法已被取代,未來可能會移除。 建議您使用 Dataset.File.upload_directory 方法來從本機目錄上傳檔案,並在單一方法呼叫中建立 FileDataset。

upload_files

將資料從本機檔案系統上傳至此資料存放區所指向的 Blob 容器。

注意:此方法已被取代,不再支援。 建議改用 FileDatasetFactory.upload_directory

download

將資料從 Blob 容器下載到本機檔案系統。

download(target_path, prefix=None, overwrite=False, show_progress=True)

參數

target_path
str
必要

要下載檔案的本機目錄。

prefix
str, <xref:optional>
預設值: None

要下載之 Blob 容器中資料夾的路徑。 如果設定為 [無],將會下載 Blob 中的所有內容。 預設值為 [無]。

overwrite
bool, <xref:optional>
預設值: False

指出是否要覆寫現有的檔案。 預設為 False。

show_progress
bool, <xref:optional>
預設值: True

指出是否要在主控台中顯示下載進度。 預設值為 True。

傳回

已成功下載的檔案數目。

傳回類型

int

upload

將資料從本機檔案系統上傳至 Blob 容器,此資料存放區會指向此容器。

注意:若要讓此方法運作,資料存放區物件必須填入帳戶金鑰或 SAS 權杖屬性。 如果資料存放區物件不包含任何形式的認證,這個方法將會失敗。 此外,此方法已被取代,未來可能會移除。 建議您使用 Dataset.File.upload_directory 方法來從本機目錄上傳檔案,並在單一方法呼叫中建立 FileDataset。

upload(src_dir, target_path=None, overwrite=False, show_progress=True)

參數

src_dir
str
必要

要上傳的本機目錄。

target_path
str
必要

要上傳至的 Blob 容器中的位置。 如果為 None,則上傳至根目錄。 預設值為 [無]。

overwrite
bool, <xref:optional>
必要

指出是否要覆寫現有的檔案。 預設為 False。

show_progress
bool, <xref:optional>
必要

指出是否要在主控台中顯示上傳的進度。 預設值為 True。

傳回

上傳目標路徑的 DataReference 實例。

傳回類型

upload_files

將資料從本機檔案系統上傳至此資料存放區所指向的 Blob 容器。

注意:此方法已被取代,不再支援。 建議改用 FileDatasetFactory.upload_directory

upload_files(files, relative_root=None, target_path=None, overwrite=False, show_progress=True)

參數

files
list[str]
必要

要上傳之檔案的絕對路徑清單。

relative_root
str, <xref:optional>
必要

用來判斷 Blob 中檔案路徑的根目錄。 例如,如果我們上傳 /path/to/file.txt,而且我們會定義基底路徑做為 /path,當file.txt上傳至 Blob 儲存體時,它會有 /to/file.txt 的路徑。 如果也提供target_path,則會使用它作為上述衍生路徑的前置詞。 基底路徑必須是所有檔案的通用路徑,否則會擲回例外狀況。 預設為 [無],這會尋找常見的路徑。

target_path
str, <xref:optional>
必要

Blob 容器中要上傳資料的位置。 預設為 None,根目錄。

overwrite
bool, <xref:optional>
必要

指出是否要覆寫現有的檔案。 預設為 False。

show_progress
bool, <xref:optional>
必要

指出是否要在主控台中顯示上傳的進度。 預設值為 True。

傳回

上傳目標路徑的 DataReference 實例。

傳回類型