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의 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 DataLakeFileClient
   DataLakeFileClient.from_connection_string(connection_string, "myfilesystem", "mydirectory", "myfile")

변수

url
str

사용되는 경우 SAS 토큰을 포함하여 파일 시스템에 대한 전체 엔드포인트 URL입니다.

primary_endpoint
str

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

primary_hostname
str

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

메서드

acquire_lease

새로운 임대를 요청합니다. 파일 또는 디렉터리에 활성 임대가 없는 경우 DataLake 서비스는 파일/디렉터리에 임대를 만들고 새 임대 ID를 반환합니다.

append_data

파일에 데이터를 추가합니다.

close

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

create_file

새 파일을 만듭니다.

delete_file

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

download_file

StorageStreamDownloader에 파일을 다운로드합니다. readall() 메서드를 사용하여 모든 콘텐츠를 읽어야 합니다. 그렇지 않으면 readinto()를 사용하여 파일을 스트림으로 다운로드해야 합니다. 청크()를 사용하면 사용자가 청크의 콘텐츠를 반복할 수 있는 반복기가 반환됩니다.

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

경로 및 하위 경로의 Access Control 제거합니다.

rename_file

원본 파일의 이름을 바꿉니다.

set_access_control

경로에 대한 소유자, 그룹, 권한 또는 액세스 제어 목록을 설정합니다.

set_access_control_recursive

경로 및 하위 경로의 Access Control 설정합니다.

set_file_expiry

파일이 만료되고 삭제되는 시간을 설정합니다.

set_http_headers

파일 또는 디렉터리의 시스템 속성을 설정합니다.

content_settings 대해 하나의 속성이 설정되면 모든 속성이 재정의됩니다.

set_metadata

지정된 파일 시스템에 대해 하나 이상의 사용자 정의 이름-값 쌍을 설정합니다. 이 작업에 대한 각 호출은 파일 시스템에 연결된 모든 기존 메타데이터를 대체합니다. 파일 시스템에서 모든 메타데이터를 제거하려면 메타데이터 받아쓰기 없이 이 작업을 호출합니다.

update_access_control_recursive

경로 및 하위 경로의 Access Control 수정합니다.

upload_data

파일에 데이터를 업로드합니다.

acquire_lease

새로운 임대를 요청합니다. 파일 또는 디렉터리에 활성 임대가 없는 경우 DataLake 서비스는 파일/디렉터리에 임대를 만들고 새 임대 ID를 반환합니다.

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 문자열 형식의 제안된 임대 ID입니다. 제안된 임대 ID가 올바른 형식이 아닌 경우 DataLake 서비스는 400(잘못된 요청)을 반환합니다.

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

반환

컨텍스트 관리자에서 실행할 수 있는 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 해시를 계산합니다. 스토리지 서비스는 전송된 해시와 함께 도착한 콘텐츠의 해시를 확인합니다. 이는 https 대신 https(기본값)를 사용하여 이미 유효성을 검사하는 경우 와이어에서 비트플립을 검색하는 데 주로 유용합니다. 이 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
DataLakeLeaseClient 또는 str

파일에 활성 임대가 있거나 lease_action "acquire" 또는 "acquire-release"로 설정된 경우 필요합니다. 파일에 기존 임대가 있는 경우 파일에 액세스하는 데 사용됩니다. 새 임대를 획득하는 경우 새 임대 ID로 사용됩니다. 값은 DataLakeLeaseClient 개체 또는 임대 ID를 문자열로 사용할 수 있습니다.

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
DataLakeLeaseClient 또는 str

파일에 활성 임대가 있는 경우 필요합니다. 값은 DataLakeLeaseClient 개체 또는 임대 ID를 문자열로 사용할 수 있습니다.

umask
str

