ContainerClient class
ContainerClient は、Azure Storage コンテナーへの URL を表し、BLOB を操作できます。
- Extends
コンストラクター
Container |
ContainerClient のインスタンスを作成します。 このメソッドは、コンテナーを指す URL を受け入れます。 エンコードされた URL 文字列は 2 回エスケープされません。URL パス内の特殊文字のみがエスケープされます。 BLOB 名に が含まれている場合は ? または %、BLOB 名は URL でエンコードする必要があります。 |
Container |
ContainerClient のインスタンスを作成します。 このメソッドは、コンテナーを指す URL を受け入れます。 エンコードされた URL 文字列は 2 回エスケープされません。URL パス内の特殊文字のみがエスケープされます。 BLOB 名に が含まれている場合は ? または %、BLOB 名は URL でエンコードする必要があります。 |
Container |
ContainerClient のインスタンスを作成します。 |
プロパティ
account |
|
container |
コンテナーの名前。 |
credential | AnonymousCredential、StorageSharedKeyCredential、またはサービスに対する要求を |
url | エンコードされた URL 文字列値。 |
メソッド
create(Container |
指定したアカウントの下に新しいコンテナーを作成します。 同じ名前のコンテナーが既に存在する場合、操作は失敗します。 |
create |
指定したアカウントの下に新しいコンテナーを作成します。 同じ名前のコンテナーが既に存在する場合、変更されません。 |
delete(Container |
指定したコンテナーに削除のマークを付けます。 コンテナーとその中に含まれている BLOB は、後でガベージ コレクション中に削除されます。 |
delete |
指定した BLOB またはスナップショットに削除のマークを付けます。 BLOB は、後でガベージ コレクション中に削除されます。 BLOB を削除するには、そのスナップショットをすべて削除する必要があります。 BLOB の削除操作では、両方を同時に削除できます。 |
delete |
指定したコンテナーが存在する場合は、削除のマークを付けます。 コンテナーとその中に含まれている BLOB は、後でガベージ コレクション中に削除されます。 |
exists(Container |
このクライアントによって表される Azure コンテナー リソースが存在する場合は true を返します。それ以外の場合は false。 注: 既存のコンテナーは他のクライアントまたはアプリケーションによって削除される可能性があるため、この関数は注意して使用してください。 その逆も同様に、同じ名前の新しいコンテナーは、この関数の完了後に他のクライアントまたはアプリケーションによって追加される場合があります。 |
generate |
共有キー資格情報を使用して構築された ContainerClient でのみ使用できます。 渡されたクライアント のプロパティとパラメーターに基づいて、Blob Container Service Shared Access Signature (SAS) URI を生成します。 SAS は、クライアントの共有キー資格情報によって署名されます。 |
get |
指定したコンテナーのアクセス許可を取得します。 アクセス許可は、コンテナー データがパブリックにアクセス可能かどうかを示します。 警告: startsOn 文字列と expiresOn 文字列を解析すると、JavaScript 日付の精度が失われる可能性があります。 たとえば、新しい Date("2018-12-31T03:44:23.8827891Z").toISOString() は "2018-12-31T03:44:23.882Z" を取得します。 |
get |
を作成します。 <xref:AppendBlobClient> |
get |
バッチ操作を実行する BlobBatchClient オブジェクトを作成します。 |
get |
<xref:BlobClient> を作成します |
get |
コンテナーの <xref:BlobLeaseClient> リースを管理する を取得します。 |
get |
<xref:BlockBlobClient> を作成します |
get |
<xref:PageBlobClient> を作成します |
get |
指定したコンテナーのすべてのユーザー定義メタデータとシステム プロパティを返します。 返されるデータにコンテナーの BLOB 一覧は含まれません。 |
list |
階層ごとにすべての BLOB を一覧表示する非同期反復可能反復子を返します。 指定したアカウントの下に。 .byPage() は非同期反復可能な反復子を返し、BLOB を階層別にページに一覧表示します。 構文を使用する
最大ページ サイズでページングを使用する例:
|
list |
指定したアカウントのすべての BLOB を一覧表示する非同期反復可能反復子を返します。 .byPage() は、ページ内の BLOB を一覧表示する非同期反復可能な反復子を返します。 構文を使用する
マーカーでページングを使用する例:
|
set |
指定したコンテナーのアクセス許可を設定します。 アクセス許可は、コンテナー内の BLOB がパブリックにアクセス可能かどうかを示します。 コンテナーのアクセス許可を設定すると、既存のアクセス許可が置換されます。 アクセスまたは containerAcl が指定されていない場合は、既存のコンテナー ACL が削除されます。 コンテナーに格納されているアクセス ポリシーを確立すると、有効になるまでに最大 30 秒かかる場合があります。 その間、アクセス ポリシーがアクティブになるまでは、保存されているアクセス ポリシーに関連付けられている共有アクセス署名は、ステータス コード 403 (Forbidden) が返されて失敗します。 |
set |
指定したコンテナーの 1 つ以上のユーザー定義の名前と値のペアを設定します。 オプションが指定されていない場合、または パラメーターにメタデータが定義されていない場合は、コンテナー メタデータが削除されます。 |
upload |
新しいブロック BLOB を作成するか、既存のブロック BLOB の内容を更新します。 既存のブロック BLOB を更新すると、BLOB の既存のメタデータは上書きされます。 部分的な更新はサポートされていません。既存の BLOB のコンテンツは、新しいコンテンツで上書きされます。 ブロック BLOB の部分的な更新を実行するには、 と を使用 <xref:BlockBlobClient.stageBlock> します <xref:BlockBlobClient.commitBlockList>。 これは、並列以外のアップロード方法です。コンカレンシー アップロードのパフォーマンスを向上させるには、 を <xref:BlockBlobClient.uploadStream><xref:BlockBlobClient.uploadBrowserData>使用<xref:BlockBlobClient.uploadFile>してください。 |
コンストラクターの詳細
ContainerClient(string, PipelineLike)
ContainerClient のインスタンスを作成します。 このメソッドは、コンテナーを指す URL を受け入れます。 エンコードされた URL 文字列は 2 回エスケープされません。URL パス内の特殊文字のみがエスケープされます。 BLOB 名に が含まれている場合は ? または %、BLOB 名は URL でエンコードする必要があります。
new ContainerClient(url: string, pipeline: PipelineLike)
パラメーター
- url
-
string
"; などhttps://myaccount.blob.core.windows.net/mycontainer"、Azure Storage コンテナーを指す URL 文字列。 AnonymousCredential を使用している場合は、SAS を追加できます (例: "https://myaccount.blob.core.windows.net/mycontainer?sasString")。
- pipeline
- PipelineLike
newPipeline() を呼び出して既定のパイプラインを作成するか、カスタマイズされたパイプラインを指定します。
ContainerClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)
ContainerClient のインスタンスを作成します。 このメソッドは、コンテナーを指す URL を受け入れます。 エンコードされた URL 文字列は 2 回エスケープされません。URL パス内の特殊文字のみがエスケープされます。 BLOB 名に が含まれている場合は ? または %、BLOB 名は URL でエンコードする必要があります。
new ContainerClient(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)
パラメーター
- url
-
string
"; などhttps://myaccount.blob.core.windows.net/mycontainer"、Azure Storage コンテナーを指す URL 文字列。 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 ストレージ アカウントの 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
プロパティ値
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);
戻り値
Promise<ContainerCreateResponse>
createIfNotExists(ContainerCreateOptions)
指定したアカウントの下に新しいコンテナーを作成します。 同じ名前のコンテナーが既に存在する場合、変更されません。
function createIfNotExists(options?: ContainerCreateOptions)
パラメーター
- options
- ContainerCreateOptions
戻り値
Promise<ContainerCreateIfNotExistsResponse>
delete(ContainerDeleteMethodOptions)
指定したコンテナーに削除のマークを付けます。 コンテナーとその中に含まれている BLOB は、後でガベージ コレクション中に削除されます。
function delete(options?: ContainerDeleteMethodOptions)
パラメーター
- options
- ContainerDeleteMethodOptions
コンテナーの削除操作のオプション。
戻り値
Promise<ContainerDeleteResponse>
deleteBlob(string, ContainerDeleteBlobOptions)
指定した BLOB またはスナップショットに削除のマークを付けます。 BLOB は、後でガベージ コレクション中に削除されます。 BLOB を削除するには、そのスナップショットをすべて削除する必要があります。 BLOB の削除操作では、両方を同時に削除できます。
function deleteBlob(blobName: string, options?: ContainerDeleteBlobOptions)
パラメーター
- blobName
-
string
- options
- ContainerDeleteBlobOptions
BLOB 削除操作のオプション。
戻り値
Promise<BlobDeleteResponse>
BLOB 削除応答データをブロックします。
deleteIfExists(ContainerDeleteMethodOptions)
指定したコンテナーが存在する場合は、削除のマークを付けます。 コンテナーとその中に含まれている BLOB は、後でガベージ コレクション中に削除されます。
function deleteIfExists(options?: ContainerDeleteMethodOptions)
パラメーター
- options
- ContainerDeleteMethodOptions
コンテナーの削除操作のオプション。
戻り値
Promise<ContainerDeleteIfExistsResponse>
exists(ContainerExistsOptions)
このクライアントによって表される Azure コンテナー リソースが存在する場合は true を返します。それ以外の場合は false。 注: 既存のコンテナーは他のクライアントまたはアプリケーションによって削除される可能性があるため、この関数は注意して使用してください。 その逆も同様に、同じ名前の新しいコンテナーは、この関数の完了後に他のクライアントまたはアプリケーションによって追加される場合があります。
function exists(options?: ContainerExistsOptions)
パラメーター
- options
- ContainerExistsOptions
戻り値
Promise<boolean>
generateSasUrl(ContainerGenerateSasUrlOptions)
共有キー資格情報を使用して構築された ContainerClient でのみ使用できます。 渡されたクライアント のプロパティとパラメーターに基づいて、Blob Container Service Shared Access Signature (SAS) URI を生成します。 SAS は、クライアントの共有キー資格情報によって署名されます。
function generateSasUrl(options: ContainerGenerateSasUrlOptions)
パラメーター
- options
- ContainerGenerateSasUrlOptions
省略可能なパラメーター。
戻り値
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" を取得します。
function getAccessPolicy(options?: ContainerGetAccessPolicyOptions)
パラメーター
- options
- ContainerGetAccessPolicyOptions
Container Get Access Policy 操作のオプション。
戻り値
Promise<ContainerGetAccessPolicyResponse>
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)
指定したコンテナーのすべてのユーザー定義メタデータとシステム プロパティを返します。 返されるデータにコンテナーの BLOB 一覧は含まれません。
function getProperties(options?: ContainerGetPropertiesOptions)
パラメーター
- options
- ContainerGetPropertiesOptions
Container Get Properties 操作のオプション。
戻り値
Promise<ContainerGetPropertiesResponse>
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 (Forbidden) が返されて失敗します。
function setAccessPolicy(access?: PublicAccessType, containerAcl?: SignedIdentifier[], options?: ContainerSetAccessPolicyOptions)
パラメーター
- access
- PublicAccessType
コンテナー内のデータに対するパブリック アクセスのレベル。
- containerAcl
一意の ID とアクセス ポリシーの詳細を持つ要素の配列。
- options
- ContainerSetAccessPolicyOptions
[コンテナー セット アクセス ポリシー] 操作のオプション。
戻り値
Promise<ContainerSetAccessPolicyResponse>
setMetadata(Metadata, ContainerSetMetadataOptions)
指定したコンテナーの 1 つ以上のユーザー定義の名前と値のペアを設定します。 オプションが指定されていない場合、または パラメーターにメタデータが定義されていない場合は、コンテナー メタデータが削除されます。
function setMetadata(metadata?: Metadata, options?: ContainerSetMetadataOptions)
パラメーター
- metadata
- Metadata
既存のメタデータをこの値に置き換えます。 値が指定されていない場合、既存のメタデータは削除されます。
- options
- ContainerSetMetadataOptions
コンテナー セット メタデータ操作のオプション。
戻り値
Promise<ContainerSetMetadataResponse>
uploadBlockBlob(string, HttpRequestBody, number, BlockBlobUploadOptions)
新しいブロック BLOB を作成するか、既存のブロック BLOB の内容を更新します。 既存のブロック BLOB を更新すると、BLOB の既存のメタデータは上書きされます。 部分的な更新はサポートされていません。既存の BLOB のコンテンツは、新しいコンテンツで上書きされます。 ブロック BLOB の部分的な更新を実行するには、 と を使用 <xref:BlockBlobClient.stageBlock> します <xref:BlockBlobClient.commitBlockList>。
これは、並列以外のアップロード方法です。コンカレンシー アップロードのパフォーマンスを向上させるには、 を <xref:BlockBlobClient.uploadStream><xref:BlockBlobClient.uploadBrowserData>使用<xref:BlockBlobClient.uploadFile>してください。
function uploadBlockBlob(blobName: string, body: HttpRequestBody, contentLength: number, options?: BlockBlobUploadOptions)
パラメーター
- blobName
-
string
作成または更新するブロック BLOB の名前。
- body
-
HttpRequestBody
BLOB、string、ArrayBuffer、ArrayBufferView、またはデータ ソースの先頭からのオフセットを持つ新しい読み取り可能ストリームを返す関数。
- contentLength
-
number
本文の長さ (バイト単位)。 Buffer.byteLength() を使用して、Base64 以外の 16 進エンコード文字を含む文字列の本文の長さを計算します。
- options
- BlockBlobUploadOptions
ブロック BLOB アップロード操作を構成するためのオプション。
戻り値
Promise<Object>
ブロック BLOB アップロード応答データと、対応する BlockBlobClient インスタンス。
Azure SDK for JavaScript