ContainerClient class

ContainerClient는 Blob을 조작할 수 있는 Azure Storage 컨테이너의 URL을 나타냅니다.

Extends

StorageClient

생성자

ContainerClient(string, PipelineLike)

ContainerClient의 인스턴스를 만듭니다. 이 메서드는 컨테이너를 가리키는 URL을 허용합니다. 인코딩된 URL 문자열은 두 번 이스케이프되지 않으며 URL 경로의 특수 문자만 이스케이프됩니다. Blob 이름에 ?이 포함되어 있는 경우 또는 %, Blob 이름은 URL에 인코딩되어야 합니다.

ContainerClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

ContainerClient의 인스턴스를 만듭니다. 이 메서드는 컨테이너를 가리키는 URL을 허용합니다. 인코딩된 URL 문자열은 두 번 이스케이프되지 않으며 URL 경로의 특수 문자만 이스케이프됩니다. Blob 이름에 ?이 포함되어 있는 경우 또는 %, Blob 이름은 URL에 인코딩되어야 합니다.

ContainerClient(string, string, StoragePipelineOptions)

ContainerClient의 인스턴스를 만듭니다.

속성

containerName

컨테이너의 이름입니다.

상속된 속성

accountName
credential

AnonymousCredential, StorageSharedKeyCredential 또는 패키지의 @azure/identity 자격 증명과 같이 서비스에 대한 요청을 인증합니다. TokenCredential 인터페이스를 구현하는 개체를 제공할 수도 있습니다. 지정하지 않으면 AnonymousCredential이 사용됩니다.

url

인코딩된 URL 문자열 값입니다.

메서드

create(ContainerCreateOptions)

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

명명 규칙 참조 https://docs.microsoft.com/en-us/rest/api/storageservices/create-container : 참조 https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

createIfNotExists(ContainerCreateOptions)

지정된 계정 아래에 새 컨테이너를 만듭니다. 동일한 이름의 컨테이너가 이미 있는 경우 변경되지 않습니다.

명명 규칙 참조 https://docs.microsoft.com/en-us/rest/api/storageservices/create-container : 참조 https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

delete(ContainerDeleteMethodOptions)

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

https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container를 참조하세요.

deleteBlob(string, ContainerDeleteBlobOptions)

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

https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob를 참조하세요.

deleteIfExists(ContainerDeleteMethodOptions)

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

https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container를 참조하세요.

exists(ContainerExistsOptions)

이 클라이언트가 나타내는 Azure 컨테이너 리소스가 있으면 true를 반환합니다. false이면 이고, 그렇지 않으면 입니다.

참고: 기존 컨테이너가 다른 클라이언트 또는 애플리케이션에서 삭제될 수 있기 때문에 이 함수를 주의해서 사용합니다. 같은 이름의 새 컨테이너는 이 함수가 완료된 후 다른 클라이언트 또는 애플리케이션에서 추가할 수 있습니다.

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

지정된 컨테이너에서 지정된 태그가 있는 모든 Blob을 찾기 위한 비동기 반복기를 반환합니다.

.byPage()는 페이지에 Blob을 나열하는 비동기 반복기를 반환합니다.

구문을 사용하는 for await 예제:

let i = 1;
for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

iter.next()을(를) 사용하는 예제:

let i = 1;
const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
let blobItem = await iter.next();
while (!blobItem.done) {
  console.log(`Blob ${i++}: ${blobItem.value.name}`);
  blobItem = await iter.next();
}

byPage()을(를) 사용하는 예제:

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 20 })) {
  if (response.blobs) {
    for (const blob of response.blobs) {
      console.log(`Blob ${i++}: ${blob.name}`);
    }
  }
}

표식과 함께 페이징을 사용하는 예제:

let i = 1;
let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 blob names
if (response.blobs) {
  for (const blob of response.blobs) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}

// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = containerClient
  .findBlobsByTags("tagkey='tagvalue'")
  .byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints blob names
