다음을 통해 공유


ContainerClient 클래스

특정 컨테이너와 상호 작용하는 클라이언트이지만 해당 컨테이너는 아직 존재하지 않을 수 있습니다.

이 컨테이너 내의 특정 Blob과 관련된 작업의 경우 함수를 사용하여 Blob 클라이언트를 get_blob_client 검색할 수 있습니다.

상속
azure.storage.blob._shared.base_client_async.AsyncStorageAccountHostsMixin
ContainerClient
azure.storage.blob._container_client.ContainerClient
ContainerClient
azure.storage.blob._encryption.StorageEncryptionMixin
ContainerClient

생성자

ContainerClient(account_url: str, container_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | AsyncTokenCredential | None = None, **kwargs: Any)

매개 변수

account_url
str
필수

스토리지 계정에 대한 URI입니다. 컨테이너에 대한 전체 URI가 지정된 클라이언트를 만들려면 classmethod를 from_container_url 사용합니다.

container_name
str
필수

Blob에 대한 컨테이너의 이름입니다.

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와 호환되는 최신 서비스 버전입니다. 이전 버전으로 설정하면 기능 호환성이 저하될 수 있습니다.

버전 12.2.0의 새로운 기능

secondary_hostname
str

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

max_block_size
int

블록 Blob을 청크로 업로드하기 위한 최대 청크 크기입니다. 기본값은 4*1024*1024 또는 4MB입니다.

max_single_put_size
int

blob 크기가 max_single_put_size 작거나 같으면 blob은 하나의 http PUT 요청으로만 업로드됩니다. Blob 크기가 max_single_put_size보다 크면 Blob이 청크로 업로드됩니다. 기본값은 64*1024*1024 또는 64MB입니다.

min_large_block_upload_threshold
int

블록 Blob을 업로드할 때 메모리 효율적인 알고리즘을 사용하는 데 필요한 최소 청크 크기입니다. 기본값은 4*1024*1024+1입니다.

use_byte_buffer
bool

블록 Blob 업로드에 바이트 버퍼를 사용합니다. 기본값은 False입니다.

max_page_size
int

페이지 Blob을 업로드하기 위한 최대 청크 크기입니다. 기본값은 4*1024*1024 또는 4MB입니다.

max_single_get_size
int

단일 호출에서 다운로드할 Blob의 최대 크기이며, 초과된 부분은 청크로 다운로드됩니다(병렬일 수 있음). 기본값은 32*1024*1024 또는 32MB입니다.

max_chunk_get_size
int

Blob 다운로드에 사용되는 최대 청크 크기입니다. 기본값은 4*1024*1024 또는 4MB입니다.

메서드

acquire_lease

새로운 임대를 요청합니다. 컨테이너에 활성 임대가 없으면, Blob 서비스가 컨테이너에 대한 임대를 만들고 새로운 임대 ID를 반환합니다.

close

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

create_container

지정된 계정 아래에 새 컨테이너를 만듭니다. 동일한 이름의 컨테이너가 이미 있으면 작업이 실패합니다.

delete_blob

삭제할 지정된 Blob 또는 스냅샷 표시합니다.

이 blob는 나중에 가비지 수집 중에 삭제됩니다. Blob을 삭제하려면 해당 스냅숏을 모두 삭제해야 합니다. delete_blob 작업과 동시에 둘 다 삭제할 수 있습니다.

서비스에 대해 삭제 보존 정책을 사용하도록 설정한 경우 이 작업은 Blob 또는 스냅샷 일시 삭제하고 지정된 일 수 동안 Blob 또는 스냅샷 유지합니다. 지정된 일 수가 지나면 가비지 수집 중에 Blob의 데이터가 서비스에서 제거됩니다. 일시 삭제된 Blob 또는 스냅샷은 include=["deleted"] 일시 삭제된 Blob 또는 스냅샷 지정하여 액세스할 list_blobs 수 있습니다.<xref:azure.storage.blob.aio.BlobClient.undelete>

delete_blobs

삭제할 지정된 Blob 또는 스냅샷을 표시합니다.

Blob은 나중에 가비지 수집 중에 삭제됩니다. Blob을 삭제하려면 모든 스냅샷을 삭제해야 합니다. delete_blobs 작업과 동시에 둘 다 삭제할 수 있습니다.

서비스에 대해 삭제 보존 정책을 사용하도록 설정한 경우 이 작업은 Blob 또는 스냅샷을 일시 삭제하고 지정된 일 수 동안 Blob 또는 스냅샷을 유지합니다. 지정된 일 수 후에는 가비지 수집 중에 Blob의 데이터가 서비스에서 제거됩니다. 일시 삭제된 Blob 또는 스냅샷은 include=["deleted"] 일시 삭제된 Blob 또는 스냅샷을 지정하여 액세스할 list_blobs 수 있습니다.<xref:azure.storage.blob.aio.BlobClient.undelete>

단일 요청에서 삭제할 수 있는 최대 Blob 수는 256개입니다.

delete_container

