Condividi tramite


TableClient class

TableClient rappresenta un client per il servizio Tabelle di Azure che consente di eseguire operazioni su una singola tabella.

Costruttori

TableClient(string, string, NamedKeyCredential, TableServiceClientOptions)

Crea una nuova istanza della classe TableClient.

TableClient(string, string, SASCredential, TableServiceClientOptions)

Crea una nuova istanza della classe TableClient.

TableClient(string, string, TableServiceClientOptions)

Crea un'istanza di TableClient.

TableClient(string, string, TokenCredential, TableServiceClientOptions)

Crea una nuova istanza della classe TableClient.

Proprietà

pipeline

Rappresenta una pipeline per l'esecuzione di una richiesta HTTP a un URL. Le pipeline possono avere più criteri per gestire la modifica di ogni richiesta prima e dopo che è stata effettuata al server.

tableName

Nome della tabella su cui eseguire operazioni.

url

URL account tabella

Metodi

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

Inserire l'entità nella tabella.

createTable(OperationOptions)

Crea una tabella con tableName passato al costruttore client

deleteEntity(string, string, DeleteTableEntityOptions)

Elimina l'entità specificata nella tabella.

deleteTable(OperationOptions)

Elimina definitivamente la tabella corrente con tutte le relative entità.

fromConnectionString(string, string, TableServiceClientOptions)

Crea un'istanza di TableClient dalla stringa di connessione.

getAccessPolicy(OperationOptions)

Recupera informazioni dettagliate sui criteri di accesso archiviati specificati nella tabella che possono essere usati con firme di accesso condiviso.

getEntity<T>(string, string, GetTableEntityOptions)

Restituisce una singola entità nella tabella.

listEntities<T>(ListTableEntitiesOptions)

Esegue query sulle entità in una tabella.

setAccessPolicy(SignedIdentifier[], OperationOptions)

Imposta i criteri di accesso archiviati per la tabella che può essere utilizzata con le firme di accesso condiviso.

submitTransaction(TransactionAction[])

Invia una transazione composta da un set di azioni. È possibile specificare le azioni come elenco oppure è possibile usare TableTransaction per facilitare la compilazione della transazione.

Esempio di utilizzo:

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

Esempio di utilizzo con 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)

Aggiornare un'entità nella tabella.

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

Upsert di un'entità nella tabella.

Dettagli costruttore

TableClient(string, string, NamedKeyCredential, TableServiceClientOptions)

Crea una nuova istanza della classe TableClient.

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

Parametri

url

string

URL dell'account del servizio di destinazione dell'operazione desiderata, ad esempio "https://myaccount.table.core.windows.net".

tableName

string

nome della tabella

credential
NamedKeyCredential

NamedKeyCredential usato per autenticare le richieste. Supportato solo per Node

options
TableServiceClientOptions

Facoltativa. Opzioni per configurare la pipeline HTTP.

Esempio di uso di un nome account/chiave:

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)

Crea una nuova istanza della classe TableClient.

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

Parametri

url

string

URL dell'account del servizio di destinazione dell'operazione desiderata, ad esempio "https://myaccount.table.core.windows.net".

tableName

string

nome della tabella

credential
SASCredential

SASCredential usato per autenticare le richieste

options
TableServiceClientOptions

Facoltativa. Opzioni per configurare la pipeline HTTP.

Esempio di uso di un token di firma di accesso condiviso:

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)

Crea un'istanza di TableClient.

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

Parametri

url

string

Stringa client che punta al servizio tabelle di Archiviazione di Azure, ad esempio "https://myaccount.table.core.windows.net". È possibile aggiungere una firma di accesso condiviso, ad esempio "https://myaccount.table.core.windows.net?sasString".

tableName

string

nome della tabella

options
TableServiceClientOptions

Opzioni per configurare la pipeline HTTP.

Esempio di aggiunta di un token di firma di accesso condiviso:

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)

Crea una nuova istanza della classe TableClient.

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

Parametri

url

string

URL dell'account del servizio di destinazione dell'operazione desiderata, ad esempio "https://myaccount.table.core.windows.net".

tableName

string

nome della tabella

credential
TokenCredential

Credenziali di Azure Active Directory usate per autenticare le richieste

options
TableServiceClientOptions

Facoltativa. Opzioni per configurare la pipeline HTTP.

Esempio di uso di credenziali di 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
);

Dettagli proprietà

pipeline

Rappresenta una pipeline per l'esecuzione di una richiesta HTTP a un URL. Le pipeline possono avere più criteri per gestire la modifica di ogni richiesta prima e dopo che è stata effettuata al server.

pipeline: Pipeline

Valore della proprietà

tableName

Nome della tabella su cui eseguire operazioni.

tableName: string

Valore della proprietà

string

url

URL account tabella

url: string