if (response.blobs) {
  for (const blob of response.blobs) {
     console.log(`Blob ${i++}: ${blob.name}`);
  }
}
generateSasUrl(ContainerGenerateSasUrlOptions)

공유 키 자격 증명을 사용하여 생성된 ContainerClient에만 사용할 수 있습니다.

전달된 클라이언트 속성 및 매개 변수를 기반으로 Blob Container Service SAS(공유 액세스 서명) URI를 생성합니다. SAS는 클라이언트의 공유 키 자격 증명으로 서명됩니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas를 참조하세요.

getAccessPolicy(ContainerGetAccessPolicyOptions)

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

경고: 구문 분석이 시작되고 expiresOn 문자열이 만료되면 JavaScript 날짜의 전체 자릿수가 손실될 수 있습니다. 예를 들어 새 Date("2018-12-31T03:44:23.8827891Z").toISOString()은 "2018-12-31T03:44:23.882Z"를 가져옵니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-acl를 참조하세요.

getAppendBlobClient(string)

AppendBlobClient를 만듭니다.

getBlobBatchClient()

배치 작업을 수행하기 위해 BlobBatchClient 개체를 만듭니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/blob-batch를 참조하세요.

getBlobClient(string)

BlobClient를 만듭니다.

getBlobLeaseClient(string)

컨테이너에서 임대를 관리하는 BlobLeaseClient 를 가져옵니다.

getBlockBlobClient(string)

BlockBlobClient를 만듭니다.

getPageBlobClient(string)

PageBlobClient를 만듭니다.

getProperties(ContainerGetPropertiesOptions)

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

https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-properties를 참조하세요.

경고: 응답에서 반환된 개체에는 metadata 원래 대문자가 포함되어 있더라도 해당 키가 소문자로 표시됩니다. 이는 원래 대/소문자를 유지하는 옵션을 사용하여 includeMetadataBlobServiceClient 메서드에서 반환 listContainers 하는 메타데이터 키와 다릅니다.

listBlobsByHierarchy(string, ContainerListBlobsOptions)

계층별로 모든 Blob을 나열하는 비동기 반복기를 반환합니다. 지정된 계정 아래에 있습니다.

.byPage()는 비동기 반복 반복기를 반환하여 페이지의 계층 구조별로 Blob을 나열합니다.

구문을 사용하는 for await 예제:

for await (const item of containerClient.listBlobsByHierarchy("/")) {
  if (item.kind === "prefix") {
    console.log(`\tBlobPrefix: ${item.name}`);
  } else {
    console.log(`\tBlobItem: name - ${item.name}`);
  }
}

iter.next()을(를) 사용하는 예제:

let iter = containerClient.listBlobsByHierarchy("/", { prefix: "prefix1/" });
let entity = await iter.next();
while (!entity.done) {
  let item = entity.value;
  if (item.kind === "prefix") {
    console.log(`\tBlobPrefix: ${item.name}`);
  } else {
    console.log(`\tBlobItem: name - ${item.name}`);
  }
  entity = await iter.next();
}

byPage()을(를) 사용하는 예제:

console.log("Listing blobs by hierarchy by page");
for await (const response of containerClient.listBlobsByHierarchy("/").byPage()) {
  const segment = response.segment;
  if (segment.blobPrefixes) {
    for (const prefix of segment.blobPrefixes) {
      console.log(`\tBlobPrefix: ${prefix.name}`);
    }
  }
  for (const blob of response.segment.blobItems) {
    console.log(`\tBlobItem: name - ${blob.name}`);
  }
}

최대 페이지 크기로 페이징을 사용하는 예제:

console.log("Listing blobs by hierarchy by page, specifying a prefix and a max page size");

let i = 1;
for await (const response of containerClient
  .listBlobsByHierarchy("/", { prefix: "prefix2/sub1/" })
  .byPage({ maxPageSize: 2 })) {
  console.log(`Page ${i++}`);
  const segment = response.segment;

  if (segment.blobPrefixes) {
    for (const prefix of segment.blobPrefixes) {
      console.log(`\tBlobPrefix: ${prefix.name}`);
    }
  }

  for (const blob of response.segment.blobItems) {
    console.log(`\tBlobItem: name - ${blob.name}`);
  }
}
listBlobsFlat(ContainerListBlobsOptions)

