ContainerClient class

ContainerClient は、その BLOB を操作できる Azure Storage コンテナーへの URL を表します。

Extends

StorageClient

コンストラクター

ContainerClient(string, PipelineLike, BlobClientConfig)

ContainerClient のインスタンスを作成します。 このメソッドは、コンテナーを指す URL を受け入れます。 エンコードされた URL 文字列は 2 回エスケープされず、URL パス内の特殊文字のみがエスケープされます。 BLOB 名に含まれている場合は ? または %、BLOB 名を URL でエンコードする必要があります。

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

ContainerClient のインスタンスを作成します。 このメソッドは、コンテナーを指す URL を受け入れます。 エンコードされた URL 文字列は 2 回エスケープされず、URL パス内の特殊文字のみがエスケープされます。 BLOB 名に含まれている場合は ? または %、BLOB 名を URL でエンコードする必要があります。

ContainerClient(string, string, StoragePipelineOptions)

ContainerClient のインスタンスを作成します。

プロパティ

containerName

コンテナーの名前。

継承されたプロパティ

accountName
credential

AnonymousCredential、StorageSharedKeyCredential、サービスへの要求を認証するための @azure/identity パッケージの資格情報など。 TokenCredential インターフェイスを実装するオブジェクトを指定することもできます。 指定しない場合は、AnonymousCredential が使用されます。

url

エンコードされた URL 文字列値。

メソッド

create(ContainerCreateOptions)

指定したアカウントの下に新しいコンテナーを作成します。 同じ名前のコンテナーが既に存在する場合、操作は失敗します。

https://learn.microsoft.com/rest/api/storageservices/create-container 名前付け規則を参照してください。https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata を参照してください

createIfNotExists(ContainerCreateOptions)

指定したアカウントの下に新しいコンテナーを作成します。 同じ名前のコンテナーが既に存在する場合、変更されません。

https://learn.microsoft.com/rest/api/storageservices/create-container 名前付け規則を参照してください。https://learn.microsoft.com/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata を参照してください

delete(ContainerDeleteMethodOptions)

指定したコンテナーを削除対象としてマークします。 コンテナーとその中に含まれる BLOB は、後でガベージ コレクション中に削除されます。

https://learn.microsoft.com/rest/api/storageservices/delete-container を参照してください

deleteBlob(string, ContainerDeleteBlobOptions)

指定した BLOB またはスナップショットを削除対象としてマークします。 BLOB は後でガベージ コレクション中に削除されます。 BLOB を削除するには、そのすべてのスナップショットを削除する必要があることに注意してください。 BLOB の削除操作では、両方を同時に削除できます。

https://learn.microsoft.com/rest/api/storageservices/delete-blob を参照してください

deleteIfExists(ContainerDeleteMethodOptions)

指定したコンテナーが存在する場合は、削除対象としてマークします。 コンテナーとその中に含まれる BLOB は、後でガベージ コレクション中に削除されます。

https://learn.microsoft.com/rest/api/storageservices/delete-container を参照してください

exists(ContainerExistsOptions)

このクライアントによって表される Azure コンテナー リソースが存在する場合は true を返します。それ以外の場合は false。

注: 既存のコンテナーは他のクライアントまたはアプリケーションによって削除される可能性があるため、この関数は注意して使用してください。 その逆も同じ名前の新しいコンテナーは、この関数の完了後に他のクライアントまたはアプリケーションによって追加される可能性があります。

findBlobsByTags(string, ContainerFindBlobByTagsOptions)

指定したコンテナーの下で、指定したタグを持つすべての BLOB を検索する非同期反復可能な反復子を返します。

.byPage() は、ページ内の BLOB を一覧表示する非同期反復可能な反復子を返します。

for await 構文の使用例:

import { BlobServiceClient } from "@azure/storage-blob";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const blobServiceClient = new BlobServiceClient(
  `https://${account}.blob.core.windows.net`,
  new DefaultAzureCredential(),
);

