다음을 통해 공유


DataLakeServiceClient 클래스

계정 수준에서 DataLake 서비스와 상호 작용할 클라이언트입니다.

이 클라이언트는 계정 속성을 검색 및 구성하고 계정 내에서 파일 시스템을 나열, 만들기 및 삭제하는 작업을 제공합니다. 특정 파일 시스템, 디렉터리 또는 파일과 관련된 작업의 경우 get_client 함수를 사용하여 해당 엔터티에 대한 클라이언트를 검색할 수도 있습니다.

상속
azure.storage.filedatalake._shared.base_client.StorageAccountHostsMixin
DataLakeServiceClient

생성자

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

매개 변수

account_url
str
필수

DataLake 스토리지 계정의 URL입니다. URL 경로에 포함된 다른 엔터티(예: 파일 시스템 또는 파일)는 삭제됩니다. 이 URL은 필요에 따라 SAS 토큰으로 인증할 수 있습니다.

credential
기본값: None

인증할 자격 증명입니다. 계정 URL에 이미 SAS 토큰이 있는 경우 선택 사항입니다. 값은 SAS 토큰 문자열, azure.core.credentials의 AzureSasCredential 또는 AzureNamedKeyCredential의 instance, 계정 공유 액세스 키 또는 azure.identity에서 TokenCredentials 클래스의 instance 수 있습니다. 리소스 URI에 이미 SAS 토큰이 포함된 경우 명시적 자격 증명을 위해 무시됩니다.

  • 충돌하는 SAS 토큰이 ValueError를 발생시키는 AzureSasCredential의 경우를 제외하고 AzureNamedKeyCredential의 instance 사용하는 경우 "name"은 스토리지 계정 이름이고 "키"는 스토리지 계정 키여야 합니다.
api_version
str

요청에 사용할 Storage API 버전입니다. 기본값은 현재 SDK와 호환되는 최신 서비스 버전입니다. 이전 버전으로 설정하면 기능 호환성이 저하될 수 있습니다.

예제

연결 문자열에서 DataLakeServiceClient 만들기


   from azure.storage.filedatalake import DataLakeServiceClient
   datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)

Azure ID 자격 증명을 사용하여 DataLakeServiceClient 만들기


   from azure.identity import ClientSecretCredential
   token_credential = ClientSecretCredential(
       self.active_directory_tenant_id,
       self.active_directory_application_id,
       self.active_directory_application_secret,
   )
   datalake_service_client = DataLakeServiceClient("https://{}.dfs.core.windows.net".format(self.account_name),
                                                   credential=token_credential)

변수

url
str

datalake 서비스 엔드포인트에 대한 전체 엔드포인트 URL입니다.

primary_endpoint
str

전체 기본 엔드포인트 URL입니다.

primary_hostname
str

기본 엔드포인트의 호스트 이름입니다.

메서드

close

이 방법은 클라이언트가 연 소켓을 닫는 것입니다. 컨텍스트 관리자와 함께 사용할 때 사용할 필요가 없습니다.

create_file_system

지정된 계정 아래에 새 파일 시스템을 만듭니다.

이름이 같은 파일 시스템이 이미 있는 경우 ResourceExistsError가 발생합니다. 이 메서드는 새로 만든 파일 시스템과 상호 작용할 클라이언트를 반환합니다.

delete_file_system

삭제할 지정된 파일 시스템을 표시합니다.

파일 시스템 및 파일 내에 포함된 모든 파일은 나중에 가비지 수집 중에 삭제됩니다. 파일 시스템을 찾을 수 없으면 ResourceNotFoundError가 발생합니다.

from_connection_string

연결 문자열에서 DataLakeServiceClient를 만듭니다.

:dataLakeServiceClient :rtype ~azure.storage.filedatalake.DataLakeServiceClient를 반환합니다.

get_directory_client

지정된 디렉터리와 상호 작용할 클라이언트를 가져옵니다.

디렉터리가 아직 필요하지 않습니다.