삭제할 지정된 컨테이너를 표시합니다. 컨테이너 및 여기에 포함된 모든 blob는 나중에 가비지 수집 중에 삭제됩니다.

download_blob

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

exists

컨테이너가 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다.

find_blobs_by_tags

지정된 검색 식과 일치하는 태그가 있는 지정된 컨테이너 아래에 Blob을 나열하는 생성기를 반환합니다. 생성기는 서비스에서 반환하는 연속 토큰을 느리게 따릅니다.

from_connection_string

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

from_container_url

컨테이너 URL에서 ContainerClient를 만듭니다.

get_account_information

스토리지 계정과 관련된 정보를 가져옵니다.

사용자에게 컨테이너 또는 Blob에 대한 SAS가 있는 경우에도 정보를 검색할 수 있습니다. 반환된 사전의 키에는 'sku_name' 및 'account_kind'이 포함됩니다.

get_blob_client

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

Blob이 아직 존재하지 않아도 됩니다.

get_container_access_policy

지정된 컨테이너에 대한 권한을 가져옵니다. 권한은 컨테이너 데이터에 공개적으로 액세스할 수 있는지 여부를 나타냅니다.

get_container_properties

지정된 컨테이너에 대한 모든 사용자 정의 메타데이터 및 시스템 속성을 반환합니다. 반환된 데이터에는 컨테이너의 블록 목록이 포함되지 않습니다.

list_blob_names

지정된 컨테이너 아래에 있는 Blob의 이름을 나열하는 생성기를 반환합니다. 생성기는 서비스에서 반환하는 연속 토큰을 지연적으로 따릅니다.

이 API를 사용할 때는 추가 속성이나 메타데이터가 반환되지 않습니다. 또한 이 API에는 스냅샷, 버전, 일시 삭제된 Blob 등과 같은 추가 Blob을 포함할 수 있는 옵션이 없습니다. 이 데이터를 얻으려면 를 사용합니다 list_blobs.

list_blobs

지정된 컨테이너 아래의 Blob을 나열하는 생성기를 반환합니다. 생성기는 서비스에서 반환하는 연속 토큰을 지연적으로 따릅니다.

set_container_access_policy

공유 액세스 서명과 함께 사용할 수 있는 지정된 컨테이너 또는 저장된 액세스 정책에 대한 권한을 설정합니다. 권한은 컨테이너의 blob에 공개적으로 액세스할 수 있는지 여부를 나타냅니다.

set_container_metadata

지정된 컨테이너에 대해 하나 이상의 사용자 정의 이름-값 쌍을 설정합니다. 이 작업을 호출할 때마다 컨테이너에 연결된 기존의 모든 메타데이터가 바뀝니다. 컨테이너에서 모든 메타데이터를 제거하려면 메타데이터 받아쓰기 없이 이 작업을 호출합니다.

set_premium_page_blob_tier_blobs

Blob에서 페이지 Blob 계층을 설정합니다. 이 API는 프리미엄 계정의 페이지 Blob에 대해서만 지원됩니다.

단일 요청에서 업데이트할 수 있는 최대 Blob 수는 256개입니다.

set_standard_blob_tier_blobs

이 작업은 블록 Blob에서 계층을 설정합니다.

블록 Blob의 계층은 핫/쿨/보관 스토리지 유형을 결정합니다. 이 작업은 Blob의 ETag를 업데이트하지 않습니다.

단일 요청에서 업데이트할 수 있는 최대 Blob 수는 256개입니다.

upload_blob

자동 청크를 사용하여 데이터 원본에서 새 Blob을 만듭니다.

walk_blobs

지정된 컨테이너 아래의 Blob을 나열하는 생성기를 반환합니다. 생성기는 서비스에서 반환하는 연속 토큰을 느리게 따릅니다. 이 작업은 지정된 구분 기호 문자로 구분된 대로 계층 구조에 따라 Blob을 나열합니다.

acquire_lease

새로운 임대를 요청합니다. 컨테이너에 활성 임대가 없으면, Blob 서비스가 컨테이너에 대한 임대를 만들고 새로운 임대 ID를 반환합니다.

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

매개 변수

lease_duration
int
필수

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

lease_id
str
필수

GUID 문자열 형식의 제안된 임대 ID입니다. 제안된 임대 ID가 올바른 형식이 아닌 경우 Blob 서비스는 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 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.

반환

컨텍스트 관리자에서 실행할 수 있는 BlobLeaseClient 개체입니다.

반환 형식

close

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

async close()

create_container

지정된 계정 아래에 새 컨테이너를 만듭니다. 동일한 이름의 컨테이너가 이미 있으면 작업이 실패합니다.

async create_container(metadata: Dict[str, str] | None = None, public_access: PublicAccess | str | None = None, **kwargs: Any) -> Dict[str, str | datetime]

매개 변수

metadata
dict[str, str]
필수

컨테이너와 메타데이터로 연결할 name_value 쌍이 있는 받아쓰기입니다. 예:{'Category':'test'}