선택 사항이며 계정에 대해 계층 구조 네임스페이스를 사용하는 경우에만 유효합니다. 파일 또는 디렉터리를 만들고 부모 폴더에 기본 ACL이 없는 경우 umask는 만들 파일 또는 디렉터리의 권한을 제한합니다. 결과 권한은 p & ^u에 의해 부여됩니다. 여기서 p는 권한이며 umask입니다. 예를 들어 p가 0777이고 0057인 경우 결과 권한은 0720입니다. 기본 권한은 디렉터리의 경우 0777이고 파일의 경우 0666입니다. 기본 umask는 0027입니다. umask는 4자리 8진수 표기법(예: 0766)으로 지정해야 합니다.

owner
str

파일 또는 디렉터리의 소유자입니다.

group
str

파일 또는 디렉터리의 소유 그룹입니다.

acl
str

파일 및 디렉터리에 대한 POSIX 액세스 제어 권한을 설정합니다. 값은 액세스 제어 항목의 쉼표로 구분된 목록입니다. ACE(각 액세스 제어 항목)는 scope, 형식, 사용자 또는 그룹 식별자 및 "[scope:][type]:[id]:[permissions]" 형식의 권한으로 구성됩니다.

lease_id
str

GUID 문자열 형식의 제안된 임대 ID입니다. 제안된 임대 ID가 올바른 형식이 아닌 경우 DataLake 서비스는 400(잘못된 요청)을 반환합니다.

lease_duration
int

임대 기간(초)을 지정하거나 만료되지 않는 임대의 경우 -1을 지정합니다. 가능한 유한 임대 기간은 15~60초 사이입니다. 갱신 또는 변경을 사용하여 임대 기간을 변경할 수 없습니다.

expires_on
datetime 또는 int

파일을 만료로 설정하는 시간입니다. expires_on 유형이 int인 경우 만료 시간은 생성 시간으로부터 경과된 밀리초 수로 설정됩니다. expires_on 유형이 datetime인 경우 만료 시간은 제공된 시간으로 절대로 설정됩니다. 표준 시간대 정보가 제공되지 않으면 UTC로 해석됩니다.

permissions
str

선택 사항이며 계층 구조 네임스페이스가 계정에 대해 사용하도록 설정된 경우에만 유효합니다. 파일 소유자, 파일 소유 그룹 등에 대한 POSIX 액세스 권한을 설정합니다. 각 클래스에는 읽기, 쓰기 또는 실행 권한이 부여될 수 있습니다. 고정 비트도 지원됩니다. 기호(rwxrw-rw-) 및 4자리 8진수 표기법(예: 0766)이 모두 지원됩니다.

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에 사용할 일치 조건입니다.

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
DataLakeLeaseClient 또는 str

파일에 활성 임대가 있는 경우 필요합니다. 값은 LeaseClient 개체이거나 임대 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 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.

반환

없음

예제

파일을 삭제합니다.


   new_client.delete_file()

download_file

StorageStreamDownloader에 파일을 다운로드합니다. readall() 메서드를 사용하여 모든 콘텐츠를 읽어야 합니다. 그렇지 않으면 readinto()를 사용하여 파일을 스트림으로 다운로드해야 합니다. 청크()를 사용하면 사용자가 청크의 콘텐츠를 반복할 수 있는 반복기가 반환됩니다.

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

매개 변수

offset
int
필수

파일의 섹션을 다운로드하는 데 사용할 바이트 범위의 시작입니다. 길이가 제공되면 설정해야 합니다.

length
int
필수

스트림에서 읽을 바이트 수입니다. 선택 사항이지만 최적의 성능을 위해 제공해야 합니다.

lease
DataLakeLeaseClient 또는 str

지정된 경우 파일의 임대가 활성 상태이고 이 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에 사용할 일치 조건입니다.

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
필수

오프셋은 이전에 추가된 데이터를 커밋한 후 파일의 길이와 같습니다.

retain_uncommitted_data
bool
필수

