Package com.azure.data.tables
Azure Tables is a NoSQL key-value storage service offered by Microsoft Azure, which provides a highly scalable and cost-effective solution for storing structured data. It is a fully managed service that is designed to handle large volumes of structured data in a distributed environment, with low latency and high availability. Azure Tables stores data in tables, which are schema-less and can contain any type of data. Each table can have a partition key and a row key, which together form a unique primary key that can be used to retrieve individual records. This enables fast, efficient querying of data, especially when combined with Azure's indexing and query features.
The Azure Tables client library enables Java developers to easily interact with Azure Tables Storage Service from their Java applications. This library provides a set of APIs that abstract the low-level details of working with the Azure Tables Storage Service and allows developers to perform common operations such as creating tables, inserting, updating and deleting entities, querying data, and managing access control on tables and entities. The library supports both Azure Storage and Azure Cosmos tables. It offers both synchronous and asynchronous programming models. It also provides features such as retries, automatic pagination, and parallelism to enable efficient and reliable interactions with Azure Tables Storage Service.
Getting Started
Prerequisites
The client library package requires the following:
- Java 8 or later
- An Azure subscription
- An existing Azure Storage or Azure Cosmos account
Authenticate a Client
In order to build a valid table client or table service client, you will need to authenticate the client using an accepted method of authentication. The supported forms of authentication are:
See client builder class documentation TableServiceClientBuilder
and TableClientBuilder
for examples of authenticating a client.
For more information on authentication types, see the identity documentation.
Table service clients utilize their authentication information to create table clients. Table clients created via a table service client will inherit the authentication information of the table service client.Overview
The TableServiceClient
and TableServiceAsyncClient
provide access to the tables within an
Azure Storage or Azure Cosmos account. A table service client can create, list, and delete tables. It also provides access to a table client that can be used to perform CRUD operations on entities
within a table. You can instantiate a table service client using an instance of TableServiceClientBuilder
.
The TableClient
and TableAsyncClient
provide access to a specific table within an Azure Storage or Azure Cosmos account.
A table client can be used to perform CRUD and query operations on entities within a table. Table clients can also create* new tables and delete the table they reference from the Azure Storage or
Cosmos acount. An instance of a table client can be returned via a table service client or can be instantiated using an instance of
TableClientBuilder
.
See methods in client level class below to explore all capabilities the library provides.
Table Service Client Usage
Create a TableServiceClient
using a TableServiceClientBuilder
The TableServiceClient
and TableServiceAsyncClient
both provide access to the tables within an
Azure Storage or Azure Cosmos account. A table service client can create, list, and delete tables. It also provides access to a table client that can be used to perform CRUD operations on entities
within a table. You can instantiate a table service client using an instance of TableServiceClientBuilder
.
Here's an example of creating a synchronous table service client using the TableServiceClientBuilder.buildClient()
TableServiceClientBuilder buildClient} method:
TableServiceClient tableServiceClient = new TableServiceClientBuilder() .connectionString("connectionstring") .buildClient();
Note: To create an asynchronous table service client, call buildAsyncClient()
instead of buildClient()
.
Create a Table using TableServiceClient
The TableServiceClient createTable
method can be used to create an new table within your Azure Storage or Azure Cosmos account.
The following example creates a table with the name "tableName".
tableServiceClient.createTable("tableName");
Note: For asynchronous sample, refer to TableServiceAsyncClient
List Tables using TableServiceClient
The TableServiceClient listTables
method can be used to list the tables that are within an Azure Storage or Azure Cosmos account.
The following example lists all the tables in the account without any filtering of Tables.
tableServiceClient.listTables().forEach(table -> { String tableName = table.getName(); System.out.println("Table name: " + tableName); });
Note: For asynchronous sample, refer to TableServiceAsyncClient
Delete a Table using TableServiceClient
The TableServiceClient deleteTable
method can be used to delete a table that is within your Azure Storage or Azure Cosmos account.
The following example deletes a table with the name "tableName".
tableServiceClient.deleteTable("tableName");
Note: For asynchronous sample, refer to TableServiceAsyncClient
Table Client Usage
The TableClient
and TableAsyncClient
provide access to a specific table within an Azure Storage or Azure Cosmos account.
A table client can be used to perform CRUD and query operations on entities within a table. Table clients can also create* new tables and delete the table they reference from the Azure Storage or
Cosmos acount. An instance of a table client can be returned via a table service client or can be instantiated using an instance of
TableClientBuilder
.
Retrieve a TableClient
from a TableServiceClient
The TableServiceClient.getTableClient(java.lang.String)
TableServiceClient getTableClient} method can be used to retrieve a TableClient for a specified table that is stored within your Azure Storage or Azure Cosmos account.
The following example returns a table client for a table with the name "tableName".
TableClient tableClient = tableServiceClient.getTableClient("tableName");
Note: For asynchronous sample, refer to TableServiceAsyncClient
Create a TableClient
using a TableClientBuilder
The TableClient
and TableAsyncClient
provide access to a specific table within an Azure Storage or Azure Cosmos account.
The TableClientBuilder buildClient
method can be used to create a TableClient
Here's an example of creating a TableClient using a builder:
TableClient tableClient = new TableClientBuilder() .connectionString("connectionstring") .tableName("tableName") .buildClient();
Note: To create an TableAsyncClient, call buildAsyncClient()
instead of buildClient()
.
Create an Entity using TableClient
The TableClient createEntity
method can be used to create a table entity within a table in your Azure Storage or Azure Cosmos account.
The following example creates an entity with a partition key of "partitionKey" and a row key of "rowKey".
tableClient.createEntity(new TableEntity("partitionKey", "rowKey") .addProperty("property", "value"));
Note: for asynchronous sample, refer to TableAsyncClient
Update an Entity using TableClient
The TableClient updateEntity
method can be used to update a table entity within a table in your Azure Storage or Azure Cosmos account.
The following example updates an entity with a partition key of "partitionKey" and a row key of "rowKey", adding an additional property with the name "newProperty" and the value "newValue".
TableEntity entity = tableClient.getEntity("partitionKey", "rowKey"); entity.addProperty("newProperty", "newValue"); tableClient.updateEntity(entity);
Note: for asynchronous sample, refer to TableAsyncClient
List Entities
The TableClient listEntities
method can be used to list the entities that are within a table in your Azure Storage or Azure Cosmos account.
The following example lists all entities in a table without any filtering.
tableClient.listEntities().forEach(entity -> { String partitionKey = entity.getPartitionKey(); String rowKey = entity.getRowKey(); System.out.println("Partition key: " + partitionKey + ", Row key: " + rowKey); });
Note: for asynchronous sample, refer to TableAsyncClient
Delete an Entity
The TableClient deleteEntity
method can be used to delete an entity that is within a table in your Azure Storage or Azure Cosmos account.
The following example deletes an entity with a partition key of "partitionKey" and a row key of "rowKey".
tableClient.deleteEntity("partitionKey", "rowKey");
Note: for asynchronous sample, refer to TableAsyncClient
- See Also:
-
ClassDescriptionProvides an asynchronous service client for accessing a table in the Azure Tables service.Policy that adds the SharedKey into the request's Authorization header.Provides a synchronous service client for accessing a table in the Azure Tables service.Provides a fluent builder API to help aid the configuration and instantiation of a
TableClient
andTableAsyncClient
.Wraps any potential error responses from the service and applies post processing of the response's eTag header to standardize the value.Provides an asynchronous service client for accessing the Azure Tables service.Provides a synchronous service client for accessing the Azure Tables service.Provides a fluent builder API to help aid the configuration and instantiation ofTableServiceClient
andTableServiceAsyncClient
.The versions of Tables REST API supported by this client library.