public_access
PublicAccess
필수

가능한 값은 'container', 'blob'입니다.

container_encryption_scope
dict 또는 ContainerEncryptionScope

컨테이너에 설정하고 이후의 모든 쓰기에 사용할 기본 암호화 scope 지정합니다.

버전 12.2.0의 새로운 기능

timeout
int

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

반환

응답 헤더의 사전입니다.

반환 형식

delete_blob

삭제할 지정된 Blob 또는 스냅샷 표시합니다.

이 blob는 나중에 가비지 수집 중에 삭제됩니다. Blob을 삭제하려면 해당 스냅숏을 모두 삭제해야 합니다. delete_blob 작업과 동시에 둘 다 삭제할 수 있습니다.

서비스에 대해 삭제 보존 정책을 사용하도록 설정한 경우 이 작업은 Blob 또는 스냅샷 일시 삭제하고 지정된 일 수 동안 Blob 또는 스냅샷 유지합니다. 지정된 일 수가 지나면 가비지 수집 중에 Blob의 데이터가 서비스에서 제거됩니다. 일시 삭제된 Blob 또는 스냅샷은 include=["deleted"] 일시 삭제된 Blob 또는 스냅샷 지정하여 액세스할 list_blobs 수 있습니다.<xref:azure.storage.blob.aio.BlobClient.undelete>

async delete_blob(blob: str | BlobProperties, delete_snapshots: str | None = None, **kwargs) -> None

매개 변수

blob
str 또는 BlobProperties
필수

상호 작용할 Blob입니다. 지정한 경우 이 값은 Blob URL에 지정된 Blob 값을 재정의합니다.

delete_snapshots
str
필수

blob에 연결된 스냅숏이 포함된 경우 필수입니다. 값은 다음과 같습니다.

  • "only": Blob 스냅샷만 삭제합니다.

  • "include": 모든 스냅샷과 함께 Blob을 삭제합니다.

version_id
str

버전 ID 매개 변수는 불투명 DateTime 값으로, 있는 경우 삭제할 Blob의 버전을 지정합니다.

버전 12.4.0의 새로운 기능

이 키워드(keyword) 인수는 API 버전 '2019-12-12'에서 도입되었습니다.

lease
BlobLeaseClient 또는 str

blob에 활성 임대가 포함된 경우 필수입니다. 값은 Lease 개체이거나 임대 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에 사용할 일치 조건입니다.

if_tags_match_condition
str

일치하는 값이 있는 Blob에서만 작동하도록 Blob 태그의 SQL where 절을 지정합니다. 예: "\"tagname\"='my tag'"

버전 12.4.0의 새로운 기능입니다.

timeout
int

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

반환 형식

delete_blobs

삭제할 지정된 Blob 또는 스냅샷을 표시합니다.

Blob은 나중에 가비지 수집 중에 삭제됩니다. Blob을 삭제하려면 모든 스냅샷을 삭제해야 합니다. delete_blobs 작업과 동시에 둘 다 삭제할 수 있습니다.

서비스에 대해 삭제 보존 정책을 사용하도록 설정한 경우 이 작업은 Blob 또는 스냅샷을 일시 삭제하고 지정된 일 수 동안 Blob 또는 스냅샷을 유지합니다. 지정된 일 수 후에는 가비지 수집 중에 Blob의 데이터가 서비스에서 제거됩니다. 일시 삭제된 Blob 또는 스냅샷은 include=["deleted"] 일시 삭제된 Blob 또는 스냅샷을 지정하여 액세스할 list_blobs 수 있습니다.<xref:azure.storage.blob.aio.BlobClient.undelete>

단일 요청에서 삭제할 수 있는 최대 Blob 수는 256개입니다.

async delete_blobs(*blobs: str | Dict[str, Any] | BlobProperties, **kwargs: Any) -> AsyncIterator[AsyncHttpResponse]

매개 변수

blobs
str 또는 dict(str, Any) 또는 BlobProperties
필수

삭제할 Blob입니다. 단일 Blob이거나 여러 값을 제공할 수 있습니다. 여기서 각 값은 Blob(str) 또는 BlobProperties의 이름입니다.

참고

Blob 형식이 dict인 경우 키 목록, 값 규칙은 다음과 같습니다.

Blob 이름:

key: 'name', value type: str

삭제하려는 스냅샷:

key: '스냅샷', 값 형식: str

Blob을 삭제할 때 스냅샷을 삭제할지 여부:

key: 'delete_snapshots', value: 'include' 또는 'only'

Blob이 수정되었는지 여부:

key: 'if_modified_since', 'if_unmodified_since', 값 형식: datetime

Etag:

key: 'etag', 값 형식: str

etag와 일치하는지 여부:

key: 'match_condition', 값 형식: MatchConditions

태그 일치 조건:

key: 'if_tags_match_condition', 값 형식: str

임대:

key: 'lease_id', 값 형식: Union[str, LeaseClient]

하위 쿼리에 대한 시간 제한:

key: 'timeout', value type: int

delete_snapshots
str

