DataLakeServiceClient 클래스
계정 수준에서 DataLake 서비스와 상호 작용할 클라이언트입니다.
이 클라이언트는 계정 속성을 검색 및 구성하고 계정 내에서 파일 시스템을 나열, 만들기 및 삭제하는 작업을 제공합니다. 특정 파일 시스템, 디렉터리 또는 파일과 관련된 작업의 경우 get_client 함수를 사용하여 해당 엔터티에 대한 클라이언트를 검색할 수도 있습니다.
- 상속
-
azure.storage.filedatalake._shared.base_client.StorageAccountHostsMixinDataLakeServiceClient
생성자
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
인증할 자격 증명입니다. 계정 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
매개 변수
- 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
매개 변수
- credential
인증할 자격 증명입니다. 계정 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
매개 변수
- 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]
매개 변수
- 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
매개 변수
- 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
Azure SDK for Python
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기