플러시 작업에만 유효합니다. "true"이면 플러시 작업이 완료된 후 커밋되지 않은 데이터가 유지됩니다. 그렇지 않으면 커밋되지 않은 데이터는 플러시 작업 후에 삭제됩니다. 기본값은 false입니다. 지정된 위치보다 작은 오프셋의 데이터는 플러시 성공 시 파일에 기록되지만, 이 선택적 매개 변수를 사용하면 이후 플러시 작업을 위해 플러시 위치 이후의 데이터를 보존할 수 있습니다.

content_settings
ContentSettings

경로 속성을 설정하는 데 사용되는 ContentSettings 개체입니다.

close
bool

Azure Storage 이벤트를 사용하면 파일이 변경될 때 애플리케이션이 알림을 받을 수 있습니다. Azure Storage 이벤트를 사용하도록 설정하면 파일 변경 이벤트가 발생합니다. 이 이벤트에는 파일 스트림에 대한 중간 플러시와 파일 스트림의 마지막 닫기 간의 차이를 구분하기 위한 최종 변경 내용인지 여부를 나타내는 속성이 있습니다. close 쿼리 매개 변수는 작업이 "플러시"이고 변경 알림이 사용하도록 설정된 경우에만 유효합니다. close 값이 "true"이고 플러시 작업이 성공적으로 완료되면 서비스가 최종 업데이트(파일 스트림이 닫혔음을 나타내는 속성)를 사용하여 파일 변경 알림을 발생합니다. "false"이면 파일이 변경되었음을 나타내는 변경 알림이 발생합니다. 기본값은 false입니다. 이 쿼리 매개 변수는 파일 스트림이 닫혔음을 나타내기 위해 Hadoop ABFS 드라이버에 의해 true로 설정됩니다."

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에 사용할 일치 조건입니다.

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

데이터 추가와 함께 임대 작업을 수행하는 데 사용됩니다.

"acquire" - 임대를 획득합니다. "자동 갱신" - 기존 임대를 다시 새로 만듭니다. "release" - 작업이 완료되면 임대를 해제합니다. "acquire-release" - 임대를 획득하고 작업이 완료되면 릴리스합니다.

lease_duration
int

lease_action "acquire" 또는 "acquire-release"로 설정된 경우 유효합니다.

임대 기간(초)을 지정하거나 만료되지 않는 임대의 경우 -1을 지정합니다. 가능한 유한 임대 기간은 15~60초 사이입니다. 갱신 또는 변경을 사용하여 임대 기간을 변경할 수 없습니다. 기본값은 -1(무한 임대)입니다.

lease
DataLakeLeaseClient 또는 str

파일에 활성 임대가 있거나 lease_action "acquire" 또는 "acquire-release"로 설정된 경우 필요합니다. 파일에 기존 임대가 있는 경우 파일에 액세스하는 데 사용됩니다. 새 임대를 획득하는 경우 새 임대 ID로 사용됩니다. 값은 DataLakeLeaseClient 개체 또는 임대 ID를 문자열로 사용할 수 있습니다.

cpk
CustomerProvidedEncryptionKey

지정된 키를 사용하여 서비스 쪽의 데이터를 암호화합니다. 고객이 제공한 키의 사용은 HTTPS를 통해 수행해야 합니다.

반환

dict의 응답 헤더

예제

이전에 추가된 데이터를 커밋합니다.


   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 Storage 계정에 대한 연결 문자열입니다.

file_system_name
str
필수

상호 작용할 파일 시스템의 이름입니다.

file_path
str
필수

특정 파일과 상호 작용할 수 있도록 전체 파일 경로입니다. 예: "{directory}/{subdirectory}/{file}"

credential
기본값: None

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

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 응답 헤더에 반환된 사용자 ID 값이 Azure Active Directory 개체 ID에서 사용자 계정 이름으로 변환됩니다. "false"이면 값이 Azure Active Directory 개체 ID로 반환됩니다. 기본값은 False입니다. 그룹 및 애플리케이션 개체 ID는 고유한 식별 이름이 없으므로 번역되지 않습니다.

lease
DataLakeLeaseClient 또는 str

