다음을 통해 공유


ContainerClient class

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

Extends

생성자

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의 인스턴스를 만듭니다.

속성

accountName
containerName

컨테이너의 이름입니다.

credential

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

url

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

메서드

create(ContainerCreateOptions)

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

createIfNotExists(ContainerCreateOptions)

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

delete(ContainerDeleteMethodOptions)

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

deleteBlob(string, ContainerDeleteBlobOptions)

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

deleteIfExists(ContainerDeleteMethodOptions)

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

exists(ContainerExistsOptions)

이 클라이언트가 나타내는 Azure 컨테이너 리소스가 있으면 true를 반환합니다. false이면 이고, 그렇지 않으면 입니다. 참고: 기존 컨테이너가 다른 클라이언트 또는 애플리케이션에서 삭제될 수 있기 때문에 이 함수를 주의해서 사용합니다. 그 반대의 경우도 마찬가지입니다. 같은 이름의 새 컨테이너는 이 함수가 완료된 후 다른 클라이언트 또는 애플리케이션에서 추가할 수 있습니다.

generateSasUrl(ContainerGenerateSasUrlOptions)

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

getAccessPolicy(ContainerGetAccessPolicyOptions)

지정된 컨테이너에 대한 권한을 가져옵니다. 권한은 컨테이너 데이터에 공개적으로 액세스할 수 있는지 여부를 나타냅니다. 경고: JavaScript 날짜는 구문 분석이 시작되고 expiresOn 문자열이 만료될 때 정밀도를 잃을 수 있습니다. 예를 들어 새 날짜("2018-12-31T03:44:23.8827891Z").toISOString()은 "2018-12-31T03:44:23.882Z"를 가져옵니다.

getAppendBlobClient(string)

을 만듭니다. <xref:AppendBlobClient>

getBlobBatchClient()

BlobBatchClient 개체를 만들어 일괄 처리 작업을 수행합니다.

getBlobClient(string)

<xref:BlobClient>을 만듭니다.

getBlobLeaseClient(string)

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

getBlockBlobClient(string)

<xref:BlockBlobClient>을 만듭니다.

getPageBlobClient(string)

<xref:PageBlobClient>을 만듭니다.

getProperties(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}, last modified - ${item.properties.lastModified}`);
  }
}

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}, last modified - ${item.properties.lastModified}`);
  }
  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}, last modified - ${blob.properties.lastModified}`);
  }
}

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

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}, last modified - ${blob.properties.lastModified}`);
  }
}
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(사용할 수 없음)이 표시됩니다.

setMetadata(Metadata, ContainerSetMetadataOptions)

지정된 컨테이너에 대해 하나 이상의 사용자 정의 이름-값 쌍을 설정합니다. 옵션이 제공되지 않거나 매개 변수에 정의된 메타데이터가 없으면 컨테이너 메타데이터가 제거됩니다.

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

새 블록 Blob을 만들거나 기존 블록 Blob의 콘텐츠를 업데이트합니다. 기존 블록 Blob을 업데이트하면 blob에 있는 기존 메타데이터를 덮어씁니다. 부분 업데이트는 지원되지 않습니다. 기존 Blob의 콘텐츠를 새 콘텐츠로 덮어씁니다. 블록 Blob의 부분 업데이트를 수행하려면 및 <xref:BlockBlobClient.commitBlockList>를 사용합니다<xref:BlockBlobClient.stageBlock>.

이 방법은 병렬이 아닌 업로드 방법입니다. 를 사용하거나 <xref:BlockBlobClient.uploadBrowserData> 동시성 업로드를 통해 성능을 향상시키려면 를 사용 <xref:BlockBlobClient.uploadFile><xref:BlockBlobClient.uploadStream> 하세요.

생성자 세부 정보

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(예: "https://myaccount.blob.core.windows.net/mycontainer?sasString")을 사용하는 경우 SAS를 추가할 수 있습니다.

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(예: "https://myaccount.blob.core.windows.net/mycontainer?sasString")을 사용하는 경우 SAS를 추가할 수 있습니다.

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 파이프라인을 구성하는 옵션입니다.

속성 세부 정보

accountName

accountName: string

속성 값

string

containerName

컨테이너의 이름입니다.

string containerName

속성 값

string

credential

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

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

속성 값

url

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

url: string

속성 값

string

메서드 세부 정보

create(ContainerCreateOptions)

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

function create(options?: ContainerCreateOptions)

매개 변수

options
ContainerCreateOptions

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

예제 사용법:

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

반환

createIfNotExists(ContainerCreateOptions)

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

function createIfNotExists(options?: ContainerCreateOptions)

매개 변수

반환

delete(ContainerDeleteMethodOptions)

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

function delete(options?: ContainerDeleteMethodOptions)

매개 변수

options
ContainerDeleteMethodOptions

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

반환

deleteBlob(string, ContainerDeleteBlobOptions)

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

function deleteBlob(blobName: string, options?: ContainerDeleteBlobOptions)

매개 변수

blobName

string

options
ContainerDeleteBlobOptions

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

반환

Blob 삭제 응답 데이터를 차단합니다.

deleteIfExists(ContainerDeleteMethodOptions)

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

function deleteIfExists(options?: ContainerDeleteMethodOptions)

매개 변수

options
ContainerDeleteMethodOptions

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

반환

exists(ContainerExistsOptions)

이 클라이언트가 나타내는 Azure 컨테이너 리소스가 있으면 true를 반환합니다. false이면 이고, 그렇지 않으면 입니다. 참고: 기존 컨테이너가 다른 클라이언트 또는 애플리케이션에서 삭제될 수 있기 때문에 이 함수를 주의해서 사용합니다. 그 반대의 경우도 마찬가지입니다. 같은 이름의 새 컨테이너는 이 함수가 완료된 후 다른 클라이언트 또는 애플리케이션에서 추가할 수 있습니다.