지정된 계정 아래의 모든 Blob을 나열하는 비동기 반복기를 반환합니다.

.byPage()는 페이지에 Blob을 나열하는 비동기 반복기를 반환합니다.

구문을 사용하는 for await 예제:

// Get the containerClient before you run these snippets,
// Can be obtained from `blobServiceClient.getContainerClient("<your-container-name>");`
let i = 1;
for await (const blob of containerClient.listBlobsFlat()) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

iter.next()을(를) 사용하는 예제:

let i = 1;
let iter = containerClient.listBlobsFlat();
let blobItem = await iter.next();
while (!blobItem.done) {
  console.log(`Blob ${i++}: ${blobItem.value.name}`);
  blobItem = await iter.next();
}

byPage()을(를) 사용하는 예제:

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
  for (const blob of response.segment.blobItems) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}

표식과 함께 페이징을 사용하는 예제:

let i = 1;
let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 blob names
for (const blob of response.segment.blobItems) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

// Gets next marker
let marker = response.continuationToken;

// Passing next marker as continuationToken

iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints 10 blob names
for (const blob of response.segment.blobItems) {
  console.log(`Blob ${i++}: ${blob.name}`);
}
setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)

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

컨테이너에 대한 권한을 설정하면 기존 권한이 바뀝니다. 액세스 또는 containerAcl이 제공되지 않으면 기존 컨테이너 ACL이 제거됩니다.

컨테이너에서 저장된 액세스 정책을 설정할 경우 적용되는 데 최대 30초까지 걸릴 수 있습니다. 저장된 액세스 정책이 활성 상태가 될 때까지 이 간격 동안 해당 액세스 정책과 연결된 공유된 액세스 서명이 실패하면 상태 코드 403(사용할 수 없음)이 표시됩니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-acl를 참조하세요.

setMetadata(Metadata, ContainerSetMetadataOptions)

지정된 컨테이너에 대해 하나 이상의 사용자 정의 이름-값 쌍을 설정합니다.

옵션이 제공되지 않거나 매개 변수에 정의된 메타데이터가 없는 경우 컨테이너 메타데이터가 제거됩니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-metadata를 참조하세요.

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

새 블록 Blob을 만들거나 기존 블록 Blob의 콘텐츠를 업데이트합니다.

기존 블록 Blob을 업데이트하면 blob에 있는 기존 메타데이터를 덮어씁니다. 부분 업데이트는 지원되지 않습니다. 기존 Blob의 콘텐츠를 새 콘텐츠로 덮어씁니다. 블록 Blob의 부분 업데이트를 수행하려면 stageBlockcommitBlockList를 사용합니다.

병렬이 아닌 업로드 방법입니다. 동시성 업로드를 통해 성능을 향상시키려면 uploadFile, uploadStream 또는 uploadBrowserData 를 사용하세요.

https://docs.microsoft.com/rest/api/storageservices/put-blob를 참조하세요.

생성자 세부 정보

ContainerClient(string, PipelineLike)

ContainerClient의 인스턴스를 만듭니다. 이 메서드는 컨테이너를 가리키는 URL을 허용합니다. 인코딩된 URL 문자열은 두 번 이스케이프되지 않으며 URL 경로의 특수 문자만 이스케이프됩니다. Blob 이름에 ?이 포함되어 있는 경우 또는 %, Blob 이름은 URL에 인코딩되어야 합니다.

new ContainerClient(url: string, pipeline: PipelineLike)

매개 변수

url

string

Azure Storage 컨테이너를 가리키는 URL 문자열(예: "https://myaccount.blob.core.windows.net/mycontainer") AnonymousCredential을 사용하는 경우 SAS를 추가할 수 있습니다(예: "https://myaccount.blob.core.windows.net/mycontainer?sasString").

pipeline
PipelineLike