const containerName = "<container name>";
const containerClient = blobServiceClient.getContainerClient(containerName);

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

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

// Example using `byPage()` syntax
i = 1;
for await (const page of containerClient
  .findBlobsByTags("tagkey='tagvalue'")
  .byPage({ maxPageSize: 20 })) {
  for (const blob of page.blobs) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}

// Example using paging with a marker
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 10 blob names
if (response.blobs) {
  for (const blob of response.blobs) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}
generateSasStringToSign(ContainerGenerateSasUrlOptions)

共有キー資格情報を使用して構築された ContainerClient でのみ使用できます。

渡されたクライアントプロパティとパラメーターに基づいて、BLOB Container Service Shared Access Signature (SAS) URI に署名する文字列を生成します。 SAS は、クライアントの共有キー資格情報によって署名されます。

https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas を参照してください

generateSasUrl(ContainerGenerateSasUrlOptions)

共有キー資格情報を使用して構築された ContainerClient でのみ使用できます。

渡されたクライアントのプロパティとパラメーターに基づいて、BLOB コンテナー サービス Shared Access Signature (SAS) URI を生成します。 SAS は、クライアントの共有キー資格情報によって署名されます。

https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas を参照してください

generateUserDelegationSasStringToSign(ContainerGenerateSasUrlOptions, UserDelegationKey)

渡されたクライアントプロパティとパラメーターに基づいて、BLOB Container Service Shared Access Signature (SAS) URI に署名する文字列を生成します。 SAS は、入力ユーザー委任キーによって署名されます。

https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas を参照してください

generateUserDelegationSasUrl(ContainerGenerateSasUrlOptions, UserDelegationKey)

渡されたクライアントのプロパティとパラメーターに基づいて、BLOB コンテナー サービス Shared Access Signature (SAS) URI を生成します。 SAS は、入力ユーザー委任キーによって署名されます。

https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas を参照してください

getAccessPolicy(ContainerGetAccessPolicyOptions)

指定したコンテナーのアクセス許可を取得します。 アクセス許可は、コンテナー データにパブリックにアクセスできるかどうかを示します。

警告: startsOn 文字列と expiresOn 文字列を解析すると、JavaScript 日付の精度が失われる可能性があります。 たとえば、新しい Date("2018-12-31T03:44:23.8827891Z").toISOString() は "2018-12-31T03:44:23.882Z" を取得します。

https://learn.microsoft.com/rest/api/storageservices/get-container-acl を参照してください

getAccountInfo(ContainerGetAccountInfoOptions)

アカウント情報の取得操作は、指定されたアカウントの SKU 名とアカウントの種類を返します。 アカウント情報の取得操作は、バージョン 2018-03-28 以降のサービス バージョンで使用できます。

https://learn.microsoft.com/rest/api/storageservices/get-account-information を参照してください

getAppendBlobClient(string)

AppendBlobClient を作成します。

getBlobBatchClient()

バッチ操作を実行する BlobBatchClient オブジェクトを作成します。

https://learn.microsoft.com/rest/api/storageservices/blob-batch を参照してください

getBlobClient(string)

BlobClient を作成します

getBlobLeaseClient(string)

コンテナーのリースを管理する BlobLeaseClient を取得します。

getBlockBlobClient(string)

BlockBlobClient を作成します。

getPageBlobClient(string)

PageBlobClient を作成します。

getProperties(ContainerGetPropertiesOptions)

指定したコンテナーのすべてのユーザー定義メタデータとシステム プロパティを返します。 返されるデータには、コンテナーの BLOB の一覧は含まれません。

https://learn.microsoft.com/rest/api/storageservices/get-container-properties を参照してください

警告: 応答で返される metadata オブジェクトのキーは、最初に大文字が含まれていた場合でも小文字になります。 これは、 オプションを使用して BlobServiceClient を する メソッドによって返されるメタデータ キーとは異なり、元の大文字と小文字が保持されます。