Valore della proprietà

string

Dettagli metodo

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

Inserire l'entità nella tabella.

function createEntity<T>(entity: TableEntity<T>, options?: OperationOptions): Promise<TableInsertEntityHeaders>

Parametri

entity

TableEntity<T>

Proprietà per l'entità di tabella.

options
OperationOptions

Parametri delle opzioni.

Esempio di creazione di un'entità

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

Restituisce

createTable(OperationOptions)

Crea una tabella con tableName passato al costruttore client

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

Parametri

options
OperationOptions

Parametri delle opzioni.

Esempio di creazione di una tabella

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

Restituisce

Promise<void>

deleteEntity(string, string, DeleteTableEntityOptions)

Elimina l'entità specificata nella tabella.

function deleteEntity(partitionKey: string, rowKey: string, options?: DeleteTableEntityOptions): Promise<TableDeleteEntityHeaders>

Parametri

partitionKey

string

Chiave di partizione dell'entità.

rowKey

string

Chiave di riga dell'entità.

options
DeleteTableEntityOptions

Parametri delle opzioni.

Esempio di eliminazione di un'entità

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

Restituisce

deleteTable(OperationOptions)

Elimina definitivamente la tabella corrente con tutte le relative entità.

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

Parametri

options
OperationOptions

Parametri delle opzioni.

Esempio di eliminazione di una tabella

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

Restituisce

Promise<void>

fromConnectionString(string, string, TableServiceClientOptions)

Crea un'istanza di TableClient dalla stringa di connessione.

static function fromConnectionString(connectionString: string, tableName: string, options?: TableServiceClientOptions): TableClient

Parametri

connectionString

string

Stringa di connessione dell'account o stringa di connessione sas di un account di archiviazione di Azure. [ Nota: la stringa di connessione dell'account può essere usata solo in NODE.JS runtime. ] Esempio di stringa di connessione dell'account -DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net Esempio di stringa di connessione di firma di accesso condiviso - 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

Opzioni per configurare la pipeline HTTP.

Restituisce

Nuovo TableClient dalla stringa di connessione specificata.

getAccessPolicy(OperationOptions)

Recupera informazioni dettagliate sui criteri di accesso archiviati specificati nella tabella che possono essere usati con firme di accesso condiviso.

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

Parametri

options
OperationOptions

Parametri delle opzioni.

Restituisce

getEntity<T>(string, string, GetTableEntityOptions)

Restituisce una singola entità nella tabella.

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

Parametri

partitionKey

string

Chiave di partizione dell'entità.

rowKey

string

Chiave di riga dell'entità.

options
GetTableEntityOptions

Parametri delle opzioni.

Esempio di recupero di un'entità

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

Restituisce

listEntities<T>(ListTableEntitiesOptions)

Esegue query sulle entità in una tabella.

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

Parametri

options
ListTableEntitiesOptions

Parametri delle opzioni.

Esempio di elenco di entità

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

Restituisce

setAccessPolicy(SignedIdentifier[], OperationOptions)

Imposta i criteri di accesso archiviati per la tabella che può essere utilizzata con le firme di accesso condiviso.

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

Parametri

tableAcl

SignedIdentifier[]

Elenco Controllo di accesso per la tabella.

options
OperationOptions

Parametri delle opzioni.

Restituisce

submitTransaction(TransactionAction[])

Invia una transazione composta da un set di azioni. È possibile specificare le azioni come elenco oppure è possibile usare TableTransaction per facilitare la compilazione della transazione.

Esempio di utilizzo:

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

Esempio di utilizzo con 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>

Parametri

actions

TransactionAction[]

tupla contenente l'azione da eseguire e l'entità con cui eseguire l'azione

Restituisce

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

Aggiornare un'entità nella tabella.

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

Parametri

entity

TableEntity<T>

Proprietà dell'entità da aggiornare.

mode
UpdateMode

Le diverse modalità per l'aggiornamento dell'entità: - Merge: Aggiornamenti un'entità aggiornando le proprietà dell'entità senza sostituire l'entità esistente. - Sostituisci: Aggiornamenti un'entità esistente sostituendo l'intera entità.

options
UpdateTableEntityOptions

Parametri delle opzioni.

Esempio di aggiornamento di un'entità

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

Restituisce

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

Upsert di un'entità nella tabella.

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

Parametri

entity

TableEntity<T>

Proprietà per l'entità di tabella.

mode
UpdateMode

Le diverse modalità per l'aggiornamento dell'entità: - Merge: Aggiornamenti un'entità aggiornando le proprietà dell'entità senza sostituire l'entità esistente. - Sostituisci: Aggiornamenti un'entità esistente sostituendo l'intera entità.

options
OperationOptions

Parametri delle opzioni.

Esempio di upserting di un'entità

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

Restituisce