Blob에 연결된 스냅샷이 있는 경우 필요합니다. 값은 다음과 같습니다.

  • "only": Blob 스냅샷만 삭제합니다.

  • "include": 모든 스냅샷과 함께 Blob을 삭제합니다.

if_modified_since
datetime

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

if_unmodified_since
datetime

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

if_tags_match_condition
str

일치하는 값이 있는 Blob에서만 작동하도록 Blob 태그의 SQL where 절을 지정합니다. 예: "\"tagname\"='my tag'"

버전 12.4.0의 새로운 기능입니다.

raise_on_any_failure
bool

기본값은 True인 부울 매개 변수입니다. 이 설정이 설정되면 단일 작업 실패가 있더라도 예외가 발생합니다. 최적의 성능을 위해 False로 설정해야 합니다.

timeout
int

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

반환

각 Blob에 대해 하나씩 순서대로 응답의 비동기 반복기

반환 형식

<xref:asynciterator>[AsyncHttpResponse]

delete_container

삭제할 지정된 컨테이너를 표시합니다. 컨테이너 및 여기에 포함된 모든 blob는 나중에 가비지 수집 중에 삭제됩니다.

async delete_container(**kwargs: Any) -> None

매개 변수

lease
BlobLeaseClient 또는 str

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

반환 형식

download_blob

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

async download_blob(blob: str | BlobProperties, offset: int = None, length: int = None, *, encoding: str, **kwargs) -> StorageStreamDownloader[str]

매개 변수

blob
str 또는 BlobProperties
필수

상호 작용할 Blob입니다. 지정한 경우 이 값은 Blob URL에 지정된 Blob 값을 재정의합니다.

offset
int
필수

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

length
int
필수

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

version_id
str

버전 ID 매개 변수는 불투명 DateTime 값으로, 있는 경우 다운로드할 Blob 버전을 지정합니다.

버전 12.4.0의 새로운 기능

이 키워드(keyword) 인수는 API 버전 '2019-12-12'에서 도입되었습니다.

validate_content
bool

true이면 Blob의 각 청크에 대한 MD5 해시를 계산합니다. 스토리지 서비스는 전송된 해시와 함께 도착한 콘텐츠의 해시를 확인합니다. https(기본값)가 이미 유효성을 검사하므로 https 대신 http를 사용하는 경우 와이어에서 비트플립을 검색하는 데 주로 유용합니다. 이 MD5 해시는 blob에 저장되지 않습니다. 또한 사용하도록 설정하면 MD5 해시를 계산하려면 전체 블록을 버퍼링해야 하므로 메모리 효율적인 업로드 알고리즘이 사용되지 않습니다. 이렇게 하면 메모리 효율적인 알고리즘의 목적이 무효화됩니다.

lease
BlobLeaseClient 또는 str

blob에 활성 임대가 포함된 경우 필수입니다. 지정한 경우 blob의 임대가 활성 상태이고 이 ID와 일치하는 경우에만 download_blob 성공합니다. 값은 BlobLeaseClient 개체이거나 임대 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에 사용할 일치 조건입니다.

if_tags_match_condition
str

일치하는 값이 있는 Blob에서만 작동하도록 Blob 태그의 절을 SQL로 지정합니다. 예: "\"tagname\"='my tag'"

버전 12.4.0의 새로운 기능

cpk
CustomerProvidedEncryptionKey

지정된 키를 사용하여 서비스 쪽의 데이터를 암호화합니다. 고객이 제공한 키의 사용은 HTTPS를 통해 수행해야 합니다. 암호화 키 자체가 요청에 제공되므로 키를 전송하려면 보안 연결을 설정해야 합니다.

max_concurrency
int

다운로드할 병렬 연결 수입니다.

encoding
str

다운로드한 바이트를 디코딩하는 인코딩 기본값은 None입니다. 즉, 디코딩이 없습니다.

progress_hook
Callable[[int, int], Awaitable[None]]

장기 실행 다운로드의 진행률을 추적하는 비동기 콜백입니다. 서명은 function(current: int, total: int)이며, 여기서 current는 지금까지 전송된 바이트 수이고 합계는 다운로드의 총 크기입니다.

timeout
int

작업에 대한 서버 쪽 시간 제한을 초 단위로 설정합니다. 자세한 내용은 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요. 이 메서드는 서비스를 여러 번 호출할 수 있으며 시간 제한은 각 호출에 개별적으로 적용됩니다. Azure 서비스에 대한 여러 호출 및 시간 제한은 각 호출에 개별적으로 적용됩니다.

반환

스트리밍 개체입니다. (StorageStreamDownloader)

반환 형식

exists

컨테이너가 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다.

async exists(**kwargs: Any) -> bool

매개 변수

timeout
int

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

반환

boolean

반환 형식

find_blobs_by_tags

지정된 검색 식과 일치하는 태그가 있는 지정된 컨테이너 아래에 Blob을 나열하는 생성기를 반환합니다. 생성기는 서비스에서 반환하는 연속 토큰을 느리게 따릅니다.

