Поделиться через


TableClient class

TableClient представляет клиент для службы таблиц Azure, что позволяет выполнять операции с одной таблицей.

Конструкторы

TableClient(string, string, NamedKeyCredential, TableServiceClientOptions)

Создает новый экземпляр класса TableClient.

TableClient(string, string, SASCredential, TableServiceClientOptions)

Создает новый экземпляр класса TableClient.

TableClient(string, string, TableServiceClientOptions)

Создает экземпляр TableClient.

TableClient(string, string, TokenCredential, TableServiceClientOptions)

Создает новый экземпляр класса TableClient.

Свойства

pipeline

Представляет конвейер для выполнения HTTP-запроса к URL-адресу. Конвейеры могут иметь несколько политик для управления обработкой каждого запроса до и после его отправки на сервер.

tableName

Имя таблицы для выполнения операций.

url

URL-адрес учетной записи таблицы

Методы

createEntity<T>(TableEntity<T>, OperationOptions)

Вставка сущности в таблицу.

createTable(OperationOptions)

Создает таблицу с tableName, передаваемой в конструктор клиента

deleteEntity(string, string, DeleteTableEntityOptions)

Удаляет указанную сущность в таблице.

deleteTable(OperationOptions)

Безвозвратно удаляет текущую таблицу со всеми ее сущностями.

fromConnectionString(string, string, TableServiceClientOptions)

Создает экземпляр TableClient из строки подключения.

getAccessPolicy(OperationOptions)

Извлекает сведения о всех хранимых политиках доступа, указанных в таблице, которые могут использоваться с подписанными URL-адресами.

getEntity<T>(string, string, GetTableEntityOptions)

Возвращает одну сущность в таблице.

listEntities<T>(ListTableEntitiesOptions)

Запрашивает сущности в таблице.

setAccessPolicy(SignedIdentifier[], OperationOptions)

Задает хранимые политики доступа для таблицы, которые могут использоваться с подписанными URL-адресами.

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);
updateEntity<T>(TableEntity<T>, UpdateMode, UpdateTableEntityOptions)

Обновление сущности в таблице.

upsertEntity<T>(TableEntity<T>, UpdateMode, OperationOptions)

Upsert сущности в таблице.

Сведения о конструкторе

TableClient(string, string, NamedKeyCredential, TableServiceClientOptions)

Создает новый экземпляр класса TableClient.

new TableClient(url: string, tableName: string, credential: NamedKeyCredential, options?: TableServiceClientOptions)

Параметры

url

string

URL-адрес учетной записи службы, которая является целевым объектом требуемой операции, например "https://myaccount.table.core.windows.net".

tableName

string

Имя таблицы.

credential
NamedKeyCredential

NamedKeyCredential, используемый для проверки подлинности запросов. Поддерживается только для Node

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

URL-адрес учетной записи службы, которая является целевым объектом требуемой операции, например "https://myaccount.table.core.windows.net".

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

Строка клиента, указывающая на службу таблиц службы хранилища Azure, например "https://myaccount.table.core.windows.net"". Вы можете добавить 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

URL-адрес учетной записи службы, которая является целевым объектом требуемой операции, например "https://myaccount.table.core.windows.net".

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

Представляет конвейер для выполнения HTTP-запроса к URL-адресу. Конвейеры могут иметь несколько политик для управления обработкой каждого запроса до и после его отправки на сервер.

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

Параметры параметров.

Пример создания сущности

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!"});

Возвращаемое значение

createTable(OperationOptions)

Создает таблицу с tableName, передаваемой в конструктор клиента

function createTable(options?: OperationOptions): Promise<void>

Параметры

options
OperationOptions

Параметры параметров.

Пример создания таблицы

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

Параметры параметров.

Пример удаления сущности

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>")

Возвращаемое значение

deleteTable(OperationOptions)

Безвозвратно удаляет текущую таблицу со всеми ее сущностями.

function deleteTable(options?: OperationOptions): Promise<void>

Параметры

options
OperationOptions

Параметры параметров.

Пример удаления таблицы

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

Строка подключения учетной записи или строка подключения SAS учетной записи хранения Azure. [ Примечание. Строка подключения учетной записи может использоваться только в 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)

Извлекает сведения о всех хранимых политиках доступа, указанных в таблице, которые могут использоваться с подписанными URL-адресами.

function getAccessPolicy(options?: OperationOptions): Promise<GetAccessPolicyResponse>

Параметры

options
OperationOptions

Параметры параметров.

Возвращаемое значение

getEntity<T>(string, string, GetTableEntityOptions)

Возвращает одну сущность в таблице.

function getEntity<T>(partitionKey: string, rowKey: string, options?: GetTableEntityOptions): Promise<GetTableEntityResponse<TableEntityResult<T>>>

Параметры

partitionKey

string

Ключ секции сущности.

rowKey

string

Ключ строки сущности.

options
GetTableEntityOptions

Параметры параметров.

Пример получения сущности

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);

Возвращаемое значение

listEntities<T>(ListTableEntitiesOptions)

Запрашивает сущности в таблице.

function listEntities<T>(options?: ListTableEntitiesOptions): PagedAsyncIterableIterator<TableEntityResult<T>, TableEntityResultPage<T>, PageSettings>

Параметры

options
ListTableEntitiesOptions

Параметры параметров.

Пример перечисления сущностей

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)

Задает хранимые политики доступа для таблицы, которые могут использоваться с подписанными URL-адресами.

function setAccessPolicy(tableAcl: SignedIdentifier[], options?: OperationOptions): Promise<TableSetAccessPolicyHeaders>

Параметры

tableAcl

SignedIdentifier[]

Список контроль доступа для таблицы.

options
OperationOptions

Параметры параметров.

Возвращаемое значение

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

TransactionAction[]

кортеж, содержащий действие, которое необходимо выполнить, и сущность для выполнения действия с

Возвращаемое значение

updateEntity<T>(TableEntity<T>, UpdateMode, UpdateTableEntityOptions)

Обновление сущности в таблице.

function updateEntity<T>(entity: TableEntity<T>, mode?: UpdateMode, options?: UpdateTableEntityOptions): Promise<TableUpdateEntityHeaders>

Параметры

entity

TableEntity<T>

Свойства обновляемой сущности.

mode
UpdateMode

Различные режимы обновления сущности: - Слияние: Обновления сущность путем обновления свойств сущности без замены существующей сущности. — Заменить: Обновления существующую сущность путем замены всей сущности.

options
UpdateTableEntityOptions

Параметры параметров.

Пример обновления сущности

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")

Возвращаемое значение

upsertEntity<T>(TableEntity<T>, UpdateMode, OperationOptions)

Upsert сущности в таблице.

function upsertEntity<T>(entity: TableEntity<T>, mode?: UpdateMode, options?: OperationOptions): Promise<TableMergeEntityHeaders>

Параметры

entity

TableEntity<T>

Свойства сущности таблицы.

mode
UpdateMode

Различные режимы обновления сущности: - Слияние: Обновления сущность путем обновления свойств сущности без замены существующей сущности. — Заменить: Обновления существующую сущность путем замены всей сущности.

options
OperationOptions

Параметры параметров.

Пример upserting сущности

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")

Возвращаемое значение