파일/디렉터리에 활성 임대가 있는 경우 필요합니다. 값은 LeaseClient 개체이거나 임대 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 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.

response dict

응답 받아쓰기.

get_file_properties

파일에 대한 모든 사용자 정의 메타데이터, 표준 HTTP 속성 및 시스템 속성을 반환합니다. 파일의 콘텐츠는 반환하지 않습니다.

get_file_properties(**kwargs: Any) -> FileProperties

매개 변수

lease

디렉터리 또는 파일에 활성 임대가 있는 경우 필수입니다. 값은 DataLakeLeaseClient 개체 또는 임대 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에 사용할 일치 조건입니다.

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
DelimitedTextDialect 또는 DelimitedJsonDialect 또는 QuickQueryDialect 또는 str

(선택 사항) 현재 파일에 저장된 데이터의 serialization을 정의합니다. 기본값은 파일 데이터를 기본 방언 형식의 CSV 데이터로 처리하는 것입니다. 사용자 지정 DelimitedTextDialect 또는 DelimitedJsonDialect 또는 "ParquetDialect"(문자열 또는 열거형으로 전달됨)로 재정의할 수 있습니다. 이러한 방언은 해당 클래스인 QuickQueryDialect 열거형 또는 문자열로 전달할 수 있습니다.

output_format
DelimitedTextDialect 또는 DelimitedJsonDialect 또는 list[ArrowDialect] 또는 QuickQueryDialect 또는 str

(선택 사항) 데이터 스트림에 대한 출력 serialization을 정의합니다. 기본적으로 데이터는 파일에 표시될 때 반환됩니다. 출력 형식을 제공하면 파일 데이터가 해당 프로필에 따라 다시 포맷됩니다. 이 값은 DelimitedTextDialect 또는 DelimitedJsonDialect 또는 ArrowDialect일 수 있습니다. 이러한 방언은 해당 클래스인 QuickQueryDialect 열거형 또는 문자열로 전달할 수 있습니다.

lease
DataLakeLeaseClient 또는 str

파일에 활성 임대가 있는 경우 필요합니다. 값은 DataLakeLeaseClient 개체 또는 임대 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에 사용할 일치 조건입니다.

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 파일 데이터에 대해 select/project합니다.


   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

경로 및 하위 경로의 Access Control 제거합니다.

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

매개 변수

acl
str
필수

파일 및 디렉터리에 대한 POSIX 액세스 제어 권한을 제거합니다. 값은 쉼표로 구분된 액세스 제어 항목 목록입니다. ACE(각 액세스 제어 항목)는 "[scope:][type]:[id]" 형식의 scope, 형식 및 사용자 또는 그룹 식별자로 구성됩니다.

progress_hook
<xref:func>(AccessControlChanges)

호출자가 작업의 진행률을 추적하고 Access Control 변경하지 못한 경로를 수집할 수 있는 콜백입니다.

continuation_token
str

이전에 중지된 작업을 다시 시작하는 데 사용할 수 있는 선택적 연속 토큰입니다.

batch_size
int

(선택 사항) 데이터 집합 크기가 일괄 처리 크기를 초과하면 작업이 여러 요청으로 분할되어 진행률을 추적할 수 있습니다. 일괄 처리 크기는 1에서 2000 사이여야 합니다. 지정되지 않은 경우 기본값은 2000입니다.

max_batches
int

(선택 사항) 단일 변경 Access Control 작업을 실행할 수 있는 일괄 처리의 최대 수를 정의합니다. 모든 하위 경로가 처리되기 전에 최대값에 도달하면 연속 토큰을 사용하여 작업을 다시 시작할 수 있습니다. 빈 값은 언바운드의 최대 일괄 처리 수와 작업이 끝날 때까지 계속됨을 나타냅니다.

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
DataLakeLeaseClient 또는 str

원본 경로에 대한 임대 ID입니다. 지정된 경우 원본 경로에 활성 임대가 있어야 하며 임대 ID가 일치해야 합니다.