find_blobs_by_tags(filter_expression: str, **kwargs: Any | None) -> AsyncItemPaged[FilteredBlob]

매개 변수

filter_expression
str
필수

태그가 지정된 조건과 일치하는 Blob을 찾는 식입니다. 예: ""yourtagname"='firsttag' 및 "yourtagname2"='secondtag'"

results_per_page
int

페이지 매김 시 페이지당 최대 결과입니다.

timeout
int

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

반환

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

반환 형식

from_connection_string

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

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

매개 변수

conn_str
str
필수

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

container_name
str
필수

Blob의 컨테이너 이름입니다.

credential
기본값: None

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

반환

컨테이너 클라이언트입니다.

반환 형식

from_container_url

컨테이너 URL에서 ContainerClient를 만듭니다.

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

매개 변수

container_url
str
필수

사용되는 경우 SAS 토큰을 포함하여 컨테이너에 대한 전체 엔드포인트 URL입니다. 현재 location_mode 따라 기본 엔드포인트 또는 보조 엔드포인트일 수 있습니다.

credential
기본값: None

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

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

반환

컨테이너 클라이언트입니다.

반환 형식

get_account_information

스토리지 계정과 관련된 정보를 가져옵니다.

사용자에게 컨테이너 또는 Blob에 대한 SAS가 있는 경우에도 정보를 검색할 수 있습니다. 반환된 사전의 키에는 'sku_name' 및 'account_kind'이 포함됩니다.

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

반환

계정 정보(SKU 및 계정 유형)의 받아쓰기입니다.

반환 형식

get_blob_client

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

Blob이 아직 존재하지 않아도 됩니다.

get_blob_client(blob: BlobProperties | str, snapshot: str = None, *, version_id: str | None = None) -> BlobClient

매개 변수

blob
str 또는 BlobProperties
필수

상호 작용할 Blob입니다.

snapshot
str
기본값: None

작동할 선택적 Blob 스냅샷. 스냅샷 ID 문자열 또는 에서 create_snapshot반환된 응답일 수 있습니다.

version_id
str

버전 ID 매개 변수는 불투명 DateTime 값으로, 있을 때 작동할 Blob의 버전을 지정합니다.

반환

BlobClient입니다.

반환 형식

get_container_access_policy

지정된 컨테이너에 대한 권한을 가져옵니다. 권한은 컨테이너 데이터에 공개적으로 액세스할 수 있는지 여부를 나타냅니다.

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

매개 변수

lease
BlobLeaseClient 또는 str

지정된 경우 get_container_access_policy 컨테이너의 임대가 활성 상태이고 이 ID와 일치하는 경우에만 성공합니다.

timeout
int

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

반환

받아쓰기에서 정책 정보에 액세스합니다.

반환 형식

get_container_properties

지정된 컨테이너에 대한 모든 사용자 정의 메타데이터 및 시스템 속성을 반환합니다. 반환된 데이터에는 컨테이너의 블록 목록이 포함되지 않습니다.

async get_container_properties(**kwargs: Any) -> ContainerProperties

매개 변수

lease
BlobLeaseClient 또는 str

지정된 경우 컨테이너의 임대가 활성 상태이고 이 ID와 일치하는 경우에만 get_container_properties 성공합니다.

timeout
int

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

반환

컨테이너 개체 내의 지정된 컨테이너에 대한 속성입니다.

반환 형식

list_blob_names

지정된 컨테이너 아래에 있는 Blob의 이름을 나열하는 생성기를 반환합니다. 생성기는 서비스에서 반환하는 연속 토큰을 지연적으로 따릅니다.

이 API를 사용할 때는 추가 속성이나 메타데이터가 반환되지 않습니다. 또한 이 API에는 스냅샷, 버전, 일시 삭제된 Blob 등과 같은 추가 Blob을 포함할 수 있는 옵션이 없습니다. 이 데이터를 얻으려면 를 사용합니다 list_blobs.

list_blob_names(**kwargs: Any) -> AsyncItemPaged[str]

매개 변수

name_starts_with
str

이름이 지정한 접두사로 시작하는 Blob만 반환하도록 결과를 필터링합니다.

timeout
int

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

반환

Blob 이름을 문자열로 사용하는 반복 가능(자동 페이징) 응답입니다.

반환 형식

list_blobs

지정된 컨테이너 아래의 Blob을 나열하는 생성기를 반환합니다. 생성기는 서비스에서 반환하는 연속 토큰을 지연적으로 따릅니다.

list_blobs(name_starts_with: str | None = None, include: str | List[str] | None = None, **kwargs: Any) -> AsyncItemPaged[BlobProperties]

매개 변수

name_starts_with
str
필수

이름이 지정한 접두사로 시작하는 Blob만 반환하도록 결과를 필터링합니다.

include
list[str] 또는 str
필수