listBlobsByHierarchy(string, ContainerListBlobsOptions)

階層ごとにすべての BLOB を一覧表示する非同期反復可能な反復子を返します。 指定したアカウントの下に表示されます。

.byPage() は非同期反復可能な反復子を返し、ページ内の階層別に BLOB を一覧表示します。

import { BlobServiceClient } from "@azure/storage-blob";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const blobServiceClient = new BlobServiceClient(
  `https://${account}.blob.core.windows.net`,
  new DefaultAzureCredential(),
);

const containerName = "<container name>";
const containerClient = blobServiceClient.getContainerClient(containerName);

// Example using `for await` syntax
let i = 1;
const blobs = containerClient.listBlobsByHierarchy("/");
for await (const blob of blobs) {
  if (blob.kind === "prefix") {
    console.log(`\tBlobPrefix: ${blob.name}`);
  } else {
    console.log(`\tBlobItem: name - ${blob.name}`);
  }
}

// Example using `iter.next()` syntax
i = 1;
const iter = containerClient.listBlobsByHierarchy("/");
let { value, done } = await iter.next();
while (!done) {
  if (value.kind === "prefix") {
    console.log(`\tBlobPrefix: ${value.name}`);
  } else {
    console.log(`\tBlobItem: name - ${value.name}`);
  }
  ({ value, done } = await iter.next());
}

// Example using `byPage()` syntax
i = 1;
for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) {
  const segment = page.segment;
  if (segment.blobPrefixes) {
    for (const prefix of segment.blobPrefixes) {
      console.log(`\tBlobPrefix: ${prefix.name}`);
    }
  }
  for (const blob of page.segment.blobItems) {
    console.log(`\tBlobItem: name - ${blob.name}`);
  }
}

// Example using paging with a marker
i = 1;
let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;
// Prints 2 blob names
if (response.blobPrefixes) {
  for (const prefix of response.blobPrefixes) {
    console.log(`\tBlobPrefix: ${prefix.name}`);
  }
}
if (response.segment.blobItems) {
  for (const blob of response.segment.blobItems) {
    console.log(`\tBlobItem: name - ${blob.name}`);
  }
}
// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = containerClient
  .listBlobsByHierarchy("/")
  .byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;
// Prints 10 blob names
if (response.blobPrefixes) {
  for (const prefix of response.blobPrefixes) {
    console.log(`\tBlobPrefix: ${prefix.name}`);
  }
}
if (response.segment.blobItems) {
  for (const blob of response.segment.blobItems) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}
listBlobsFlat(ContainerListBlobsOptions)

指定されたアカウントのすべての BLOB を一覧表示する非同期反復可能な反復子を返します。

.byPage() は、ページ内の BLOB を一覧表示する非同期反復可能な反復子を返します。

import { BlobServiceClient } from "@azure/storage-blob";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const blobServiceClient = new BlobServiceClient(
  `https://${account}.blob.core.windows.net`,
  new DefaultAzureCredential(),
);

const containerName = "<container name>";
const containerClient = blobServiceClient.getContainerClient(containerName);

// Example using `for await` syntax
let i = 1;
const blobs = containerClient.listBlobsFlat();
for await (const blob of blobs) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

// Example using `iter.next()` syntax
i = 1;
const iter = containerClient.listBlobsFlat();
let { value, done } = await iter.next();
while (!done) {
  console.log(`Blob ${i++}: ${value.name}`);
  ({ value, done } = await iter.next());
}

// Example using `byPage()` syntax
i = 1;
for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
  for (const blob of page.segment.blobItems) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}