get_file_client

지정된 파일과 상호 작용할 클라이언트를 가져옵니다.

파일이 아직 필요하지 않습니다.

get_file_system_client

지정된 파일 시스템과 상호 작용할 클라이언트를 가져옵니다.

파일 시스템이 아직 필요하지 않습니다.

get_service_properties

Azure 스토리지 분석 포함하여 스토리지 계정의 datalake 서비스의 속성을 가져옵니다.

버전 12.4.0의 새로운 기능: 이 작업은 API 버전 '2020-06-12'에서 도입되었습니다.

get_user_delegation_key

SAS 토큰에 서명하기 위한 사용자 위임 키를 가져옵니다. 이 요청이 성공하려면 서비스 개체에 토큰 자격 증명이 있어야 합니다.

list_file_systems

지정된 계정 아래의 파일 시스템을 나열하는 생성기를 반환합니다.

생성기는 서비스에서 반환하는 연속 토큰을 느리게 따르고 모든 파일 시스템이 반환되면 중지됩니다.

set_service_properties

Azure 스토리지 분석 포함하여 스토리지 계정의 Datalake 서비스의 속성을 설정합니다.

버전 12.4.0의 새로운 기능: 이 작업은 API 버전 '2020-06-12'에서 도입되었습니다.

요소(예: analytics_logging)가 None으로 남아 있으면 해당 기능에 대한 서비스의 기존 설정이 유지됩니다.

undelete_file_system

일시 삭제된 파일 시스템을 복원합니다.

작업은 삭제 보존 정책에 설정된 지정된 일 수 내에 사용되는 경우에만 성공합니다.

버전 12.3.0의 새로운 기능: 이 작업은 API 버전 '2019-12-12'에서 도입되었습니다.

close

이 방법은 클라이언트가 연 소켓을 닫는 것입니다. 컨텍스트 관리자와 함께 사용할 때 사용할 필요가 없습니다.

close() -> None

create_file_system

지정된 계정 아래에 새 파일 시스템을 만듭니다.

이름이 같은 파일 시스템이 이미 있는 경우 ResourceExistsError가 발생합니다. 이 메서드는 새로 만든 파일 시스템과 상호 작용할 클라이언트를 반환합니다.

create_file_system(file_system: FileSystemProperties | str, metadata: Dict[str, str] | None = None, public_access: PublicAccess | None = None, **kwargs) -> FileSystemClient

매개 변수

file_system
str
필수

만들 파일 시스템의 이름입니다.

metadata
dict(str, str)
필수

파일 시스템과 메타데이터로 연결할 이름-값 쌍이 있는 받아쓰기입니다. 예: {'Category':'test'}

public_access
PublicAccess
필수

가능한 값은 파일 시스템, 파일입니다.

encryption_scope_options
dict 또는 EncryptionScopeOptions

파일 시스템에서 설정하고 이후의 모든 쓰기에 사용할 기본 암호화 scope 지정합니다.

버전 12.9.0의 새로운 기능

timeout
int

작업에 대한 서버 쪽 시간 제한을 초 단위로 설정합니다. 자세한 내용은 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.

반환 형식

예제

datalake 서비스에서 파일 시스템 만들기


   datalake_service_client.create_file_system("filesystem")

delete_file_system

삭제할 지정된 파일 시스템을 표시합니다.

파일 시스템 및 파일 내에 포함된 모든 파일은 나중에 가비지 수집 중에 삭제됩니다. 파일 시스템을 찾을 수 없으면 ResourceNotFoundError가 발생합니다.

delete_file_system(file_system: FileSystemProperties | str, **kwargs) -> FileSystemClient

매개 변수

file_system
str 또는 FileSystemProperties
필수

삭제할 파일 시스템입니다. 파일 시스템의 이름 또는 FileSystemProperties의 instance 수 있습니다.

lease
DataLakeLeaseClient 또는 str