newPipeline()을 호출하여 기본 파이프라인을 만들거나 사용자 지정된 파이프라인을 제공합니다.

ContainerClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

ContainerClient의 인스턴스를 만듭니다. 이 메서드는 컨테이너를 가리키는 URL을 허용합니다. 인코딩된 URL 문자열은 두 번 이스케이프되지 않으며 URL 경로의 특수 문자만 이스케이프됩니다. Blob 이름에 ?이 포함되어 있는 경우 또는 %, Blob 이름은 URL에 인코딩되어야 합니다.

new ContainerClient(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)

매개 변수

url

string

Azure Storage 컨테이너를 가리키는 URL 문자열(예: "https://myaccount.blob.core.windows.net/mycontainer") AnonymousCredential을 사용하는 경우 SAS를 추가할 수 있습니다(예: "https://myaccount.blob.core.windows.net/mycontainer?sasString").

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

AnonymousCredential, StorageSharedKeyCredential 또는 패키지의 @azure/identity 자격 증명과 같이 서비스에 대한 요청을 인증합니다. TokenCredential 인터페이스를 구현하는 개체를 제공할 수도 있습니다. 지정하지 않으면 AnonymousCredential이 사용됩니다.

options
StoragePipelineOptions

(선택 사항) HTTP 파이프라인을 구성하는 옵션입니다.

ContainerClient(string, string, StoragePipelineOptions)

ContainerClient의 인스턴스를 만듭니다.

new ContainerClient(connectionString: string, containerName: string, options?: StoragePipelineOptions)

매개 변수

connectionString

string

계정 연결 문자열 또는 Azure Storage 계정의 SAS 연결 문자열입니다. [ 참고 - 계정 연결 문자열은 NODE.JS 런타임에서만 사용할 수 있습니다. ] 계정 연결 문자열 예제 -DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net SAS 연결 문자열 예제 - BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString

containerName

string

컨테이너 이름

options
StoragePipelineOptions

(선택 사항) HTTP 파이프라인을 구성하는 옵션입니다.

속성 세부 정보

containerName

컨테이너의 이름입니다.

string containerName

속성 값

string

상속된 속성 세부 정보

accountName

accountName: string

속성 값

string

상속된 From StorageClient.accountName

credential

AnonymousCredential, StorageSharedKeyCredential 또는 패키지의 @azure/identity 자격 증명과 같이 서비스에 대한 요청을 인증합니다. TokenCredential 인터페이스를 구현하는 개체를 제공할 수도 있습니다. 지정하지 않으면 AnonymousCredential이 사용됩니다.

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

속성 값

상속된 From StorageClient.credential

url

인코딩된 URL 문자열 값입니다.

url: string

속성 값

string

상속된 From StorageClient.url

메서드 세부 정보

create(ContainerCreateOptions)

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

명명 규칙 참조 https://docs.microsoft.com/en-us/rest/api/storageservices/create-container : 참조 https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

function create(options?: ContainerCreateOptions): Promise<ContainerCreateResponse>

매개 변수

options
ContainerCreateOptions

컨테이너 만들기 작업에 대한 옵션입니다.

예제 사용법:

const containerClient = blobServiceClient.getContainerClient("<container name>");
const createContainerResponse = await containerClient.create();
console.log("Container was created successfully", createContainerResponse.requestId);

반환

createIfNotExists(ContainerCreateOptions)

지정된 계정 아래에 새 컨테이너를 만듭니다. 동일한 이름의 컨테이너가 이미 있는 경우 변경되지 않습니다.

명명 규칙 참조 https://docs.microsoft.com/en-us/rest/api/storageservices/create-container : 참조 https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata

function createIfNotExists(options?: ContainerCreateOptions): Promise<ContainerCreateIfNotExistsResponse>

매개 변수

반환

delete(ContainerDeleteMethodOptions)

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

https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container를 참조하세요.

function delete(options?: ContainerDeleteMethodOptions): Promise<ContainerDeleteResponse>

매개 변수