// Example using paging with a marker
i = 1;
let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;
// Prints 2 blob names
if (response.segment.blobItems) {
  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
if (response.segment.blobItems) {
  for (const blob of response.segment.blobItems) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}
setAccessPolicy(PublicAccessType, SignedIdentifier[], ContainerSetAccessPolicyOptions)

指定したコンテナーのアクセス許可を設定します。 このアクセス許可は、コンテナー内の BLOB にパブリックにアクセスできるかどうかを示します。

コンテナーのアクセス許可を設定すると、既存のアクセス許可が置き換えられます。 アクセスまたは containerAcl が指定されていない場合は、既存のコンテナー ACL が削除されます。

コンテナーに保存されているアクセス ポリシーを確立すると、有効になるまでに最大 30 秒かかる場合があります。 この期間中、保存されているアクセス ポリシーに関連付けられている共有アクセス署名は、アクセス ポリシーがアクティブになるまで、状態コード 403 (禁止) で失敗します。

https://learn.microsoft.com/rest/api/storageservices/set-container-acl を参照してください

setMetadata(Metadata, ContainerSetMetadataOptions)

指定したコンテナーの 1 つ以上のユーザー定義の名前と値のペアを設定します。

オプションが指定されていない場合、またはパラメーターにメタデータが定義されていない場合は、コンテナー メタデータが削除されます。

https://learn.microsoft.com/rest/api/storageservices/set-container-metadata を参照してください

uploadBlockBlob(string, RequestBodyType, number, BlockBlobUploadOptions)

新しいブロック BLOB を作成するか、既存のブロック BLOB のコンテンツを更新します。

既存のブロック BLOB を更新すると、BLOB 上の既存のメタデータが上書きされます。 部分的な更新はサポートされていません。既存の BLOB のコンテンツが新しいコンテンツで上書きされます。 ブロックのblobの部分的な更新を行うには、 BlockBlobClient.stageBlockBlockBlobClient.commitBlockList を使用します。

これは非並列アップロード方式です。同時アップロードの性能向上のために は、BlockBlobClient.uploadFileBlockBlobClient.uploadStream 、または BlockBlobClient.uploadBrowserData を使用してください。

https://learn.microsoft.com/rest/api/storageservices/put-blob を参照してください

コンストラクターの詳細

ContainerClient(string, PipelineLike, BlobClientConfig)

ContainerClient のインスタンスを作成します。 このメソッドは、コンテナーを指す URL を受け入れます。 エンコードされた URL 文字列は 2 回エスケープされず、URL パス内の特殊文字のみがエスケープされます。 BLOB 名に含まれている場合は ? または %、BLOB 名を URL でエンコードする必要があります。

new ContainerClient(url: string, pipeline: PipelineLike, options?: BlobClientConfig)

パラメーター

url

string

"https://myaccount.blob.core.windows.net/mycontainer" など、Azure Storage コンテナーを指す URL 文字列。 "https://myaccount.blob.core.windows.net/mycontainer?sasString" など、AnonymousCredential を使用している場合は SAS を追加できます。

pipeline
PipelineLike

newPipeline() を呼び出して既定のパイプラインを作成するか、カスタマイズされたパイプラインを提供します。

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

ContainerClient のインスタンスを作成します。 このメソッドは、コンテナーを指す URL を受け入れます。 エンコードされた URL 文字列は 2 回エスケープされず、URL パス内の特殊文字のみがエスケープされます。 BLOB 名に含まれている場合は ? または %、BLOB 名を URL でエンコードする必要があります。

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

パラメーター

url

string

"https://myaccount.blob.core.windows.net/mycontainer" など、Azure Storage コンテナーを指す URL 文字列。 "https://myaccount.blob.core.windows.net/mycontainer?sasString" など、AnonymousCredential を使用している場合は SAS を追加できます。

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

AnonymousCredential、StorageSharedKeyCredential、サービスへの要求を認証するための @azure/identity パッケージの資格情報など。 TokenCredential インターフェイスを実装するオブジェクトを指定することもできます。 指定しない場合は、AnonymousCredential が使用されます。

options
ContainerClientOptions

Optional. HTTP パイプラインを構成するためのオプション。

ContainerClient(string, string, StoragePipelineOptions)

ContainerClient のインスタンスを作成します。

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

パラメーター

connectionString

string

アカウント接続文字列または Azure ストレージ アカウントの 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

Optional. HTTP パイプラインを構成するためのオプション。

プロパティの詳細

containerName

コンテナーの名前。

string containerName

プロパティ値

string

継承されたプロパティの詳細

accountName

accountName: string

プロパティ値

string

StorageClient.accountName から継承された

credential

AnonymousCredential、StorageSharedKeyCredential、サービスへの要求を認証するための @azure/identity パッケージの資格情報など。 TokenCredential インターフェイスを実装するオブジェクトを指定することもできます。 指定しない場合は、AnonymousCredential が使用されます。

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

プロパティ値

StorageClient.credential から継承された

url

エンコードされた URL 文字列値。

url: string

プロパティ値

string

StorageClient.url から継承された

メソッドの詳細

create(ContainerCreateOptions)

指定したアカウントの下に新しいコンテナーを作成します。 同じ名前のコンテナーが既に存在する場合、操作は失敗します。

https://learn.microsoft.com/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

コンテナー作成操作のオプション。

使用例:

import { BlobServiceClient } from "@azure/storage-blob";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const blobServiceClient = new BlobServiceClient(
  `https://${account}.blob.core.windows.net`,
  new DefaultAzureCredential(),
);

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

返品

createIfNotExists(ContainerCreateOptions)

指定したアカウントの下に新しいコンテナーを作成します。 同じ名前のコンテナーが既に存在する場合、変更されません。

https://learn.microsoft.com/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://learn.microsoft.com/rest/api/storageservices/delete-container を参照してください

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

パラメーター

options
ContainerDeleteMethodOptions

コンテナー削除操作のオプション。

返品

deleteBlob(string, ContainerDeleteBlobOptions)

指定した BLOB またはスナップショットを削除対象としてマークします。 BLOB は後でガベージ コレクション中に削除されます。 BLOB を削除するには、そのすべてのスナップショットを削除する必要があることに注意してください。 BLOB の削除操作では、両方を同時に削除できます。

https://learn.microsoft.com/rest/api/storageservices/delete-blob を参照してください

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

パラメーター

blobName

string

options
ContainerDeleteBlobOptions

BLOB 削除操作のオプション。

返品

BLOB 削除応答データをブロックします。

deleteIfExists(ContainerDeleteMethodOptions)

指定したコンテナーが存在する場合は、削除対象としてマークします。 コンテナーとその中に含まれる BLOB は、後でガベージ コレクション中に削除されます。

https://learn.microsoft.com/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 構文の使用例:

import { BlobServiceClient } from "@azure/storage-blob";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const blobServiceClient = new BlobServiceClient(
  `https://${account}.blob.core.windows.net`,
  new DefaultAzureCredential(),
);

const containerName = "<container name>";
const containerClient = blobServiceClient.getContainerClient(containerName);

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

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

// Example using `byPage()` syntax
i = 1;
for await (const page of containerClient
  .findBlobsByTags("tagkey='tagvalue'")
  .byPage({ maxPageSize: 20 })) {
  for (const blob of page.blobs) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}

// Example using paging with a marker
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 10 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 クエリ パラメーターの値の正式な文法を定義します。ただし、BLOB サービスでは OData フィルター構文のサブセットのみがサポートされます。

options
ContainerFindBlobByTagsOptions

タグで BLOB を検索するオプション。

返品

generateSasStringToSign(ContainerGenerateSasUrlOptions)

共有キー資格情報を使用して構築された ContainerClient でのみ使用できます。

渡されたクライアントプロパティとパラメーターに基づいて、BLOB Container Service Shared Access Signature (SAS) URI に署名する文字列を生成します。 SAS は、クライアントの共有キー資格情報によって署名されます。

https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas を参照してください

function generateSasStringToSign(options: ContainerGenerateSasUrlOptions): string

パラメーター

options
ContainerGenerateSasUrlOptions

省略可能なパラメーター。

返品

string

このクライアントによって表されるリソースへの URI と、生成された SAS トークンで構成される SAS URI。

generateSasUrl(ContainerGenerateSasUrlOptions)

共有キー資格情報を使用して構築された ContainerClient でのみ使用できます。

渡されたクライアントのプロパティとパラメーターに基づいて、BLOB コンテナー サービス Shared Access Signature (SAS) URI を生成します。 SAS は、クライアントの共有キー資格情報によって署名されます。

https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas を参照してください

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

パラメーター

options
ContainerGenerateSasUrlOptions

省略可能なパラメーター。

返品

Promise<string>

このクライアントによって表されるリソースへの URI と、生成された SAS トークンで構成される SAS URI。

generateUserDelegationSasStringToSign(ContainerGenerateSasUrlOptions, UserDelegationKey)

渡されたクライアントプロパティとパラメーターに基づいて、BLOB Container Service Shared Access Signature (SAS) URI に署名する文字列を生成します。 SAS は、入力ユーザー委任キーによって署名されます。

https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas を参照してください

function generateUserDelegationSasStringToSign(options: ContainerGenerateSasUrlOptions, userDelegationKey: UserDelegationKey): string

パラメーター

options
ContainerGenerateSasUrlOptions

省略可能なパラメーター。

userDelegationKey
UserDelegationKey

blobServiceClient.getUserDelegationKey() の戻り値

返品

string

このクライアントによって表されるリソースへの URI と、生成された SAS トークンで構成される SAS URI。

generateUserDelegationSasUrl(ContainerGenerateSasUrlOptions, UserDelegationKey)

渡されたクライアントのプロパティとパラメーターに基づいて、BLOB コンテナー サービス Shared Access Signature (SAS) URI を生成します。 SAS は、入力ユーザー委任キーによって署名されます。

https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas を参照してください

function generateUserDelegationSasUrl(options: ContainerGenerateSasUrlOptions, userDelegationKey: UserDelegationKey): Promise<string>

パラメーター

options
ContainerGenerateSasUrlOptions

省略可能なパラメーター。

userDelegationKey
UserDelegationKey

blobServiceClient.getUserDelegationKey() の戻り値

返品

Promise<string>

このクライアントによって表されるリソースへの URI と、生成された SAS トークンで構成される SAS URI。

getAccessPolicy(ContainerGetAccessPolicyOptions)

指定したコンテナーのアクセス許可を取得します。 アクセス許可は、コンテナー データにパブリックにアクセスできるかどうかを示します。

警告: startsOn 文字列と expiresOn 文字列を解析すると、JavaScript 日付の精度が失われる可能性があります。 たとえば、新しい Date("2018-12-31T03:44:23.8827891Z").toISOString() は "2018-12-31T03:44:23.882Z" を取得します。

https://learn.microsoft.com/rest/api/storageservices/get-container-acl を参照してください

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

パラメーター

options
ContainerGetAccessPolicyOptions

コンテナーのアクセス ポリシーの取得操作のオプション。

返品

getAccountInfo(ContainerGetAccountInfoOptions)

アカウント情報の取得操作は、指定されたアカウントの SKU 名とアカウントの種類を返します。 アカウント情報の取得操作は、バージョン 2018-03-28 以降のサービス バージョンで使用できます。

https://learn.microsoft.com/rest/api/storageservices/get-account-information を参照してください

function getAccountInfo(options?: ContainerGetAccountInfoOptions): Promise<ContainerGetAccountInfoResponse>

パラメーター

options
ContainerGetAccountInfoOptions

サービスのアカウント情報の取得操作のオプション。

返品

サービスアカウント情報の取得操作の応答データ。

getAppendBlobClient(string)

AppendBlobClient を作成します。

function getAppendBlobClient(blobName: string): AppendBlobClient

パラメーター

blobName

string

追加 BLOB 名

返品

getBlobBatchClient()

バッチ操作を実行する BlobBatchClient オブジェクトを作成します。

https://learn.microsoft.com/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 名

使用例:

import { BlobServiceClient } from "@azure/storage-blob";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const blobServiceClient = new BlobServiceClient(
  `https://${account}.blob.core.windows.net`,
  new DefaultAzureCredential(),
);

const containerName = "<container name>";
const blobName = "<blob name>";
const containerClient = blobServiceClient.getContainerClient(containerName);
const blockBlobClient = containerClient.getBlockBlobClient(blobName);

const content = "Hello world!";
const uploadBlobResponse = await blockBlobClient.upload(content, content.length);

返品

getPageBlobClient(string)

PageBlobClient を作成します。

function getPageBlobClient(blobName: string): PageBlobClient

パラメーター

blobName

string

ページ BLOB 名

返品

getProperties(ContainerGetPropertiesOptions)

指定したコンテナーのすべてのユーザー定義メタデータとシステム プロパティを返します。 返されるデータには、コンテナーの BLOB の一覧は含まれません。

https://learn.microsoft.com/rest/api/storageservices/get-container-properties を参照してください

警告: 応答で返される metadata オブジェクトのキーは、最初に大文字が含まれていた場合でも小文字になります。 これは、 オプションを使用して BlobServiceClient を する メソッドによって返されるメタデータ キーとは異なり、元の大文字と小文字が保持されます。

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

パラメーター

options
ContainerGetPropertiesOptions

Container Get Properties 操作のオプション。

返品

listBlobsByHierarchy(string, ContainerListBlobsOptions)

階層ごとにすべての BLOB を一覧表示する非同期反復可能な反復子を返します。 指定したアカウントの下に表示されます。

.byPage() は非同期反復可能な反復子を返し、ページ内の階層別に BLOB を一覧表示します。

import { BlobServiceClient } from "@azure/storage-blob";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const blobServiceClient = new BlobServiceClient(
  `https://${account}.blob.core.windows.net`,
  new DefaultAzureCredential(),
);

const containerName = "<container name>";
const containerClient = blobServiceClient.getContainerClient(containerName);

// Example using `for await` syntax
let i = 1;
const blobs = containerClient.listBlobsByHierarchy("/");
for await (const blob of blobs) {
  if (blob.kind === "prefix") {
    console.log(`\tBlobPrefix: ${blob.name}`);
  } else {
    console.log(`\tBlobItem: name - ${blob.name}`);
  }
}

// Example using `iter.next()` syntax
i = 1;
const iter = containerClient.listBlobsByHierarchy("/");
let { value, done } = await iter.next();
while (!done) {
  if (value.kind === "prefix") {
    console.log(`\tBlobPrefix: ${value.name}`);
  } else {
    console.log(`\tBlobItem: name - ${value.name}`);
  }
  ({ value, done } = await iter.next());
}

// Example using `byPage()` syntax
i = 1;
for await (const page of containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 20 })) {
  const segment = page.segment;
  if (segment.blobPrefixes) {
    for (const prefix of segment.blobPrefixes) {
      console.log(`\tBlobPrefix: ${prefix.name}`);
    }
  }
  for (const blob of page.segment.blobItems) {
    console.log(`\tBlobItem: name - ${blob.name}`);
  }
}

