ShareDirectoryClient class
ShareDirectoryClient は、Azure Storage ディレクトリへの URL を表し、そのファイルとディレクトリを操作できます。
- Extends
コンストラクター
Share |
DirectoryClient のインスタンスを作成します。 |
Share |
DirectoryClient のインスタンスを作成します。 |
プロパティ
name | ディレクトリの名前 |
path | ディレクトリの完全なパス |
share |
このディレクトリ クライアントに対応する共有名 |
継承されたプロパティ
account |
|
url | URL 文字列値。 |
メソッド
create(Directory |
指定した共有ディレクトリまたは親ディレクトリの下に新しいディレクトリを作成します。 「https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory」を参照してください。 |
create |
新しいファイルを作成するか、このディレクトリの下のファイルを置き換えます。 これは、コンテンツを含まないファイルのみを初期化します。 「https://docs.microsoft.com/en-us/rest/api/storageservices/create-file」を参照してください。 |
create |
指定した共有ディレクトリまたは親ディレクトリが存在しない場合は、新しいディレクトリを作成します。 ディレクトリが既に存在する場合は、変更されません。 「https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory」を参照してください。 |
create |
このディレクトリの下に新しいサブディレクトリを作成します。 「https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory」を参照してください。 |
delete(Directory |
指定した空のディレクトリを削除します。 ディレクトリを空にしてから削除する必要があることに注意してください。 「https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory」を参照してください。 |
delete |
このディレクトリの指定したファイルをストレージ アカウントから削除します。 正常に削除されたファイルは、その時点でストレージ アカウントのインデックスから削除され、クライアントからアクセスできなくなります。 ファイルのデータは、後でガベージ コレクション中にサービスから削除されます。 ファイルが SMB クライアントで開かれている場合、ファイルの削除は状態コード 409 (競合) とエラー コード SharingViolation で失敗します。 共有スナップショット (共有の読み取り専用コピー) では、ファイルの削除はサポートされていません。 共有スナップショットでこの操作を実行しようとすると、400 (InvalidQueryParameterValue) で失敗します 「https://docs.microsoft.com/en-us/rest/api/storageservices/delete-file2」を参照してください。 |
delete |
指定した空のディレクトリが存在する場合は削除します。 ディレクトリを空にしてから削除する必要があることに注意してください。 「https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory」を参照してください。 |
delete |
このディレクトリの下にある指定された空のサブディレクトリを削除します。 ディレクトリを空にしてから削除する必要があることに注意してください。 「https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory」を参照してください。 |
exists(Directory |
指定したディレクトリが存在する場合は true を返します。それ以外の場合は false。 注: 既存のディレクトリは他のクライアントまたはアプリケーションによって削除される可能性があるため、この関数は注意して使用してください。 その逆も同様に、この関数の完了後に、他のクライアントまたはアプリケーションによって新しいディレクトリが追加される可能性があります。 |
force |
ディレクトリのすべてのハンドルを強制的に閉じます。 「https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles」を参照してください。 |
force |
ディレクトリの特定のハンドルを強制的に閉じます。 「https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles」を参照してください。 |
get |
サブディレクトリの ShareDirectoryClient オブジェクトを作成します。 |
get |
ShareFileClient オブジェクトを作成します。 |
get |
指定したディレクトリのすべてのシステム プロパティを返します。また、ディレクトリの存在を確認するために使用することもできます。 返されるデータには、ディレクトリやサブディレクトリのファイルは含まれません。 「https://docs.microsoft.com/en-us/rest/api/storageservices/get-directory-properties」を参照してください。 |
list |
指定したアカウントのすべてのファイルとディレクトリを一覧表示する非同期反復可能な反復子を返します。 .byPage() は非同期反復可能な反復子を返し、ページ内のファイルとディレクトリを一覧表示します。 構文を使用する
マーカーでページングを使用する例:
|
list |
すべてのハンドルを一覧表示する非同期反復可能な反復子を返します。 指定したアカウントの下に。 .byPage() は非同期反復可能な反復子を返し、ページ内のハンドルを一覧表示します。 構文を使用する
マーカーでページングを使用する例:
|
rename(string, Directory |
ディレクトリ名を変更します。 この API では、同じ共有内のディレクトリの名前変更のみがサポートされます。 |
set |
指定したディレクトリのユーザー定義メタデータを更新します。 「https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-metadata」を参照してください。 |
set |
ディレクトリのプロパティを設定します。 「https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-properties」を参照してください。 |
コンストラクターの詳細
ShareDirectoryClient(string, Credential_2, StoragePipelineOptions)
DirectoryClient のインスタンスを作成します。
new ShareDirectoryClient(url: string, credential?: Credential_2, options?: StoragePipelineOptions)
パラメーター
- url
-
string
"; などhttps://myaccount.file.core.windows.net/myshare/mydirectory"、Azure Storage ファイル ディレクトリを指す URL 文字列。 AnonymousCredential を使用している場合は、SAS を追加できます (例: "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString")。 このメソッドは、ディレクトリを指すエンコードされた URL またはエンコードされていない URL を受け入れます。 エンコードされた URL 文字列は 2 回エスケープされません。URL パス内の特殊文字のみがエスケープされます。 ただし、ディレクトリ名に %が含まれている場合は、URL でディレクトリ名をエンコードする必要があります。 "mydir%" という名前のディレクトリなど、URL は "https://myaccount.file.core.windows.net/myshare/mydir%25"" である必要があります。
- credential
- Credential_2
AnonymousCredential や StorageSharedKeyCredential など。 指定しない場合は、AnonymousCredential が使用されます。
- options
- StoragePipelineOptions
省略可能。 HTTP パイプラインを構成するためのオプション。
ShareDirectoryClient(string, Pipeline)
DirectoryClient のインスタンスを作成します。
new ShareDirectoryClient(url: string, pipeline: Pipeline)
パラメーター
- url
-
string
"; などhttps://myaccount.file.core.windows.net/myshare/mydirectory"、Azure Storage ファイル ディレクトリを指す URL 文字列。 AnonymousCredential を使用している場合は、SAS を追加できます (例: "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString")。 このメソッドは、ディレクトリを指すエンコードされた URL またはエンコードされていない URL を受け入れます。 エンコードされた URL 文字列は 2 回エスケープされません。URL パス内の特殊文字のみがエスケープされます。 ただし、ディレクトリ名に %が含まれている場合は、URL でディレクトリ名をエンコードする必要があります。 "mydir%" という名前のディレクトリなど、URL は "https://myaccount.file.core.windows.net/myshare/mydir%25"" である必要があります。
- pipeline
- Pipeline
newPipeline() を呼び出して既定のパイプラインを作成するか、カスタマイズされたパイプラインを指定します。
プロパティの詳細
name
ディレクトリの名前
string name
プロパティ値
string
path
ディレクトリの完全なパス
string path
プロパティ値
string
shareName
このディレクトリ クライアントに対応する共有名
string shareName
プロパティ値
string
継承されたプロパティの詳細
accountName
url
メソッドの詳細
create(DirectoryCreateOptions)
指定した共有ディレクトリまたは親ディレクトリの下に新しいディレクトリを作成します。
「https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory」を参照してください。
function create(options?: DirectoryCreateOptions): Promise<DirectoryCreateResponse>
パラメーター
- options
- DirectoryCreateOptions
[ディレクトリの作成] 操作のオプション。
戻り値
Promise<DirectoryCreateResponse>
ディレクトリ操作の応答データ。
createFile(string, number, FileCreateOptions)
新しいファイルを作成するか、このディレクトリの下のファイルを置き換えます。 これは、コンテンツを含まないファイルのみを初期化します。
「https://docs.microsoft.com/en-us/rest/api/storageservices/create-file」を参照してください。
function createFile(fileName: string, size: number, options?: FileCreateOptions): Promise<{ fileClient: ShareFileClient, fileCreateResponse: FileCreateResponse }>
パラメーター
- fileName
-
string
- size
-
number
ファイルの最大サイズ (最大 4 TB) をバイト単位で指定します。
- options
- FileCreateOptions
[ファイルの作成] 操作のオプション。
戻り値
Promise<{ fileClient: ShareFileClient, fileCreateResponse: FileCreateResponse }>
ファイル作成応答データと、対応するファイル クライアント。
createIfNotExists(DirectoryCreateOptions)
指定した共有ディレクトリまたは親ディレクトリが存在しない場合は、新しいディレクトリを作成します。 ディレクトリが既に存在する場合は、変更されません。
「https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory」を参照してください。
function createIfNotExists(options?: DirectoryCreateOptions): Promise<DirectoryCreateIfNotExistsResponse>
パラメーター
- options
- DirectoryCreateOptions
戻り値
Promise<DirectoryCreateIfNotExistsResponse>
createSubdirectory(string, DirectoryCreateOptions)
このディレクトリの下に新しいサブディレクトリを作成します。
「https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory」を参照してください。
function createSubdirectory(directoryName: string, options?: DirectoryCreateOptions): Promise<{ directoryClient: ShareDirectoryClient, directoryCreateResponse: DirectoryCreateResponse }>
パラメーター
- directoryName
-
string
- options
- DirectoryCreateOptions
[ディレクトリの作成] 操作のオプション。
戻り値
Promise<{ directoryClient: ShareDirectoryClient, directoryCreateResponse: DirectoryCreateResponse }>
ディレクトリは応答データと対応する DirectoryClient インスタンスを作成します。
delete(DirectoryDeleteOptions)
指定した空のディレクトリを削除します。 ディレクトリを空にしてから削除する必要があることに注意してください。
「https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory」を参照してください。
function delete(options?: DirectoryDeleteOptions): Promise<DirectoryDeleteResponse>
パラメーター
- options
- DirectoryDeleteOptions
ディレクトリ削除操作のオプション。
戻り値
Promise<DirectoryDeleteResponse>
ディレクトリ削除操作の応答データ。
deleteFile(string, FileDeleteOptions)
このディレクトリの指定したファイルをストレージ アカウントから削除します。 正常に削除されたファイルは、その時点でストレージ アカウントのインデックスから削除され、クライアントからアクセスできなくなります。 ファイルのデータは、後でガベージ コレクション中にサービスから削除されます。 ファイルが SMB クライアントで開かれている場合、ファイルの削除は状態コード 409 (競合) とエラー コード SharingViolation で失敗します。
共有スナップショット (共有の読み取り専用コピー) では、ファイルの削除はサポートされていません。 共有スナップショットでこの操作を実行しようとすると、400 (InvalidQueryParameterValue) で失敗します
「https://docs.microsoft.com/en-us/rest/api/storageservices/delete-file2」を参照してください。
function deleteFile(fileName: string, options?: FileDeleteOptions): Promise<FileDeleteResponse>
パラメーター
- fileName
-
string
削除するファイルの名前
- options
- FileDeleteOptions
[ファイルの削除] 操作のオプション。
戻り値
Promise<FileDeleteResponse>
ファイル削除応答データ。
deleteIfExists(DirectoryDeleteOptions)
指定した空のディレクトリが存在する場合は削除します。 ディレクトリを空にしてから削除する必要があることに注意してください。
「https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory」を参照してください。
function deleteIfExists(options?: DirectoryDeleteOptions): Promise<DirectoryDeleteIfExistsResponse>
パラメーター
- options
- DirectoryDeleteOptions
戻り値
Promise<DirectoryDeleteIfExistsResponse>
deleteSubdirectory(string, DirectoryDeleteOptions)
このディレクトリの下にある指定された空のサブディレクトリを削除します。 ディレクトリを空にしてから削除する必要があることに注意してください。
「https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory」を参照してください。
function deleteSubdirectory(directoryName: string, options?: DirectoryDeleteOptions): Promise<DirectoryDeleteResponse>
パラメーター
- directoryName
-
string
- options
- DirectoryDeleteOptions
ディレクトリ削除操作のオプション。
戻り値
Promise<DirectoryDeleteResponse>
ディレクトリ削除応答データ。
exists(DirectoryExistsOptions)
指定したディレクトリが存在する場合は true を返します。それ以外の場合は false。 注: 既存のディレクトリは他のクライアントまたはアプリケーションによって削除される可能性があるため、この関数は注意して使用してください。 その逆も同様に、この関数の完了後に、他のクライアントまたはアプリケーションによって新しいディレクトリが追加される可能性があります。
function exists(options?: DirectoryExistsOptions): Promise<boolean>
パラメーター
- options
- DirectoryExistsOptions
オプションを [Exists]\(存在する\) 操作に設定します。
戻り値
Promise<boolean>
forceCloseAllHandles(DirectoryForceCloseHandlesSegmentOptions)
ディレクトリのすべてのハンドルを強制的に閉じます。
「https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles」を参照してください。
function forceCloseAllHandles(options?: DirectoryForceCloseHandlesSegmentOptions): Promise<CloseHandlesInfo>
パラメーター
戻り値
Promise<CloseHandlesInfo>
forceCloseHandle(string, DirectoryForceCloseHandlesOptions)
ディレクトリの特定のハンドルを強制的に閉じます。
「https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles」を参照してください。
function forceCloseHandle(handleId: string, options?: DirectoryForceCloseHandlesOptions): Promise<DirectoryForceCloseHandlesResponse>
パラメーター
- handleId
-
string
特定のハンドル ID は、アスタリスク "*" にすることはできません。 forceCloseHandlesSegment() を使用して、すべてのハンドルを閉じます。
戻り値
Promise<DirectoryForceCloseHandlesResponse>
getDirectoryClient(string)
サブディレクトリの ShareDirectoryClient オブジェクトを作成します。
function getDirectoryClient(subDirectoryName: string): ShareDirectoryClient
パラメーター
- subDirectoryName
-
string
サブディレクトリ名
戻り値
指定したサブディレクトリ名の ShareDirectoryClient オブジェクト。
使用例:
const directoryClient = shareClient.getDirectoryClient("<directory name>");
await directoryClient.create();
console.log("Created directory successfully");
getFileClient(string)
ShareFileClient オブジェクトを作成します。
function getFileClient(fileName: string): ShareFileClient
パラメーター
- fileName
-
string
ファイル名。
戻り値
指定したファイル名の新しい ShareFileClient オブジェクト。
使用例:
const content = "Hello world!"
const fileClient = directoryClient.getFileClient("<file name>");
await fileClient.create(content.length);
console.log("Created file successfully!");
await fileClient.uploadRange(content, 0, content.length);
console.log("Updated file successfully!")
getProperties(DirectoryGetPropertiesOptions)
指定したディレクトリのすべてのシステム プロパティを返します。また、ディレクトリの存在を確認するために使用することもできます。 返されるデータには、ディレクトリやサブディレクトリのファイルは含まれません。
「https://docs.microsoft.com/en-us/rest/api/storageservices/get-directory-properties」を参照してください。
function getProperties(options?: DirectoryGetPropertiesOptions): Promise<DirectoryGetPropertiesResponse>
パラメーター
- options
- DirectoryGetPropertiesOptions
[ディレクトリのプロパティの取得] 操作のオプション。
戻り値
Promise<DirectoryGetPropertiesResponse>
ディレクトリのプロパティの取得操作の応答データ。
listFilesAndDirectories(DirectoryListFilesAndDirectoriesOptions)
指定したアカウントのすべてのファイルとディレクトリを一覧表示する非同期反復可能な反復子を返します。 .byPage() は非同期反復可能な反復子を返し、ページ内のファイルとディレクトリを一覧表示します。
構文を使用する for await
例:
let i = 1;
for await (const entity of directoryClient.listFilesAndDirectories()) {
if (entity.kind === "directory") {
console.log(`${i++} - directory\t: ${entity.name}`);
} else {
console.log(`${i++} - file\t: ${entity.name}`);
}
}
iter.next()
の使用例:
let i = 1;
let iter = directoryClient.listFilesAndDirectories();
let entity = await iter.next();
while (!entity.done) {
if (entity.value.kind === "directory") {
console.log(`${i++} - directory\t: ${entity.value.name}`);
} else {
console.log(`${i++} - file\t: ${entity.value.name}`);
}
entity = await iter.next();
}
byPage()
の使用例:
// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of directoryClient
.listFilesAndDirectories()
.byPage({ maxPageSize: 20 })) {
for (const fileItem of response.segment.fileItems) {
console.log(`${i++} - file\t: ${fileItem.name}`);
}
for (const dirItem of response.segment.directoryItems) {
console.log(`${i++} - directory\t: ${dirItem.name}`);
}
}
マーカーでページングを使用する例:
let i = 1;
let iterator = directoryClient.listFilesAndDirectories().byPage({ maxPageSize: 3 });
let response = (await iterator.next()).value;
// Prints 3 file and directory names
for (const fileItem of response.segment.fileItems) {
console.log(`${i++} - file\t: ${fileItem.name}`);
}
for (const dirItem of response.segment.directoryItems) {
console.log(`${i++} - directory\t: ${dirItem.name}`);
}
// Gets next marker
let dirMarker = response.continuationToken;
// Passing next marker as continuationToken
iterator = directoryClient
.listFilesAndDirectories()
.byPage({ continuationToken: dirMarker, maxPageSize: 4 });
response = (await iterator.next()).value;
// Prints 10 file and directory names
for (const fileItem of response.segment.fileItems) {
console.log(`${i++} - file\t: ${fileItem.name}`);
}
for (const dirItem of response.segment.directoryItems) {
console.log(`${i++} - directory\t: ${dirItem.name}`);
}
function listFilesAndDirectories(options?: DirectoryListFilesAndDirectoriesOptions): PagedAsyncIterableIterator<({ kind: "file" } & FileItem) | ({ kind: "directory" } & DirectoryItem), DirectoryListFilesAndDirectoriesSegmentResponse>
パラメーター
ファイルとディレクトリの操作を一覧表示するオプション。
戻り値
PagedAsyncIterableIterator<({ kind: "file" } & FileItem) | ({ kind: "directory" } & DirectoryItem), DirectoryListFilesAndDirectoriesSegmentResponse>
ページングをサポートする asyncIterableIterator。
listHandles(DirectoryListHandlesOptions)
すべてのハンドルを一覧表示する非同期反復可能な反復子を返します。 指定したアカウントの下に。 .byPage() は非同期反復可能な反復子を返し、ページ内のハンドルを一覧表示します。
構文を使用する for await
例:
let i = 1;
let iter = dirClient.listHandles();
for await (const handle of iter) {
console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
}
iter.next()
の使用例:
let i = 1;
let iter = dirClient.listHandles();
let handleItem = await iter.next();
while (!handleItem.done) {
console.log(`Handle ${i++}: ${handleItem.value.path}, opened time ${handleItem.value.openTime}, clientIp ${handleItem.value.clientIp}`);
handleItem = await iter.next();
}
byPage()
の使用例:
// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of dirClient.listHandles({ recursive: true }).byPage({ maxPageSize: 20 })) {
if (response.handleList) {
for (const handle of response.handleList) {
console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
}
}
}
マーカーでページングを使用する例:
let i = 1;
let iterator = dirClient.listHandles().byPage({ maxPageSize: 2 });
let response = await iterator.next();
// Prints 2 handles
if (response.value.handleList) {
for (const handle of response.value.handleList) {
console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
}
}
// Gets next marker
let marker = response.value.continuationToken;
// Passing next marker as continuationToken
console.log(` continuation`);
iterator = dirClient.listHandles().byPage({ continuationToken: marker, maxPageSize: 10 });
response = await iterator.next();
// Prints 2 more handles assuming you have more than four directory/files opened
if (!response.done && response.value.handleList) {
for (const handle of response.value.handleList) {
console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
}
}
function listHandles(options?: DirectoryListHandlesOptions): PagedAsyncIterableIterator<HandleItem, DirectoryListHandlesResponse>
パラメーター
戻り値
PagedAsyncIterableIterator<HandleItem, DirectoryListHandlesResponse>
rename(string, DirectoryRenameOptions)
ディレクトリ名を変更します。 この API では、同じ共有内のディレクトリの名前変更のみがサポートされます。
function rename(destinationPath: string, options?: DirectoryRenameOptions): Promise<{ destinationDirectoryClient: ShareDirectoryClient, directoryRenameResponse: DirectoryRenameResponse }>
パラメーター
- destinationPath
-
string
名前を変更する宛先パスを指定します。 パスは、宛先を指定する URL に配置するようにエンコードされます。
- options
- DirectoryRenameOptions
名前変更操作のオプション。
戻り値
Promise<{ destinationDirectoryClient: ShareDirectoryClient, directoryRenameResponse: DirectoryRenameResponse }>
ファイル名変更操作の応答データ。
使用例:
// Rename the directory
await diretoryClient.rename(destinationPath);
console.log("Renamed directory successfully!");
setMetadata(Metadata, DirectorySetMetadataOptions)
指定したディレクトリのユーザー定義メタデータを更新します。
「https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-metadata」を参照してください。
function setMetadata(metadata?: Metadata, options?: DirectorySetMetadataOptions): Promise<DirectorySetMetadataResponse>
パラメーター
- metadata
- Metadata
メタデータが指定されていない場合、既存のすべてのディレクトリ メタデータが削除されます
- options
- DirectorySetMetadataOptions
[ディレクトリ セット メタデータ] 操作のオプション。
戻り値
Promise<DirectorySetMetadataResponse>
ディレクトリ セット メタデータ操作の応答データ。
setProperties(DirectoryProperties)
ディレクトリのプロパティを設定します。
「https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-properties」を参照してください。
function setProperties(properties?: DirectoryProperties): Promise<DirectorySetPropertiesResponse>
パラメーター
- properties
- DirectoryProperties
戻り値
Promise<DirectorySetPropertiesResponse>