ContainerClient 클래스
특정 컨테이너와 상호 작용하는 클라이언트이지만 해당 컨테이너는 아직 존재하지 않을 수 있습니다.
이 컨테이너 내의 특정 Blob과 관련된 작업의 경우 함수를 사용하여 Blob 클라이언트를 get_blob_client 검색할 수 있습니다.
- 상속
-
azure.storage.blob._shared.base_client_async.AsyncStorageAccountHostsMixinContainerClientazure.storage.blob._container_client.ContainerClientContainerClientazure.storage.blob._encryption.StorageEncryptionMixinContainerClient
생성자
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 사용합니다.
- 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와 호환되는 최신 서비스 버전입니다. 이전 버전으로 설정하면 기능 호환성이 저하될 수 있습니다.
버전 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(무한 임대)입니다.
- 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]
매개 변수
- 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
매개 변수
- 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에 대해 하나씩 순서대로 응답의 비동기 반복기
반환 형식
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]
매개 변수
- 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의 새로운 기능
지정된 키를 사용하여 서비스 쪽의 데이터를 암호화합니다. 고객이 제공한 키의 사용은 HTTPS를 통해 수행해야 합니다. 암호화 키 자체가 요청에 제공되므로 키를 전송하려면 보안 연결을 설정해야 합니다.
- max_concurrency
- int
다운로드할 병렬 연결 수입니다.
- encoding
- str
다운로드한 바이트를 디코딩하는 인코딩 기본값은 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
매개 변수
- credential
인증할 자격 증명입니다. 계정 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
인증할 자격 증명입니다. 계정 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
매개 변수
- 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]
매개 변수
응답에 포함할 하나 이상의 추가 데이터 세트를 지정합니다. 옵션으로는 '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개의 요소가 포함될 수 있습니다. 빈 사전은 서비스에 설정된 액세스 정책을 지웁히게 됩니다.
- 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]
매개 변수
- 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에 대해 하나씩 순서대로 응답의 비동기 반복기
반환 형식
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에 대해 하나씩 순서대로 응답의 비동기 반복기
반환 형식
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
매개 변수
- data
업로드할 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를 초과할 때 사용할 최대 병렬 연결 수입니다.
지정된 키를 사용하여 서비스 쪽의 데이터를 암호화합니다. 고객이 제공한 키의 사용은 HTTPS를 통해 수행해야 합니다. 암호화 키 자체가 요청에 제공되므로 키를 전송하려면 보안 연결을 설정해야 합니다.
- encryption_scope
- str
서비스의 데이터를 암호화하는 데 사용되는 미리 정의된 암호화 scope. 암호화 scope 관리 API를 사용하여 만들고 여기에서 이름으로 참조할 수 있습니다. 컨테이너에서 기본 암호화 scope 정의된 경우 컨테이너 수준 scope 재정의를 허용하도록 구성된 경우 이 값이 재정의됩니다. 그렇지 않으면 오류가 발생합니다.
버전 12.2.0의 새로운 기능
- encoding
- str
기본값은 UTF-8입니다.
장기 실행 업로드의 진행률을 추적하는 비동기 콜백입니다. 서명은 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]
매개 변수
응답에 포함할 하나 이상의 추가 데이터 세트를 지정합니다. 옵션으로는 '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
Azure SDK for Python