응답에 포함할 하나 이상의 추가 데이터 세트를 지정합니다. 옵션으로는 'snapshots', 'metadata', 'uncommittedblobs', 'copy', 'deleted', 'deletedwithversions', 'tags', 'versions', 'immutabilitypolicy', 'legalhold'가 있습니다.

timeout
int

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

반환

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

반환 형식

set_container_access_policy

공유 액세스 서명과 함께 사용할 수 있는 지정된 컨테이너 또는 저장된 액세스 정책에 대한 권한을 설정합니다. 권한은 컨테이너의 blob에 공개적으로 액세스할 수 있는지 여부를 나타냅니다.

async set_container_access_policy(signed_identifiers: Dict[str, AccessPolicy], public_access: str | PublicAccess | None = None, **kwargs: Any) -> Dict[str, str | datetime]

매개 변수

signed_identifiers
dict[str, AccessPolicy]
필수

컨테이너와 연결할 액세스 정책 사전입니다. 사전에는 최대 5개의 요소가 포함될 수 있습니다. 빈 사전은 서비스에 설정된 액세스 정책을 지웁히게 됩니다.

public_access
PublicAccess
필수

가능한 값은 'container', 'blob'입니다.

lease
BlobLeaseClient 또는 str

컨테이너에 활성 임대가 있는 경우 필요합니다. 값은 BlobLeaseClient 개체이거나 임대 ID를 문자열로 사용할 수 있습니다.

if_modified_since
datetime

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

if_unmodified_since
datetime

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

timeout
int

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

반환

컨테이너 업데이트 속성 dict(Etag 및 마지막으로 수정됨).

반환 형식

set_container_metadata

지정된 컨테이너에 대해 하나 이상의 사용자 정의 이름-값 쌍을 설정합니다. 이 작업을 호출할 때마다 컨테이너에 연결된 기존의 모든 메타데이터가 바뀝니다. 컨테이너에서 모든 메타데이터를 제거하려면 메타데이터 받아쓰기 없이 이 작업을 호출합니다.

async set_container_metadata(metadata: Dict[str, str] | None = None, **kwargs) -> Dict[str, str | datetime]

매개 변수

metadata
dict[str, str]
필수

컨테이너와 메타데이터로 연결할 이름-값 쌍을 포함하는 받아쓰기입니다. 예: {'category':'test'}

lease
BlobLeaseClient 또는 str

지정된 경우 set_container_metadata 컨테이너의 임대가 활성 상태이고 이 ID와 일치하는 경우에만 성공합니다.

if_modified_since
datetime

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

timeout
int

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

반환

컨테이너 업데이트 속성 dict(Etag 및 마지막으로 수정됨).

set_premium_page_blob_tier_blobs

Blob에서 페이지 Blob 계층을 설정합니다. 이 API는 프리미엄 계정의 페이지 Blob에 대해서만 지원됩니다.

단일 요청에서 업데이트할 수 있는 최대 Blob 수는 256개입니다.

async set_premium_page_blob_tier_blobs(premium_page_blob_tier: str | PremiumPageBlobTier, *blobs: str | Dict[str, Any] | BlobProperties, **kwargs: Any) -> AsyncIterator[AsyncHttpResponse]

매개 변수

premium_page_blob_tier
PremiumPageBlobTier
필수

모든 Blob에서 설정할 페이지 Blob 계층 값입니다. 계층은 Blob의 크기 및 허용되는 IOPS 수와 관련이 있습니다. 이는 Premium Storage 계정의 페이지 Blob에만 적용됩니다.

참고

다른 Blob에서 다른 계층을 설정하려면 이 위치 매개 변수를 None으로 설정하세요.

그런 다음 모든 BlobProperties의 Blob 계층이 수행됩니다.

blobs
str 또는 dict(str, Any) 또는 BlobProperties
필수

상호 작용할 Blob입니다. 단일 Blob이거나 여러 값을 제공할 수 있습니다. 여기서 각 값은 Blob(str) 또는 BlobProperties의 이름입니다.

참고

Blob 형식이 dict인 경우 키 목록, 값 규칙은 다음과 같습니다.

Blob 이름:

key: 'name', value type: str

프리미엄 Blob 계층:

key: 'blob_tier', 값 형식: PremiumPageBlobTier

임대:

key: 'lease_id', 값 형식: Union[str, LeaseClient]

하위 쿼리에 대한 시간 제한:

key: 'timeout', value type: int

timeout
int

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

raise_on_any_failure
bool

기본값은 True인 부울 매개 변수입니다. 이 설정이 설정되면 단일 작업 실패가 있더라도 예외가 발생합니다. 최적의 성능을 위해 False로 설정해야 합니다.

반환

각 Blob에 대해 하나씩 순서대로 응답의 비동기 반복기

반환 형식

<xref:asynciterator>[AsyncHttpResponse]

set_standard_blob_tier_blobs

이 작업은 블록 Blob에서 계층을 설정합니다.

블록 Blob의 계층은 핫/쿨/보관 스토리지 유형을 결정합니다. 이 작업은 Blob의 ETag를 업데이트하지 않습니다.