lease

파일/디렉터리에 활성 임대가 있는 경우 필요합니다. 값은 LeaseClient 개체이거나 임대 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에 사용할 일치 조건입니다.

source_if_modified_since
datetime

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

source_if_unmodified_since
datetime

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자리 8진수 표기법(예: 0766)이 모두 지원됩니다. 권한 및 acl은 상호 배타적입니다.

acl
str
필수

파일 및 디렉터리에 대한 POSIX 액세스 제어 권한을 설정합니다. 값은 쉼표로 구분된 액세스 제어 항목 목록입니다. ACE(각 액세스 제어 항목)는 "[scope:][type]:[id]:[permissions]" 형식의 scope, 형식, 사용자 또는 그룹 식별자 및 권한으로 구성됩니다. 권한 및 acl은 상호 배타적입니다.

lease
DataLakeLeaseClient 또는 str

파일/디렉터리에 활성 임대가 있는 경우 필요합니다. 값은 LeaseClient 개체이거나 임대 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 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.

response dict

응답 받아쓰기(Etag 및 마지막으로 수정됨).

set_access_control_recursive

경로 및 하위 경로의 Access Control 설정합니다.

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

매개 변수

acl
str
필수

파일 및 디렉터리에 대한 POSIX 액세스 제어 권한을 설정합니다. 값은 쉼표로 구분된 액세스 제어 항목 목록입니다. ACE(각 액세스 제어 항목)는 "[scope:][type]:[id]:[permissions]" 형식의 scope, 형식, 사용자 또는 그룹 식별자 및 권한으로 구성됩니다.

progress_hook
<xref:func>(AccessControlChanges)

호출자가 작업의 진행률을 추적하고 Access Control 변경하지 못한 경로를 수집할 수 있는 콜백입니다.

continuation_token
str

이전에 중지된 작업을 다시 시작하는 데 사용할 수 있는 선택적 연속 토큰입니다.

batch_size
int

(선택 사항) 데이터 집합 크기가 일괄 처리 크기를 초과하면 작업이 여러 요청으로 분할되어 진행률을 추적할 수 있습니다. 일괄 처리 크기는 1에서 2000 사이여야 합니다. 지정되지 않은 경우 기본값은 2000입니다.

max_batches
int

(선택 사항) 단일 변경 Access Control 작업을 실행할 수 있는 일괄 처리의 최대 수를 정의합니다. 모든 하위 경로가 처리되기 전에 최대값에 도달하면 연속 토큰을 사용하여 작업을 다시 시작할 수 있습니다. 빈 값은 언바운드의 최대 일괄 처리 수와 작업이 끝날 때까지 계속됨을 나타냅니다.

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
datetime 또는 int
필수

파일을 만료로 설정하는 시간입니다. expiry_options RelativeTo*인 경우 expires_on 밀리초 단위여야 합니다. 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
DataLakeLeaseClient 또는 str

지정된 경우 set_file_system_metadata 파일 시스템의 임대가 활성 상태이고 이 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 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.

반환

file/directory-updated 속성 받아쓰기(Etag 및 마지막으로 수정됨)

반환 형식

set_metadata

지정된 파일 시스템에 대해 하나 이상의 사용자 정의 이름-값 쌍을 설정합니다. 이 작업에 대한 각 호출은 파일 시스템에 연결된 모든 기존 메타데이터를 대체합니다. 파일 시스템에서 모든 메타데이터를 제거하려면 메타데이터 받아쓰기 없이 이 작업을 호출합니다.

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

매개 변수

metadata
Dict[str, str]
필수

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

lease
DataLakeLeaseClient 또는 str

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

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에 사용할 일치 조건입니다.

cpk
CustomerProvidedEncryptionKey

지정된 키를 사용하여 서비스 쪽의 데이터를 암호화합니다. 고객이 제공한 키의 사용은 HTTPS를 통해 수행해야 합니다.