지정된 경우 delete_file_system 파일 시스템의 임대가 활성 상태이고 이 ID와 일치하는 경우에만 성공합니다. 파일 시스템에 활성 임대가 있는 경우 필요합니다.

if_modified_since
datetime

DateTime 값입니다. Azure는 전달된 날짜 값이 UTC일 것으로 예상합니다. 표준 시간대가 포함된 경우 UTC가 아닌 날짜/시간은 UTC로 변환됩니다. 날짜가 표준 시간대 정보 없이 전달되는 경우 UTC로 간주됩니다. 지정된 시간 이후 리소스가 수정된 경우에만 작업을 수행하려면 이 헤더를 지정합니다.

if_unmodified_since
datetime

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 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.

반환 형식

예제

datalake 서비스에서 파일 시스템을 삭제합니다.


   datalake_service_client.delete_file_system("filesystem")

from_connection_string

연결 문자열에서 DataLakeServiceClient를 만듭니다.

:dataLakeServiceClient :rtype ~azure.storage.filedatalake.DataLakeServiceClient를 반환합니다.

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

매개 변수

conn_str
str
필수

Azure Storage 계정에 대한 연결 문자열입니다.

credential
기본값: None

인증할 자격 증명입니다. 계정 URL에 이미 SAS 토큰이 있거나 연결 문자열에 공유 액세스 키 값이 이미 있는 경우 선택 사항입니다. 값은 SAS 토큰 문자열, azure.core.credentials에서 AzureSasCredential의 instance, 계정 공유 액세스 키 또는 azure.identity에서 TokenCredentials 클래스의 instance 수 있습니다. 여기에 제공된 자격 증명이 연결 문자열의 자격 증명보다 우선합니다.

예제

연결 문자열에서 DataLakeServiceClient를 만듭니다.


   from azure.storage.filedatalake import DataLakeServiceClient
   datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)

get_directory_client

지정된 디렉터리와 상호 작용할 클라이언트를 가져옵니다.

디렉터리가 아직 필요하지 않습니다.

get_directory_client(file_system: FileSystemProperties | str, directory: DirectoryProperties | str) -> DataLakeDirectoryClient

매개 변수

file_system
str 또는 FileSystemProperties
필수

디렉터리가 있는 파일 시스템입니다. 파일 시스템의 이름 또는 FileSystemProperties의 instance 수 있습니다.

directory
str 또는 DirectoryProperties
필수

상호 작용할 디렉터리입니다. 디렉터리의 이름 또는 DirectoryProperties의 instance 수 있습니다.

반환

A DataLakeDirectoryClient.

반환 형식

예제

디렉터리 클라이언트가 특정 디렉터리와 상호 작용하도록 합니다.


   directory_client = datalake_service_client.get_directory_client(file_system_client.file_system_name,
                                                                   "mydirectory")

get_file_client

지정된 파일과 상호 작용할 클라이언트를 가져옵니다.

파일이 아직 필요하지 않습니다.

get_file_client(file_system: FileSystemProperties | str, file_path: FileProperties | str) -> DataLakeFileClient

매개 변수

file_system
str 또는 FileSystemProperties
필수

파일이 있는 파일 시스템입니다. 파일 시스템의 이름 또는 FileSystemProperties의 instance 수 있습니다.

file_path
str 또는 FileProperties
필수

상호 작용할 파일입니다. 이 경로는 파일의 전체 경로(루트 디렉터리에서) 또는 FileProperties의 instance 수 있습니다. 예를 들어 디렉터리/하위 디렉터리/파일

반환

DataLakeFileClient입니다.

반환 형식

예제

파일 클라이언트가 특정 파일과 상호 작용하도록 합니다.


   file_client = datalake_service_client.get_file_client(file_system_client.file_system_name, "myfile")

get_file_system_client

지정된 파일 시스템과 상호 작용할 클라이언트를 가져옵니다.

파일 시스템이 아직 필요하지 않습니다.

get_file_system_client(file_system: FileSystemProperties | str) -> FileSystemClient