options
ContainerDeleteMethodOptions

컨테이너 삭제 작업에 대한 옵션입니다.

반환

deleteBlob(string, ContainerDeleteBlobOptions)

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

https://docs.microsoft.com/en-us/rest/api/storageservices/delete-blob를 참조하세요.

function deleteBlob(blobName: string, options?: ContainerDeleteBlobOptions): Promise<BlobDeleteResponse>

매개 변수

blobName

string

options
ContainerDeleteBlobOptions

Blob 삭제 작업에 대한 옵션입니다.

반환

블록 Blob 삭제 응답 데이터입니다.

deleteIfExists(ContainerDeleteMethodOptions)

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

https://docs.microsoft.com/en-us/rest/api/storageservices/delete-container를 참조하세요.

function deleteIfExists(options?: ContainerDeleteMethodOptions): Promise<ContainerDeleteIfExistsResponse>

매개 변수

options
ContainerDeleteMethodOptions

컨테이너 삭제 작업에 대한 옵션입니다.

반환

exists(ContainerExistsOptions)

이 클라이언트가 나타내는 Azure 컨테이너 리소스가 있으면 true를 반환합니다. false이면 이고, 그렇지 않으면 입니다.

참고: 기존 컨테이너가 다른 클라이언트 또는 애플리케이션에서 삭제될 수 있기 때문에 이 함수를 주의해서 사용합니다. 같은 이름의 새 컨테이너는 이 함수가 완료된 후 다른 클라이언트 또는 애플리케이션에서 추가할 수 있습니다.

function exists(options?: ContainerExistsOptions): Promise<boolean>

매개 변수

반환

Promise<boolean>

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

지정된 컨테이너에서 지정된 태그가 있는 모든 Blob을 찾기 위한 비동기 반복기를 반환합니다.

.byPage()는 페이지에 Blob을 나열하는 비동기 반복기를 반환합니다.

구문을 사용하는 for await 예제:

let i = 1;
for await (const blob of containerClient.findBlobsByTags("tagkey='tagvalue'")) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

iter.next()을(를) 사용하는 예제:

let i = 1;
const iter = containerClient.findBlobsByTags("tagkey='tagvalue'");
let blobItem = await iter.next();
while (!blobItem.done) {
  console.log(`Blob ${i++}: ${blobItem.value.name}`);
  blobItem = await iter.next();
}

byPage()을(를) 사용하는 예제:

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 20 })) {
  if (response.blobs) {
    for (const blob of response.blobs) {
      console.log(`Blob ${i++}: ${blob.name}`);
    }
  }
}

표식과 함께 페이징을 사용하는 예제:

let i = 1;
let iterator = containerClient.findBlobsByTags("tagkey='tagvalue'").byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 blob names
if (response.blobs) {
  for (const blob of response.blobs) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}

// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = containerClient
  .findBlobsByTags("tagkey='tagvalue'")
  .byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints blob names
if (response.blobs) {
  for (const blob of response.blobs) {
     console.log(`Blob ${i++}: ${blob.name}`);
  }
}
function findBlobsByTags(tagFilterSqlExpression: string, options?: ContainerFindBlobByTagsOptions): PagedAsyncIterableIterator<FilterBlobItem, ContainerFindBlobsByTagsSegmentResponse, PageSettings>

매개 변수

tagFilterSqlExpression

string

where 매개 변수를 사용하면 호출자가 태그가 지정된 식과 일치하는 Blob을 쿼리할 수 있습니다. Blob이 결과에 반환되려면 지정된 식이 true로 평가되어야 합니다. [OData - ABNF] 필터 구문 규칙은 where 쿼리 매개 변수의 값에 대한 공식 문법을 정의합니다. 그러나 OData 필터 구문의 하위 집합만 Blob 서비스에서 지원됩니다.

options
ContainerFindBlobByTagsOptions

태그로 Blob을 찾는 옵션입니다.

반환

generateSasUrl(ContainerGenerateSasUrlOptions)