timeout
int

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

반환

파일 시스템 업데이트 속성 dict(Etag 및 마지막으로 수정됨).

update_access_control_recursive

경로 및 하위 경로의 Access Control 수정합니다.

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

매개 변수

acl
str
필수

파일 및 디렉터리에 대한 POSIX 액세스 제어 권한을 수정합니다. 값은 액세스 제어 항목의 쉼표로 구분된 목록입니다. ACE(각 액세스 제어 항목)는 scope, 형식, 사용자 또는 그룹 식별자 및 "[scope:][type]:[id]:[permissions]" 형식의 권한으로 구성됩니다.

progress_hook
<xref:func>(AccessControlChanges)

호출자가 작업의 진행률을 추적하고 Access Control 변경하지 못한 경로를 수집할 수 있는 콜백입니다.

continuation_token
str

이전에 중지된 작업을 다시 시작하는 데 사용할 수 있는 선택적 연속 토큰입니다.

batch_size
int

(선택 사항) 데이터 집합 크기가 일괄 처리 크기를 초과하면 진행률을 추적할 수 있도록 작업이 여러 요청으로 분할됩니다. 일괄 처리 크기는 1에서 2000 사이여야 합니다. 지정되지 않은 경우 기본값은 2000입니다.

max_batches
int

(선택 사항) 단일 변경 Access Control 작업을 실행할 수 있는 최대 일괄 처리 수를 정의합니다. 모든 하위 경로가 처리되기 전에 최대값에 도달하면 연속 토큰을 사용하여 작업을 다시 시작할 수 있습니다. 빈 값은 언바운드의 최대 일괄 처리 수와 작업이 끝날 때까지 계속됨을 나타냅니다.

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
DataLakeLeaseClient 또는 str

blob에 활성 임대가 포함된 경우 필수입니다. 값은 DataLakeLeaseClient 개체이거나 임대 ID를 문자열로 사용할 수 있습니다.

umask
str

선택 사항이며 계층 구조 네임스페이스가 계정에 대해 사용하도록 설정된 경우에만 유효합니다. 파일 또는 디렉터리를 만들고 부모 폴더에 기본 ACL이 없는 경우 umask는 만들 파일 또는 디렉터리의 권한을 제한합니다. 결과 권한은 p & ^u에 의해 부여됩니다. 여기서 p는 사용 권한이며 umask입니다. 예를 들어 p가 0777이고 0057인 경우 결과 권한은 0720입니다. 기본 권한은 디렉터리의 경우 0777이고 파일의 경우 0666입니다. 기본 umask는 0027입니다. umask는 4자리 8진수 표기법(예: 0766)으로 지정해야 합니다.

permissions
str

선택 사항이며 계층 구조 네임스페이스가 계정에 대해 사용하도록 설정된 경우에만 유효합니다. 파일 소유자, 파일 소유 그룹 등에 대한 POSIX 액세스 권한을 설정합니다. 각 클래스에는 읽기, 쓰기 또는 실행 권한이 부여될 수 있습니다. 고정 비트도 지원됩니다. 기호(rwxrw-rw-) 및 4자리 8진수 표기법(예: 0766)이 모두 지원됩니다.

if_modified_since
datetime

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

if_unmodified_since
datetime

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

validate_content
bool

true이면 파일의 각 청크에 대한 MD5 해시를 계산합니다. 스토리지 서비스는 전송된 해시와 함께 도착한 콘텐츠의 해시를 확인합니다. https(기본값)가 이미 유효성을 검사하므로 https 대신 http를 사용하는 경우 와이어에서 비트플립을 검색하는 데 주로 유용합니다. 이 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

청크 단위로 파일을 업로드하기 위한 최대 청크 크기입니다. 기본값은 100*1024*1024 또는 100MB입니다.

encryption_context
str

파일에 설정할 암호화 컨텍스트를 지정합니다.

반환

응답 받아쓰기(Etag 및 마지막으로 수정됨).

특성

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