매개 변수

file_system
str 또는 FileSystemProperties
필수

파일 시스템 파일 시스템의 이름 또는 FileSystemProperties의 instance 수 있습니다.

반환

FileSystemClient입니다.

반환 형식

예제

파일 시스템 클라이언트가 특정 파일 시스템과 상호 작용하도록 합니다.


   # Instantiate a DataLakeServiceClient using a connection string
   from azure.storage.filedatalake import DataLakeServiceClient
   datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)

   # Instantiate a FileSystemClient
   file_system_client = datalake_service_client.get_file_system_client("mynewfilesystem")

get_service_properties

Azure 스토리지 분석 포함하여 스토리지 계정의 datalake 서비스의 속성을 가져옵니다.

버전 12.4.0의 새로운 기능: 이 작업은 API 버전 '2020-06-12'에서 도입되었습니다.

get_service_properties(**kwargs: Any) -> Dict[str, Any]

매개 변수

timeout
int

작업에 대한 서버 쪽 시간 제한을 초 단위로 설정합니다. 자세한 내용은 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.

반환

분석 로깅, 시간/분 메트릭, cors 규칙 등과 같은 datalake 서비스 속성을 포함하는 개체입니다.

반환 형식

get_user_delegation_key

SAS 토큰에 서명하기 위한 사용자 위임 키를 가져옵니다. 이 요청이 성공하려면 서비스 개체에 토큰 자격 증명이 있어야 합니다.

get_user_delegation_key(key_start_time: datetime, key_expiry_time: datetime, **kwargs: Any) -> UserDelegationKey

매개 변수

key_start_time
datetime
필수

DateTime 값입니다. 키가 유효한 시기를 나타냅니다.

key_expiry_time
datetime
필수

DateTime 값입니다. 키가 유효하지 않을 때를 나타냅니다.

timeout
int

작업에 대한 서버 쪽 시간 제한을 초 단위로 설정합니다. 자세한 내용은 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.

반환

사용자 위임 키입니다.

반환 형식

예제

datalake 서비스 클라이언트에서 사용자 위임 키를 가져옵니다.


   from datetime import datetime, timedelta
   user_delegation_key = datalake_service_client.get_user_delegation_key(datetime.utcnow(),
                                                                         datetime.utcnow() + timedelta(hours=1))

list_file_systems

지정된 계정 아래의 파일 시스템을 나열하는 생성기를 반환합니다.

생성기는 서비스에서 반환하는 연속 토큰을 느리게 따르고 모든 파일 시스템이 반환되면 중지됩니다.

list_file_systems(name_starts_with: str | None = None, include_metadata: bool | None = None, **kwargs) -> ItemPaged[FileSystemProperties]

매개 변수

name_starts_with
str
필수

결과를 필터링하여 이름이 지정된 접두사로 시작하는 파일 시스템만 반환합니다.

include_metadata
bool
필수

파일 시스템 메타데이터가 응답에서 반환되도록 지정합니다. 기본값은 False입니다.

results_per_page
int

API 호출당 검색할 파일 시스템 이름의 최대 수입니다. 요청이 지정하지 않으면 서버는 페이지당 최대 5,000개 항목을 반환합니다.

timeout
int

작업에 대한 서버 쪽 시간 제한을 초 단위로 설정합니다. 자세한 내용은 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.

include_deleted
bool

응답에서 삭제된 파일 시스템을 반환하도록 지정합니다. 이는 파일 시스템 복원이 설정된 계정용입니다. 기본값은 False입니다. .. versionadded:: 12.3.0

include_system
bool

시스템 파일 시스템을 포함해야 되도록 지정하는 플래그입니다. .. versionadded:: 12.6.0

반환

FileSystemProperties의 반복 가능(자동 페이징)입니다.

반환 형식

예제

datalake 서비스의 파일 시스템을 나열합니다.


   file_systems = datalake_service_client.list_file_systems()
   for file_system in file_systems:
       print(file_system.name)