공유 키 자격 증명을 사용하여 생성된 ContainerClient에만 사용할 수 있습니다.

전달된 클라이언트 속성 및 매개 변수를 기반으로 Blob Container Service SAS(공유 액세스 서명) URI를 생성합니다. SAS는 클라이언트의 공유 키 자격 증명으로 서명됩니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas를 참조하세요.

function generateSasUrl(options: ContainerGenerateSasUrlOptions): Promise<string>

매개 변수

options
ContainerGenerateSasUrlOptions

선택적 매개 변수입니다.

반환

Promise<string>

이 클라이언트가 나타내는 리소스에 대한 URI와 생성된 SAS 토큰으로 구성된 SAS URI입니다.

getAccessPolicy(ContainerGetAccessPolicyOptions)

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

경고: 구문 분석이 시작되고 expiresOn 문자열이 만료되면 JavaScript 날짜의 전체 자릿수가 손실될 수 있습니다. 예를 들어 새 Date("2018-12-31T03:44:23.8827891Z").toISOString()은 "2018-12-31T03:44:23.882Z"를 가져옵니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-acl를 참조하세요.

function getAccessPolicy(options?: ContainerGetAccessPolicyOptions): Promise<ContainerGetAccessPolicyResponse>

매개 변수

options
ContainerGetAccessPolicyOptions

컨테이너 액세스 정책 가져오기 작업에 대한 옵션입니다.

반환

getAppendBlobClient(string)

AppendBlobClient를 만듭니다.

function getAppendBlobClient(blobName: string): AppendBlobClient

매개 변수

blobName

string

추가 Blob 이름

반환

getBlobBatchClient()

배치 작업을 수행하기 위해 BlobBatchClient 개체를 만듭니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/blob-batch를 참조하세요.

function getBlobBatchClient(): BlobBatchClient

반환

이 컨테이너에 대한 새 BlobBatchClient 개체입니다.

getBlobClient(string)

BlobClient를 만듭니다.

function getBlobClient(blobName: string): BlobClient

매개 변수

blobName

string

Blob 이름

반환

지정된 Blob 이름에 대한 새 BlobClient 개체입니다.

getBlobLeaseClient(string)

컨테이너에서 임대를 관리하는 BlobLeaseClient 를 가져옵니다.

function getBlobLeaseClient(proposeLeaseId?: string): BlobLeaseClient

매개 변수

proposeLeaseId

string

처음 제안된 임대 ID입니다.

반환

컨테이너에서 임대를 관리하기 위한 새 BlobLeaseClient 개체입니다.

getBlockBlobClient(string)

BlockBlobClient를 만듭니다.

function getBlockBlobClient(blobName: string): BlockBlobClient

매개 변수

blobName

string

블록 Blob 이름

사용 예제:

const content = "Hello world!";

const blockBlobClient = containerClient.getBlockBlobClient("<blob name>");
const uploadBlobResponse = await blockBlobClient.upload(content, content.length);

반환

getPageBlobClient(string)

PageBlobClient를 만듭니다.

function getPageBlobClient(blobName: string): PageBlobClient

매개 변수

blobName

string

페이지 Blob 이름

반환

getProperties(ContainerGetPropertiesOptions)

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

https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-properties를 참조하세요.

경고: 응답에서 반환된 개체에는 metadata 원래 대문자가 포함되어 있더라도 해당 키가 소문자로 표시됩니다. 이는 원래 대/소문자를 유지하는 옵션을 사용하여 includeMetadataBlobServiceClient 메서드에서 반환 listContainers 하는 메타데이터 키와 다릅니다.

function getProperties(options?: ContainerGetPropertiesOptions): Promise<ContainerGetPropertiesResponse>

매개 변수

options
ContainerGetPropertiesOptions

컨테이너 속성 가져오기 작업에 대한 옵션입니다.

반환

listBlobsByHierarchy(string, ContainerListBlobsOptions)

계층별로 모든 Blob을 나열하는 비동기 반복기를 반환합니다. 지정된 계정 아래에 있습니다.