단일 요청에서 업데이트할 수 있는 최대 Blob 수는 256개입니다.

async set_standard_blob_tier_blobs(standard_blob_tier: str | StandardBlobTier, *blobs: str | Dict[str, Any] | BlobProperties, **kwargs: Any) -> AsyncIterator[AsyncHttpResponse]

매개 변수

standard_blob_tier
str 또는 StandardBlobTier
필수

모든 Blob에서 설정할 계층을 나타냅니다. 옵션에는 '핫', '쿨', '보관'이 포함됩니다. 핫 계층은 자주 액세스되는 데이터를 저장하기 위해 최적화되어 있습니다. 쿨 스토리지 계층은 한 달 이상 자주 액세스하지 않고 저장되는 데이터를 저장하기 위해 최적화되어 있습니다. 보관 계층은 유연한 대기 시간 요구 사항으로 최소 6개월 동안 거의 액세스하지 않고 저장되지 않는 데이터를 저장하기 위해 최적화되어 있습니다.

참고

다른 Blob에서 다른 계층을 설정하려면 이 위치 매개 변수를 None으로 설정하세요.

그런 다음 모든 BlobProperties의 Blob 계층이 수행됩니다.

blobs
str 또는 dict(str, Any) 또는 BlobProperties
필수

상호 작용할 Blob입니다. 단일 Blob이거나 여러 값을 제공할 수 있습니다. 여기서 각 값은 Blob(str) 또는 BlobProperties의 이름입니다.

참고

Blob 형식이 dict인 경우 키 목록, 값 규칙은 다음과 같습니다.

Blob 이름:

key: 'name', value type: str

표준 Blob 계층:

key: 'blob_tier', 값 형식: StandardBlobTier

rehydrate 우선 순위:

key: 'rehydrate_priority', 값 형식: RehydratePriority

임대:

key: 'lease_id', 값 형식: Union[str, LeaseClient]

태그 일치 조건:

key: 'if_tags_match_condition', 값 형식: str

하위 쿼리에 대한 시간 제한:

key: 'timeout', value type: int

rehydrate_priority
RehydratePriority

보관된 Blob을 리하우징할 우선 순위를 나타냅니다.

if_tags_match_condition
str

일치하는 값이 있는 Blob에서만 작동하도록 Blob 태그의 SQL where 절을 지정합니다. 예: "\"tagname\"='my tag'"

버전 12.4.0의 새로운 기능입니다.

timeout
int

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

raise_on_any_failure
bool

기본값은 True인 부울 매개 변수입니다. 이 설정이 설정되면 단일 작업 실패가 있더라도 예외가 발생합니다. 최적의 성능을 위해 False로 설정해야 합니다.

반환

각 Blob에 대해 하나씩 순서대로 응답의 비동기 반복기

반환 형식

<xref:asynciterator>[AsyncHttpResponse]

upload_blob

자동 청크를 사용하여 데이터 원본에서 새 Blob을 만듭니다.

async upload_blob(name: str | BlobProperties, data: bytes | str | Iterable | AsyncIterable | IO, blob_type: str | BlobType = BlobType.BLOCKBLOB, length: int | None = None, metadata: Dict[str, str] | None = None, **kwargs) -> BlobClient

매개 변수

name
str 또는 BlobProperties
필수

상호 작용할 Blob입니다. 지정된 경우 이 값은 Blob URL에 지정된 Blob 값을 재정의합니다.

data
필수

업로드할 Blob 데이터입니다.

blob_type
BlobType
필수

Blob의 형식입니다. BlockBlob, PageBlob 또는 AppendBlob일 수 있습니다. 기본값은 BlockBlob입니다.

length
int
필수

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

metadata
dict(str, str)
필수

blob과 메타데이터로 연결된 이름-값 쌍입니다.

overwrite
bool

업로드할 Blob이 현재 데이터를 덮어쓸지 여부입니다. True이면 upload_blob 기존 데이터를 덮어씁 수 있습니다. False로 설정하면 ResourceExistsError로 작업이 실패합니다. 위의 예외는 추가 Blob 형식입니다. False로 설정되고 데이터가 이미 있는 경우 오류가 발생하지 않고 데이터가 기존 Blob에 추가됩니다. overwrite=True로 설정하면 기존 추가 Blob이 삭제되고 새 Blob이 만들어집니다. 기본값은 False입니다.

content_settings
ContentSettings

Blob 속성을 설정하는 데 사용되는 ContentSettings 개체입니다. 콘텐츠 형식, 인코딩, 언어, 처리, md5 및 캐시 제어를 설정하는 데 사용됩니다.

validate_content
bool

true이면 Blob의 각 청크에 대한 MD5 해시를 계산합니다. 스토리지 서비스는 전송된 해시와 함께 도착한 콘텐츠의 해시를 확인합니다. https(기본값)가 이미 유효성을 검사하므로 https 대신 http를 사용하는 경우 와이어에서 비트플립을 검색하는 데 주로 유용합니다. 이 MD5 해시는 blob에 저장되지 않습니다. 또한 사용하도록 설정하면 MD5 해시를 계산하려면 전체 블록을 버퍼링해야 하므로 메모리 효율적인 업로드 알고리즘이 사용되지 않습니다. 이렇게 하면 메모리 효율적인 알고리즘의 목적이 무효화됩니다.

