TableClient class
TableClient は、1 つのテーブルに対して操作を実行できる Azure Tables サービスへのクライアントを表します。
コンストラクター
Table |
TableClient クラスの新しいインスタンスを作成します。 |
Table |
TableClient クラスの新しいインスタンスを作成します。 |
Table |
TableClient のインスタンスを作成します。 |
Table |
TableClient クラスの新しいインスタンスを作成します。 |
プロパティ
pipeline | URL への HTTP 要求を行うパイプラインを表します。 パイプラインには、サーバーに対して行われる前と後の各要求の操作を管理するための複数のポリシーを含めることができます。 |
table |
操作を実行するテーブルの名前。 |
url | テーブル アカウントの URL |
メソッド
create |
テーブルにエンティティを挿入します。 |
create |
クライアント コンストラクターに渡された tableName を使用してテーブルを作成します |
delete |
テーブル内の指定したエンティティを削除します。 |
delete |
すべてのエンティティを含む現在のテーブルを完全に削除します。 |
from |
接続文字列から TableClient のインスタンスを作成します。 |
get |
Shared Access Signature で使用できるテーブルで指定された、格納されているアクセス ポリシーに関する詳細を取得します。 |
get |
テーブル内の 1 つのエンティティを返します。 |
list |
テーブル内のエンティティを照会します。 |
set |
Shared Access Signature で使用できるテーブルの格納されているアクセス ポリシーを設定します。 |
submit |
一連のアクションで構成されるトランザクションを送信します。 アクションを一覧として指定することも、 TableTransaction を使用してトランザクションの構築に役立てることもできます。 使用例:
TableTransaction での使用例:
|
update |
テーブル内のエンティティを更新します。 |
upsert |
テーブル内のエンティティをアップサートします。 |
コンストラクターの詳細
TableClient(string, string, NamedKeyCredential, TableServiceClientOptions)
TableClient クラスの新しいインスタンスを作成します。
new TableClient(url: string, tableName: string, credential: NamedKeyCredential, options?: TableServiceClientOptions)
パラメーター
- url
-
string
"https://myaccount.table.core.windows.net"" など、目的の操作のターゲットであるサービス アカウントの URL。
- tableName
-
string
テーブルの名前
- credential
- NamedKeyCredential
要求の認証に使用される NamedKeyCredential。 ノードでのみサポート
- options
- TableServiceClientOptions
省略可能。 HTTP パイプラインを構成するためのオプション。
アカウント名/キーの使用例:
const { AzureNamedKeyCredential, TableClient } = require("@azure/data-tables");
const account = "<storage account name>";
const accountKey = "<account key>"
const tableName = "<table name>";
const sharedKeyCredential = new AzureNamedKeyCredential(account, accountKey);
const client = new TableClient(
`https://${account}.table.core.windows.net`,
tableName,
sharedKeyCredential
);
TableClient(string, string, SASCredential, TableServiceClientOptions)
TableClient クラスの新しいインスタンスを作成します。
new TableClient(url: string, tableName: string, credential: SASCredential, options?: TableServiceClientOptions)
パラメーター
- url
-
string
"https://myaccount.table.core.windows.net"" など、目的の操作のターゲットであるサービス アカウントの URL。
- tableName
-
string
テーブルの名前
- credential
- SASCredential
要求の認証に使用される SASCredential
- options
- TableServiceClientOptions
省略可能。 HTTP パイプラインを構成するためのオプション。
SAS トークンの使用例:
const { AzureSASCredential, TableClient } = require("@azure/data-tables");
const account = "<storage account name>";
const sasToken = "<sas-token>";
const tableName = "<table name>";
const sasCredential = new AzureSASCredential(sasToken);
const client = new TableClient(
`https://${account}.table.core.windows.net`,
tableName,
sasCredential
);
TableClient(string, string, TableServiceClientOptions)
TableClient のインスタンスを作成します。
new TableClient(url: string, tableName: string, options?: TableServiceClientOptions)
パラメーター
- url
-
string
"https://myaccount.table.core.windows.net" など、Azure Storage テーブル サービスを指すクライアント文字列。 SAS を追加できます (例: "https://myaccount.table.core.windows.net?sasString")。
- tableName
-
string
テーブルの名前
- options
- TableServiceClientOptions
HTTP パイプラインを構成するためのオプション。
SAS トークンを追加する例:
const { TableClient } = require("@azure/data-tables");
const account = "<storage account name>";
const sasToken = "<SAS token>";
const tableName = "<table name>";
const client = new TableClient(
`https://${account}.table.core.windows.net?${sasToken}`,
`${tableName}`
);
TableClient(string, string, TokenCredential, TableServiceClientOptions)
TableClient クラスの新しいインスタンスを作成します。
new TableClient(url: string, tableName: string, credential: TokenCredential, options?: TableServiceClientOptions)
パラメーター
- url
-
string
"https://myaccount.table.core.windows.net"" など、目的の操作のターゲットであるサービス アカウントの URL。
- tableName
-
string
テーブルの名前
- credential
- TokenCredential
要求の認証に使用される Azure Active Directory 資格情報
- options
- TableServiceClientOptions
省略可能。 HTTP パイプラインを構成するためのオプション。
Azure Active Directory 資格情報の使用例:
cons { DefaultAzureCredential } = require("@azure/identity");
const { AzureSASCredential, TableClient } = require("@azure/data-tables");
const account = "<storage account name>";
const sasToken = "<sas-token>";
const tableName = "<table name>";
const credential = new DefaultAzureCredential();
const client = new TableClient(
`https://${account}.table.core.windows.net`,
tableName,
credential
);
プロパティの詳細
pipeline
URL への HTTP 要求を行うパイプラインを表します。 パイプラインには、サーバーに対して行われる前と後の各要求の操作を管理するための複数のポリシーを含めることができます。
pipeline: Pipeline
プロパティ値
tableName
操作を実行するテーブルの名前。
tableName: string
プロパティ値
string
url
テーブル アカウントの URL
url: string
プロパティ値
string
メソッドの詳細
createEntity<T>(TableEntity<T>, OperationOptions)
テーブルにエンティティを挿入します。
function createEntity<T>(entity: TableEntity<T>, options?: OperationOptions): Promise<TableInsertEntityHeaders>
パラメーター
- entity
-
TableEntity<T>
テーブル エンティティのプロパティ。
- options
- OperationOptions
options パラメーター。
エンティティの作成例
const { AzureNamedKeyCredential, TableClient } = require("@azure/data-tables")
const account = "<storage account name>";
const accountKey = "<account key>"
const tableName = "<table name>";
const sharedKeyCredential = new AzureNamedKeyCredential(account, accountKey);
const client = new TableClient(
`https://${account}.table.core.windows.net`,
`${tableName}`,
sharedKeyCredential
);
// partitionKey and rowKey are required properties of the entity to create
// and accepts any other properties
await client.createEntity({partitionKey: "p1", rowKey: "r1", foo: "Hello!"});
戻り値
Promise<TableInsertEntityHeaders>
createTable(OperationOptions)
クライアント コンストラクターに渡された tableName を使用してテーブルを作成します
function createTable(options?: OperationOptions): Promise<void>
パラメーター
- options
- OperationOptions
options パラメーター。
テーブルの作成例
const { AzureNamedKeyCredential, TableClient } = require("@azure/data-tables")
const account = "<storage account name>";
const accountKey = "<account key>"
const tableName = "<table name>";
const sharedKeyCredential = new AzureNamedKeyCredential(account, accountKey);
const client = new TableClient(
`https://${account}.table.core.windows.net`,
`${tableName}`,
sharedKeyCredential
);
// calling create table will create the table used
// to instantiate the TableClient.
// Note: If the table already
// exists this function doesn't throw.
await client.createTable();
戻り値
Promise<void>
deleteEntity(string, string, DeleteTableEntityOptions)
テーブル内の指定したエンティティを削除します。
function deleteEntity(partitionKey: string, rowKey: string, options?: DeleteTableEntityOptions): Promise<TableDeleteEntityHeaders>
パラメーター
- partitionKey
-
string
エンティティのパーティション キー。
- rowKey
-
string
エンティティの行キー。
- options
- DeleteTableEntityOptions
options パラメーター。
エンティティの削除の例
const { AzureNamedKeyCredential, TableClient } = require("@azure/data-tables")
const account = "<storage account name>";
const accountKey = "<account key>"
const tableName = "<table name>";
const sharedKeyCredential = new AzureNamedKeyCredential(account, accountKey);
const client = new TableClient(
`https://${account}.table.core.windows.net`,
`${tableName}`,
sharedKeyCredential
);
// deleteEntity deletes the entity that matches
// exactly the partitionKey and rowKey passed as parameters
await client.deleteEntity("<partitionKey>", "<rowKey>")
戻り値
Promise<TableDeleteEntityHeaders>
deleteTable(OperationOptions)
すべてのエンティティを含む現在のテーブルを完全に削除します。
function deleteTable(options?: OperationOptions): Promise<void>
パラメーター
- options
- OperationOptions
options パラメーター。
テーブルを削除する例
const { AzureNamedKeyCredential, TableClient } = require("@azure/data-tables")
const account = "<storage account name>";
const accountKey = "<account key>"
const tableName = "<table name>";
const sharedKeyCredential = new AzureNamedKeyCredential(account, accountKey);
const client = new TableClient(
`https://${account}.table.core.windows.net`,
`${tableName}`,
sharedKeyCredential
);
// calling deleteTable will delete the table used
// to instantiate the TableClient.
// Note: If the table doesn't exist this function doesn't fail.
await client.deleteTable();
戻り値
Promise<void>
fromConnectionString(string, string, TableServiceClientOptions)
接続文字列から TableClient のインスタンスを作成します。
static function fromConnectionString(connectionString: string, tableName: string, options?: TableServiceClientOptions): TableClient
パラメーター
- connectionString
-
string
アカウント接続文字列または Azure ストレージ アカウントの SAS 接続文字列。
[ 注 - アカウント接続文字列は、NODE.JSランタイムでのみ使用できます。 ] アカウント接続文字列の例 -DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net
SAS 接続文字列の例 - BlobEndpoint=https://myaccount.table.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
- tableName
-
string
- options
- TableServiceClientOptions
HTTP パイプラインを構成するためのオプション。
戻り値
指定された接続文字列の新しい TableClient。
getAccessPolicy(OperationOptions)
Shared Access Signature で使用できるテーブルで指定された、格納されているアクセス ポリシーに関する詳細を取得します。
function getAccessPolicy(options?: OperationOptions): Promise<GetAccessPolicyResponse>
パラメーター
- options
- OperationOptions
options パラメーター。
戻り値
Promise<GetAccessPolicyResponse>
getEntity<T>(string, string, GetTableEntityOptions)
テーブル内の 1 つのエンティティを返します。
function getEntity<T>(partitionKey: string, rowKey: string, options?: GetTableEntityOptions): Promise<GetTableEntityResponse<TableEntityResult<T>>>
パラメーター
- partitionKey
-
string
エンティティのパーティション キー。
- rowKey
-
string
エンティティの行キー。
- options
- GetTableEntityOptions
options パラメーター。
エンティティの取得例
const { AzureNamedKeyCredential, TableClient } = require("@azure/data-tables")
const account = "<storage account name>";
const accountKey = "<account key>"
const tableName = "<table name>";
const sharedKeyCredential = new AzureNamedKeyCredential(account, accountKey);
const client = new TableClient(
`https://${account}.table.core.windows.net`,
`${tableName}`,
sharedKeyCredential
);
// getEntity will get a single entity stored in the service that
// matches exactly the partitionKey and rowKey used as parameters
// to the method.
const entity = await client.getEntity("<partitionKey>", "<rowKey>");
console.log(entity);
戻り値
Promise<GetTableEntityResponse<TableEntityResult<T>>>
listEntities<T>(ListTableEntitiesOptions)
テーブル内のエンティティを照会します。
function listEntities<T>(options?: ListTableEntitiesOptions): PagedAsyncIterableIterator<TableEntityResult<T>, TableEntityResultPage<T>, PageSettings>
パラメーター
- options
- ListTableEntitiesOptions
options パラメーター。
エンティティの一覧表示の例
const { AzureNamedKeyCredential, TableClient } = require("@azure/data-tables")
const account = "<storage account name>";
const accountKey = "<account key>"
const tableName = "<table name>";
const sharedKeyCredential = new AzureNamedKeyCredential(account, accountKey);
const client = new TableClient(
`https://${account}.table.core.windows.net`,
`${tableName}`,
sharedKeyCredential
);
// list entities returns a AsyncIterableIterator
// this helps consuming paginated responses by
// automatically handling getting the next pages
const entities = client.listEntities();
// this loop will get all the entities from all the pages
// returned by the service
for await (const entity of entities) {
console.log(entity);
}
戻り値
setAccessPolicy(SignedIdentifier[], OperationOptions)
Shared Access Signature で使用できるテーブルの格納されているアクセス ポリシーを設定します。
function setAccessPolicy(tableAcl: SignedIdentifier[], options?: OperationOptions): Promise<TableSetAccessPolicyHeaders>
パラメーター
- tableAcl
テーブルのAccess Controlリスト。
- options
- OperationOptions
options パラメーター。
戻り値
Promise<TableSetAccessPolicyHeaders>
submitTransaction(TransactionAction[])
一連のアクションで構成されるトランザクションを送信します。 アクションを一覧として指定することも、 TableTransaction を使用してトランザクションの構築に役立てることもできます。
使用例:
const { TableClient } = require("@azure/data-tables");
const connectionString = "<connection-string>"
const tableName = "<tableName>"
const client = TableClient.fromConnectionString(connectionString, tableName);
const actions = [
["create", {partitionKey: "p1", rowKey: "1", data: "test1"}],
["delete", {partitionKey: "p1", rowKey: "2"}],
["update", {partitionKey: "p1", rowKey: "3", data: "newTest"}, "Merge"]
]
const result = await client.submitTransaction(actions);
TableTransaction での使用例:
const { TableClient } = require("@azure/data-tables");
const connectionString = "<connection-string>"
const tableName = "<tableName>"
const client = TableClient.fromConnectionString(connectionString, tableName);
const transaction = new TableTransaction();
// Call the available action in the TableTransaction object
transaction.create({partitionKey: "p1", rowKey: "1", data: "test1"});
transaction.delete("p1", "2");
transaction.update({partitionKey: "p1", rowKey: "3", data: "newTest"}, "Merge")
// submitTransaction with the actions list on the transaction.
const result = await client.submitTransaction(transaction.actions);
function submitTransaction(actions: TransactionAction[]): Promise<TableTransactionResponse>
パラメーター
- actions
実行するアクションと、アクションを実行するエンティティを含むタプル
戻り値
Promise<TableTransactionResponse>
updateEntity<T>(TableEntity<T>, UpdateMode, UpdateTableEntityOptions)
テーブル内のエンティティを更新します。
function updateEntity<T>(entity: TableEntity<T>, mode?: UpdateMode, options?: UpdateTableEntityOptions): Promise<TableUpdateEntityHeaders>
パラメーター
- entity
-
TableEntity<T>
更新するエンティティのプロパティ。
- mode
- UpdateMode
エンティティを更新するためのさまざまなモード: - マージ: 既存のエンティティを置き換えずにエンティティのプロパティを更新してエンティティを更新します。 - Replace: エンティティ全体を置き換えることによって、既存のエンティティを更新します。
- options
- UpdateTableEntityOptions
options パラメーター。
エンティティの更新例
const { AzureNamedKeyCredential, TableClient } = require("@azure/data-tables")
const account = "<storage account name>";
const accountKey = "<account key>"
const tableName = "<table name>";
const sharedKeyCredential = new AzureNamedKeyCredential(account, accountKey);
const client = new TableClient(
`https://${account}.table.core.windows.net`,
`${tableName}`,
sharedKeyCredential
);
const entity = {partitionKey: "p1", rowKey: "r1", bar: "updatedBar"};
// Update uses update mode "Merge" as default
// merge means that update will match a stored entity
// that has the same partitionKey and rowKey as the entity
// passed to the method and then will only update the properties present in it.
// Any other properties that are not defined in the entity passed to updateEntity
// will remain as they are in the service
await client.updateEntity(entity)
// We can also set the update mode to Replace, which will match the entity passed
// to updateEntity with one stored in the service and replace with the new one.
// If there are any missing properties in the entity passed to updateEntity, they
// will be removed from the entity stored in the service
await client.updateEntity(entity, "Replace")
戻り値
Promise<TableUpdateEntityHeaders>
upsertEntity<T>(TableEntity<T>, UpdateMode, OperationOptions)
テーブル内のエンティティをアップサートします。
function upsertEntity<T>(entity: TableEntity<T>, mode?: UpdateMode, options?: OperationOptions): Promise<TableMergeEntityHeaders>
パラメーター
- entity
-
TableEntity<T>
テーブル エンティティのプロパティ。
- mode
- UpdateMode
エンティティを更新するためのさまざまなモード: - マージ: 既存のエンティティを置き換えずにエンティティのプロパティを更新してエンティティを更新します。 - Replace: エンティティ全体を置き換えることによって、既存のエンティティを更新します。
- options
- OperationOptions
options パラメーター。
エンティティのアップサートの例
const { AzureNamedKeyCredential, TableClient } = require("@azure/data-tables")
const account = "<storage account name>";
const accountKey = "<account key>"
const tableName = "<table name>";
const sharedKeyCredential = new AzureNamedKeyCredential(account, accountKey);
const client = new TableClient(
`https://${account}.table.core.windows.net`,
`${tableName}`,
sharedKeyCredential
);
const entity = {partitionKey: "p1", rowKey: "r1", bar: "updatedBar"};
// Upsert uses update mode "Merge" as default.
// This behaves similarly to update but creates the entity
// if it doesn't exist in the service
await client.upsertEntity(entity)
// We can also set the update mode to Replace.
// This behaves similarly to update but creates the entity
// if it doesn't exist in the service
await client.upsertEntity(entity, "Replace")
戻り値
Promise<TableMergeEntityHeaders>