.byPage()는 비동기 반복 반복기를 반환하여 페이지의 계층 구조별로 Blob을 나열합니다.

구문을 사용하는 for await 예제:

for await (const item of containerClient.listBlobsByHierarchy("/")) {
  if (item.kind === "prefix") {
    console.log(`\tBlobPrefix: ${item.name}`);
  } else {
    console.log(`\tBlobItem: name - ${item.name}`);
  }
}

iter.next()을(를) 사용하는 예제:

let iter = containerClient.listBlobsByHierarchy("/", { prefix: "prefix1/" });
let entity = await iter.next();
while (!entity.done) {
  let item = entity.value;
  if (item.kind === "prefix") {
    console.log(`\tBlobPrefix: ${item.name}`);
  } else {
    console.log(`\tBlobItem: name - ${item.name}`);
  }
  entity = await iter.next();
}

byPage()을(를) 사용하는 예제:

console.log("Listing blobs by hierarchy by page");
for await (const response of containerClient.listBlobsByHierarchy("/").byPage()) {
  const segment = response.segment;
  if (segment.blobPrefixes) {
    for (const prefix of segment.blobPrefixes) {
      console.log(`\tBlobPrefix: ${prefix.name}`);
    }
  }
  for (const blob of response.segment.blobItems) {
    console.log(`\tBlobItem: name - ${blob.name}`);
  }
}

최대 페이지 크기로 페이징을 사용하는 예제:

console.log("Listing blobs by hierarchy by page, specifying a prefix and a max page size");

let i = 1;
for await (const response of containerClient
  .listBlobsByHierarchy("/", { prefix: "prefix2/sub1/" })
  .byPage({ maxPageSize: 2 })) {
  console.log(`Page ${i++}`);
  const segment = response.segment;

  if (segment.blobPrefixes) {
    for (const prefix of segment.blobPrefixes) {
      console.log(`\tBlobPrefix: ${prefix.name}`);
    }
  }

  for (const blob of response.segment.blobItems) {
    console.log(`\tBlobItem: name - ${blob.name}`);
  }
}
function listBlobsByHierarchy(delimiter: string, options?: ContainerListBlobsOptions): PagedAsyncIterableIterator<({ kind: "prefix" } & BlobPrefix) | ({ kind: "blob" } & BlobItem), ContainerListBlobHierarchySegmentResponse, PageSettings>

매개 변수

delimiter

string

가상 계층 구조를 정의하는 데 사용되는 문자 또는 문자열입니다.

options
ContainerListBlobsOptions

Blob 작업을 나열하는 옵션입니다.

반환

listBlobsFlat(ContainerListBlobsOptions)

지정된 계정 아래의 모든 Blob을 나열하는 비동기 반복기를 반환합니다.

.byPage()는 페이지에 Blob을 나열하는 비동기 반복기를 반환합니다.

구문을 사용하는 for await 예제:

// Get the containerClient before you run these snippets,
// Can be obtained from `blobServiceClient.getContainerClient("<your-container-name>");`
let i = 1;
for await (const blob of containerClient.listBlobsFlat()) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

iter.next()을(를) 사용하는 예제:

let i = 1;
let iter = containerClient.listBlobsFlat();
let blobItem = await iter.next();
while (!blobItem.done) {
  console.log(`Blob ${i++}: ${blobItem.value.name}`);
  blobItem = await iter.next();
}

byPage()을(를) 사용하는 예제:

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
  for (const blob of response.segment.blobItems) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}

표식과 함께 페이징을 사용하는 예제:

let i = 1;
let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 blob names
for (const blob of response.segment.blobItems) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

// Gets next marker
let marker = response.continuationToken;

// Passing next marker as continuationToken

iterator = containerClient.listBlobsFlat().byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints 10 blob names
for (const blob of response.segment.blobItems) {
  console.log(`Blob ${i++}: ${blob.name}`);
}
function listBlobsFlat(options?: ContainerListBlobsOptions): PagedAsyncIterableIterator<BlobItem, ContainerListBlobFlatSegmentResponse, PageSettings>