function exists(options?: ContainerExistsOptions)

매개 변수

반환

Promise<boolean>

generateSasUrl(ContainerGenerateSasUrlOptions)

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

function generateSasUrl(options: ContainerGenerateSasUrlOptions)

매개 변수

options
ContainerGenerateSasUrlOptions

선택적 매개 변수입니다.

반환

Promise<string>

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

getAccessPolicy(ContainerGetAccessPolicyOptions)

지정된 컨테이너에 대한 권한을 가져옵니다. 권한은 컨테이너 데이터에 공개적으로 액세스할 수 있는지 여부를 나타냅니다. 경고: JavaScript 날짜는 구문 분석이 시작되고 expiresOn 문자열이 만료될 때 정밀도를 잃을 수 있습니다. 예를 들어 새 날짜("2018-12-31T03:44:23.8827891Z").toISOString()은 "2018-12-31T03:44:23.882Z"를 가져옵니다.

function getAccessPolicy(options?: ContainerGetAccessPolicyOptions)

매개 변수

options
ContainerGetAccessPolicyOptions

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

반환

getAppendBlobClient(string)

을 만듭니다. <xref:AppendBlobClient>

function getAppendBlobClient(blobName: string)

매개 변수

blobName

string

추가 Blob 이름

반환

getBlobBatchClient()

BlobBatchClient 개체를 만들어 일괄 처리 작업을 수행합니다.

function getBlobBatchClient()

반환

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

getBlobClient(string)

<xref:BlobClient>을 만듭니다.

function getBlobClient(blobName: string)

매개 변수

blobName

string

Blob 이름

반환

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

getBlobLeaseClient(string)

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

function getBlobLeaseClient(proposeLeaseId?: string)

매개 변수

proposeLeaseId

string

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

반환

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

getBlockBlobClient(string)

<xref:BlockBlobClient>을 만듭니다.

function getBlockBlobClient(blobName: string)

매개 변수

blobName

string

블록 Blob 이름

예제 사용법:

const content = "Hello world!";

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

반환

getPageBlobClient(string)

<xref:PageBlobClient>을 만듭니다.

function getPageBlobClient(blobName: string)

매개 변수

blobName

string

페이지 Blob 이름

반환

getProperties(ContainerGetPropertiesOptions)

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

function getProperties(options?: ContainerGetPropertiesOptions)

매개 변수

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}, last modified - ${item.properties.lastModified}`);
  }
}

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}, last modified - ${item.properties.lastModified}`);
  }
  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}, last modified - ${blob.properties.lastModified}`);
  }
}

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

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}, last modified - ${blob.properties.lastModified}`);
  }
}
function listBlobsByHierarchy(delimiter: string, options?: ContainerListBlobsOptions)

매개 변수

delimiter

string

가상 계층을 정의하는 데 사용되는 문자 또는 문자열

options
ContainerListBlobsOptions

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

반환

PagedAsyncIterableIterator<Object & BlobPrefix | Object & BlobItem, ContainerListBlobHierarchySegmentResponse>

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)

매개 변수

options
ContainerListBlobsOptions

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

반환

PagedAsyncIterableIterator<BlobItem, ContainerListBlobFlatSegmentResponse>

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

setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)

지정된 컨테이너에 대한 사용 권한을 설정합니다. 권한은 컨테이너의 blob에 공개적으로 액세스할 수 있는지 여부를 나타냅니다. 컨테이너에 대한 권한을 설정하면 기존 권한이 바뀝니다. 액세스 또는 containerAcl이 제공되지 않으면 기존 컨테이너 ACL이 제거됩니다.

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

function setAccessPolicy(access?: PublicAccessType, containerAcl?: SignedIdentifier[], options?: ContainerSetAccessPolicyOptions)

매개 변수

access
PublicAccessType

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

containerAcl

SignedIdentifier[]

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

options
ContainerSetAccessPolicyOptions

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

반환

setMetadata(Metadata, ContainerSetMetadataOptions)

지정된 컨테이너에 대해 하나 이상의 사용자 정의 이름-값 쌍을 설정합니다. 옵션이 제공되지 않거나 매개 변수에 정의된 메타데이터가 없으면 컨테이너 메타데이터가 제거됩니다.

function setMetadata(metadata?: Metadata, options?: ContainerSetMetadataOptions)

매개 변수

metadata
Metadata

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

options
ContainerSetMetadataOptions

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

반환

uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)

새 블록 Blob을 만들거나 기존 블록 Blob의 콘텐츠를 업데이트합니다. 기존 블록 Blob을 업데이트하면 blob에 있는 기존 메타데이터를 덮어씁니다. 부분 업데이트는 지원되지 않습니다. 기존 Blob의 콘텐츠를 새 콘텐츠로 덮어씁니다. 블록 Blob의 부분 업데이트를 수행하려면 및 <xref:BlockBlobClient.commitBlockList>를 사용합니다<xref:BlockBlobClient.stageBlock>.

이 방법은 병렬이 아닌 업로드 방법입니다. 를 사용하거나 <xref:BlockBlobClient.uploadBrowserData> 동시성 업로드를 통해 성능을 향상시키려면 를 사용 <xref:BlockBlobClient.uploadFile><xref:BlockBlobClient.uploadStream> 하세요.

function uploadBlockBlob(blobName: string, body: HttpRequestBody, contentLength: number, options?: BlockBlobUploadOptions)

매개 변수

blobName

string

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

body

HttpRequestBody

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

contentLength

number

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

options
BlockBlobUploadOptions

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

반환

Promise<Object>

블록 Blob은 응답 데이터 및 해당 BlockBlobClient 인스턴스를 업로드합니다.