// Example using paging with a marker
i = 1;
let iterator = containerClient.listBlobsByHierarchy("/").byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;
// Prints 2 blob names
if (response.blobPrefixes) {
  for (const prefix of response.blobPrefixes) {
    console.log(`\tBlobPrefix: ${prefix.name}`);
  }
}
if (response.segment.blobItems) {
  for (const blob of response.segment.blobItems) {
    console.log(`\tBlobItem: name - ${blob.name}`);
  }
}
// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = containerClient
  .listBlobsByHierarchy("/")
  .byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;
// Prints 10 blob names
if (response.blobPrefixes) {
  for (const prefix of response.blobPrefixes) {
    console.log(`\tBlobPrefix: ${prefix.name}`);
  }
}
if (response.segment.blobItems) {
  for (const blob of response.segment.blobItems) {
    console.log(`Blob ${i++}: ${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 を一覧表示する非同期反復可能な反復子を返します。

import { BlobServiceClient } from "@azure/storage-blob";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const blobServiceClient = new BlobServiceClient(
  `https://${account}.blob.core.windows.net`,
  new DefaultAzureCredential(),
);

const containerName = "<container name>";
const containerClient = blobServiceClient.getContainerClient(containerName);

// Example using `for await` syntax
let i = 1;
const blobs = containerClient.listBlobsFlat();
for await (const blob of blobs) {
  console.log(`Blob ${i++}: ${blob.name}`);
}

// Example using `iter.next()` syntax
i = 1;
const iter = containerClient.listBlobsFlat();
let { value, done } = await iter.next();
while (!done) {
  console.log(`Blob ${i++}: ${value.name}`);
  ({ value, done } = await iter.next());
}

// Example using `byPage()` syntax
i = 1;
for await (const page of containerClient.listBlobsFlat().byPage({ maxPageSize: 20 })) {
  for (const blob of page.segment.blobItems) {
    console.log(`Blob ${i++}: ${blob.name}`);
  }
}

// Example using paging with a marker
i = 1;
let iterator = containerClient.listBlobsFlat().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;
// Prints 2 blob names
if (response.segment.blobItems) {
  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
if (response.segment.blobItems) {
  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://learn.microsoft.com/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)

指定したコンテナーの 1 つ以上のユーザー定義の名前と値のペアを設定します。

オプションが指定されていない場合、またはパラメーターにメタデータが定義されていない場合は、コンテナー メタデータが削除されます。

https://learn.microsoft.com/rest/api/storageservices/set-container-metadata を参照してください

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

パラメーター

metadata
Metadata

既存のメタデータをこの値に置き換えます。 値が指定されていない場合、既存のメタデータは削除されます。

options
ContainerSetMetadataOptions

コンテナー セット メタデータ操作のオプション。

返品

uploadBlockBlob(string, RequestBodyType, number, BlockBlobUploadOptions)

新しいブロック BLOB を作成するか、既存のブロック BLOB のコンテンツを更新します。

既存のブロック BLOB を更新すると、BLOB 上の既存のメタデータが上書きされます。 部分的な更新はサポートされていません。既存の BLOB のコンテンツが新しいコンテンツで上書きされます。 ブロックのblobの部分的な更新を行うには、 BlockBlobClient.stageBlockBlockBlobClient.commitBlockList を使用します。

これは非並列アップロード方式です。同時アップロードの性能向上のために は、BlockBlobClient.uploadFileBlockBlobClient.uploadStream 、または BlockBlobClient.uploadBrowserData を使用してください。

https://learn.microsoft.com/rest/api/storageservices/put-blob を参照してください

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

パラメーター

blobName

string

作成または更新するブロック BLOB の名前。

body
HttpRequestBody

BLOB、string、ArrayBuffer、ArrayBufferView、またはオフセットがデータ ソースの先頭からの新しい読み取り可能ストリームを返す関数。

contentLength

number

本文の長さ (バイト単位)。 Buffer.byteLength() を使用して、非 Base64/Hex エンコード文字を含む文字列の本文の長さを計算します。

options
BlockBlobUploadOptions

ブロック BLOB アップロード操作を構成するためのオプション。

返品

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

ブロック BLOB アップロード応答データと対応する BlockBlobClient インスタンス。