set_service_properties

Azure 스토리지 분석 포함하여 스토리지 계정의 Datalake 서비스의 속성을 설정합니다.

버전 12.4.0의 새로운 기능: 이 작업은 API 버전 '2020-06-12'에서 도입되었습니다.

요소(예: analytics_logging)가 None으로 남아 있으면 해당 기능에 대한 서비스의 기존 설정이 유지됩니다.

set_service_properties(**kwargs: Any) -> None

매개 변수

analytics_logging

Azure 분석 Logging 설정을 그룹화합니다.

hour_metrics

시간 메트릭 설정은 API별로 그룹화된 요청 통계의 요약을 시간별 집계로 제공합니다.

minute_metrics

분 메트릭 설정은 각 분에 대한 요청 통계를 제공합니다.

cors

목록에 최대 5개의 CorsRule 요소를 포함할 수 있습니다. 빈 목록을 지정하면 모든 CORS 규칙이 삭제되고 서비스에 대해 CORS가 비활성화됩니다.

target_version
str

들어오는 요청의 버전이 지정되지 않은 경우 요청에 사용할 기본 버전을 나타냅니다.

delete_retention_policy

삭제 보존 정책은 삭제된 파일/디렉터리를 유지할지 여부를 지정합니다. 또한 유지할 파일/디렉터리의 일 수와 버전을 지정합니다.

static_website

정적 웹 사이트 기능을 사용할지 여부를 지정하고, 그렇다면 사용할 인덱스 문서와 404 오류 문서를 나타냅니다.

timeout
int

작업에 대한 서버 쪽 시간 제한을 초 단위로 설정합니다. 자세한 내용은 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.

반환 형식

undelete_file_system

일시 삭제된 파일 시스템을 복원합니다.

작업은 삭제 보존 정책에 설정된 지정된 일 수 내에 사용되는 경우에만 성공합니다.

버전 12.3.0의 새로운 기능: 이 작업은 API 버전 '2019-12-12'에서 도입되었습니다.

undelete_file_system(name: str, deleted_version: str, **kwargs: Any) -> FileSystemClient

매개 변수

name
str
필수

복원할 삭제된 파일 시스템의 이름을 지정합니다.

deleted_version
str
필수

복원할 삭제된 파일 시스템의 버전을 지정합니다.

timeout
int

작업에 대한 서버 쪽 시간 제한을 초 단위로 설정합니다. 자세한 내용은 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.

반환

복원된 solft 삭제 FileSystemClient입니다.

반환 형식

특성

api_version

요청에 사용되는 Storage API의 버전입니다.

location_mode

클라이언트가 현재 사용하고 있는 위치 모드입니다.

기본적으로 "기본"입니다. 옵션에는 "기본" 및 "보조"가 포함됩니다.

primary_endpoint

전체 기본 엔드포인트 URL입니다.

primary_hostname

기본 엔드포인트의 호스트 이름입니다.

secondary_endpoint

구성된 경우 전체 보조 엔드포인트 URL입니다.

사용할 수 없는 경우 ValueError가 발생합니다. 보조 호스트 이름을 명시적으로 지정하려면 인스턴스화에 선택적 secondary_hostname 키워드(keyword) 인수를 사용합니다.

예외

secondary_hostname

보조 엔드포인트의 호스트 이름입니다.

사용할 수 없는 경우 없음이 됩니다. 보조 호스트 이름을 명시적으로 지정하려면 인스턴스화에 선택적 secondary_hostname 키워드(keyword) 인수를 사용합니다.

url

사용되는 경우 SAS 토큰을 포함하여 이 엔터티에 대한 전체 엔드포인트 URL입니다.

이는 기본 엔드포인트이거나 현재 location_mode에 따라 보조 엔드포인트일 수 있습니다. :returns: 사용되는 경우 SAS 토큰을 포함하여 이 엔터티에 대한 전체 엔드포인트 URL입니다. :rtype: str