매개 변수

options
ContainerListBlobsOptions

Blob을 나열하는 옵션입니다.

반환

페이징을 지원하는 asyncIterableIterator입니다.

setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)

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

컨테이너에 대한 권한을 설정하면 기존 권한이 바뀝니다. 액세스 또는 containerAcl이 제공되지 않으면 기존 컨테이너 ACL이 제거됩니다.

컨테이너에서 저장된 액세스 정책을 설정할 경우 적용되는 데 최대 30초까지 걸릴 수 있습니다. 저장된 액세스 정책이 활성 상태가 될 때까지 이 간격 동안 해당 액세스 정책과 연결된 공유된 액세스 서명이 실패하면 상태 코드 403(사용할 수 없음)이 표시됩니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-acl를 참조하세요.

function setAccessPolicy(access?: PublicAccessType, containerAcl?: SignedIdentifier[], options?: ContainerSetAccessPolicyOptions): Promise<ContainerSetAccessPolicyResponse>

매개 변수

access
PublicAccessType

컨테이너의 데이터에 대한 공용 액세스 수준입니다.

containerAcl

SignedIdentifier[]

각각 고유한 ID와 액세스 정책의 세부 정보를 갖는 요소의 배열입니다.

options
ContainerSetAccessPolicyOptions

컨테이너 액세스 정책 설정 작업에 대한 옵션입니다.

반환

setMetadata(Metadata, ContainerSetMetadataOptions)

지정된 컨테이너에 대해 하나 이상의 사용자 정의 이름-값 쌍을 설정합니다.

옵션이 제공되지 않거나 매개 변수에 정의된 메타데이터가 없는 경우 컨테이너 메타데이터가 제거됩니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/set-container-metadata를 참조하세요.

function setMetadata(metadata?: Metadata, options?: ContainerSetMetadataOptions): Promise<ContainerSetMetadataResponse>

매개 변수

metadata
Metadata

기존 메타데이터를 이 값으로 대체합니다. 제공된 값이 없으면 기존 메타데이터가 제거됩니다.

options
ContainerSetMetadataOptions

컨테이너 메타데이터 설정 작업에 대한 옵션입니다.

반환

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

새 블록 Blob을 만들거나 기존 블록 Blob의 콘텐츠를 업데이트합니다.

기존 블록 Blob을 업데이트하면 blob에 있는 기존 메타데이터를 덮어씁니다. 부분 업데이트는 지원되지 않습니다. 기존 Blob의 콘텐츠를 새 콘텐츠로 덮어씁니다. 블록 Blob의 부분 업데이트를 수행하려면 stageBlockcommitBlockList를 사용합니다.

병렬이 아닌 업로드 방법입니다. 동시성 업로드를 통해 성능을 향상시키려면 uploadFile, uploadStream 또는 uploadBrowserData 를 사용하세요.

https://docs.microsoft.com/rest/api/storageservices/put-blob를 참조하세요.

function uploadBlockBlob(blobName: string, body: HttpRequestBody, contentLength: number, options?: BlockBlobUploadOptions): Promise<{ blockBlobClient: BlockBlobClient, response: BlockBlobUploadResponse }>

매개 변수

blobName

string

만들거나 업데이트할 블록 Blob의 이름입니다.

body
HttpRequestBody

Blob, 문자열, ArrayBuffer, ArrayBufferView 또는 오프셋이 데이터 원본에서 시작하는 새 읽기 가능한 스트림을 반환하는 함수입니다.

contentLength

number

본문의 길이(바이트)입니다. Buffer.byteLength()를 사용하여 Base64/Hex로 인코딩된 문자가 아닌 문자열의 본문 길이를 계산합니다.

options
BlockBlobUploadOptions

블록 Blob 업로드 작업을 구성하는 옵션입니다.

반환

Promise<{ blockBlobClient: BlockBlobClient, response: BlockBlobUploadResponse }>

블록 Blob 업로드 응답 데이터 및 해당 BlockBlobClient 인스턴스.