lease
BlobLeaseClient 또는 str

컨테이너에 활성 임대가 있는 경우 필요합니다. 값은 BlobLeaseClient 개체이거나 임대 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에 사용할 일치 조건입니다.

if_tags_match_condition
str

일치하는 값이 있는 Blob에서만 작동하도록 Blob 태그의 SQL where 절을 지정합니다. 예: "\"tagname\"='my tag'"

버전 12.4.0의 새로운 기능입니다.

timeout
int

작업에 대한 서버 쪽 시간 제한을 초 단위로 설정합니다. 자세한 내용은 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요. 이 메서드는 서비스에 여러 번 호출할 수 있으며 시간 제한은 각 호출에 개별적으로 적용됩니다. Azure 서비스에 대한 여러 호출 및 시간 제한은 각 호출에 개별적으로 적용됩니다.

premium_page_blob_tier
PremiumPageBlobTier

Blob을 설정할 페이지 Blob 계층 값입니다. 계층은 Blob의 크기 및 허용되는 IOPS 수와 관련이 있습니다. 이는 Premium Storage 계정의 페이지 Blob에만 적용됩니다.

standard_blob_tier
StandardBlobTier

Blob을 설정할 표준 Blob 계층 값입니다. 이 버전의 라이브러리의 경우 표준 스토리지 계정의 블록 Blob에만 적용됩니다.

maxsize_condition
int

선택적 조건부 헤더입니다. 추가 Blob에 허용되는 최대 길이(바이트)입니다. 블록 추가 작업으로 인해 Blob이 해당 제한을 초과하거나 Blob 크기가 이 헤더에 지정된 값보다 이미 크면 MaxBlobSizeConditionNotMet 오류(HTTP 상태 코드 412 - 사전 조건 실패)로 인해 요청이 실패합니다.

max_concurrency
int

Blob 크기가 64MB를 초과할 때 사용할 최대 병렬 연결 수입니다.

cpk
CustomerProvidedEncryptionKey

지정된 키를 사용하여 서비스 쪽의 데이터를 암호화합니다. 고객이 제공한 키의 사용은 HTTPS를 통해 수행해야 합니다. 암호화 키 자체가 요청에 제공되므로 키를 전송하려면 보안 연결을 설정해야 합니다.

encryption_scope
str

서비스의 데이터를 암호화하는 데 사용되는 미리 정의된 암호화 scope. 암호화 scope 관리 API를 사용하여 만들고 여기에서 이름으로 참조할 수 있습니다. 컨테이너에서 기본 암호화 scope 정의된 경우 컨테이너 수준 scope 재정의를 허용하도록 구성된 경우 이 값이 재정의됩니다. 그렇지 않으면 오류가 발생합니다.

버전 12.2.0의 새로운 기능

encoding
str

기본값은 UTF-8입니다.

progress_hook
Callable[[int, Optional[int]], Awaitable[None]]

장기 실행 업로드의 진행률을 추적하는 비동기 콜백입니다. 서명은 function(current: int, total: Optional[int])입니다. 여기서 현재 는 지금까지 전송된 바이트 수이고, 합계는 Blob의 크기이거나 크기를 알 수 없는 경우 없음입니다.

반환

새로 업로드된 Blob과 상호 작용하는 BlobClient입니다.

반환 형식

walk_blobs

지정된 컨테이너 아래의 Blob을 나열하는 생성기를 반환합니다. 생성기는 서비스에서 반환하는 연속 토큰을 느리게 따릅니다. 이 작업은 지정된 구분 기호 문자로 구분된 대로 계층 구조에 따라 Blob을 나열합니다.

walk_blobs(name_starts_with: str | None = None, include: str | List[str] | None = None, delimiter: str = '/', **kwargs: Any | None) -> AsyncItemPaged[BlobProperties]

매개 변수

name_starts_with
str
필수

이름이 지정한 접두사로 시작하는 Blob만 반환하도록 결과를 필터링합니다.

include
list[str] 또는 str
필수

응답에 포함할 하나 이상의 추가 데이터 세트를 지정합니다. 옵션으로는 'snapshots', 'metadata', 'uncommittedblobs', 'copy', 'deleted', 'deletedwithversions', 'tags', 'versions', 'immutabilitypolicy', 'legalhold'가 있습니다.

delimiter
str
필수

요청에 이 매개 변수가 포함된 경우 작업은 이름이 구분 기호 문자의 모양까지 동일한 부분 문자열로 시작하는 모든 Blob의 자리 표시자 역할을 하는 BlobPrefix 요소를 응답 본문에 반환합니다. 이 구분 기호는 단일 문자이거나 문자열일 수 있습니다.

timeout
int

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

반환

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

반환 형식

특성

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