Class TableServiceClient
Overview
The client encapsulates the URL for the Tables service endpoint and the credentials for accessing the storage or CosmosDB table API account. It provides methods to create, delete, and list tables within the account. These methods invoke REST API operations to make the requests and obtain the results that are returned.
Getting Started
The building and authenticating of instances of this client are handled by TableServiceClientBuilder
instances. The following
sample shows how to authenticate and build a TableServiceClient using a connection string.
TableServiceClient tableServiceClient = new TableServiceClientBuilder() .connectionString("connectionstring") .buildClient();
See TableServiceClientBuilder
documentation for more information on constructing and authenticating a client.
The following samples show the various ways you can interact with the tables service using this client.
Create a Table
The createTable
method can be used to create a new table within an Azure Storage or Azure Cosmos account.
It returns a TableClient for the newly created table.
The following sample creates a table with the name "myTable".
TableClient tableClient = tableServiceClient.createTable("myTable"); System.out.printf("Table with name '%s' was created.", tableClient.getTableName());Note: for asynchronous sample, refer to
asynchronous client
.
Delete a Table
The deleteTable
method can be used to delete a table within an Azure Storage or Azure Cosmos account.
The following sample deletes the table with the name "myTable".
tableServiceClient.deleteTable("myTable"); System.out.printf("Table with name '%s' was deleted.", "myTable");Note: for asynchronous sample, refer to
asynchronous client
.
Get a TableClient
The getTableClient
method can be used to retrieve a TableClient
for a table within an Azure Storage or Azure Cosmos account.
The following sample gets a TableClient
for the table with the name "myTable".
TableClient tableClient = tableServiceClient.getTableClient("myTable"); System.out.printf("Table with name '%s' was retrieved.", tableClient.getTableName());Note: for asynchronous sample, refer to
asynchronous client
.
List Tables
The listTables
method can be used to list all the tables in an Azure Storage or Azure Cosmos account.
The following samples lists the tables in the Tables service account.
Without filtering, returning all tables:
PagedIterable<TableItem> tableItems = tableServiceClient.listTables(); tableItems.forEach(tableItem -> System.out.printf("Retrieved table with name '%s'.%n", tableItem.getName()));
With filtering:
ListTablesOptions options = new ListTablesOptions().setFilter("TableName eq 'myTable'"); PagedIterable<TableItem> retrievedTableItems = tableServiceClient.listTables(options, Duration.ofSeconds(5), new Context("key1", "value1")); retrievedTableItems.forEach(tableItem -> System.out.printf("Retrieved table with name '%s'.%n", tableItem.getName()));Note: for asynchronous sample, refer to
asynchronous client
.
Get Table Properties
The getProperties
method can be used to get the properties of the account's Table service, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules.
This operation is only supported on Azure Storage endpoints.
The following sample gets the properties of the Tables service account.
TableServiceProperties properties = tableServiceClient.getProperties(); System.out.print("Retrieved service properties successfully.");Note: for asynchronous sample, refer to
asynchronous client
.
Set Table Properties
The setProperties
method can be used to set the properties of the account's Table service, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules.
This operation is only supported on Azure Storage endpoints.
The following sample sets the properties of the Tables service account.
TableServiceProperties properties = new TableServiceProperties() .setHourMetrics(new TableServiceMetrics() .setVersion("1.0") .setEnabled(true) .setIncludeApis(true) .setRetentionPolicy(new TableServiceRetentionPolicy() .setEnabled(true) .setDaysToRetain(5))) .setLogging(new TableServiceLogging() .setAnalyticsVersion("1.0") .setReadLogged(true) .setRetentionPolicy(new TableServiceRetentionPolicy() .setEnabled(true) .setDaysToRetain(5))); tableServiceClient.setProperties(properties); System.out.printf("Set service properties successfully.");Note: for asynchronous sample, refer to
asynchronous client
.
Get Table Statistics
The getStatistics
method can be used to retrieve statistics related to replication for the account's Table service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the account.
This operation is only supported on Azure Storage endpoints.
The following sample gets the statistics of the Tables service account.
TableServiceStatistics statistics = tableServiceClient.getStatistics(); System.out.print("Retrieved service statistics successfully.");Note: for asynchronous sample, refer to
asynchronous client
.- See Also:
-
Method Summary
Modifier and TypeMethodDescriptioncreateTable
(String tableName) Creates a table within the Tables service.createTableIfNotExists
(String tableName) Creates a table within the Tables service if the table does not already exist.com.azure.core.http.rest.Response
<TableClient> createTableIfNotExistsWithResponse
(String tableName, Duration timeout, com.azure.core.util.Context context) Creates a table within the Tables service if the table does not already exist.com.azure.core.http.rest.Response
<TableClient> createTableWithResponse
(String tableName, Duration timeout, com.azure.core.util.Context context) Creates a table within the Tables service.void
deleteTable
(String tableName) Deletes a table within the Tables service.com.azure.core.http.rest.Response
<Void> deleteTableWithResponse
(String tableName, Duration timeout, com.azure.core.util.Context context) Deletes a table within the Tables service.generateAccountSas
(TableAccountSasSignatureValues tableAccountSasSignatureValues) Generates an account SAS for the Azure Storage account using the specifiedTableAccountSasSignatureValues
.Gets the name of the account containing the table.Gets the properties of the account's Table service, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules.com.azure.core.http.rest.Response
<TableServiceProperties> getPropertiesWithResponse
(Duration timeout, com.azure.core.util.Context context) Gets the properties of the account's Table service, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules.Gets the endpoint for the Tables service.Gets the REST API version used by this client.Retrieves statistics related to replication for the account's Table service.com.azure.core.http.rest.Response
<TableServiceStatistics> getStatisticsWithResponse
(Duration timeout, com.azure.core.util.Context context) Retrieves statistics related to replication for the account's Table service.getTableClient
(String tableName) Gets aTableClient
instance for the table in the account with the providedtableName
.com.azure.core.http.rest.PagedIterable
<TableItem> Lists all tables within the account.com.azure.core.http.rest.PagedIterable
<TableItem> listTables
(ListTablesOptions options, Duration timeout, com.azure.core.util.Context context) If thefilter
parameter in the options is set, only tables matching the filter will be returned.void
setProperties
(TableServiceProperties tableServiceProperties) Sets the properties of the account's Table service, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules.com.azure.core.http.rest.Response
<Void> setPropertiesWithResponse
(TableServiceProperties tableServiceProperties, Duration timeout, com.azure.core.util.Context context) Sets the properties of an account's Table service, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules.
-
Method Details
-
getAccountName
Gets the name of the account containing the table.- Returns:
- The name of the account containing the table.
-
getServiceEndpoint
Gets the endpoint for the Tables service.- Returns:
- The endpoint for the Tables service.
-
getServiceVersion
Gets the REST API version used by this client.- Returns:
- The REST API version used by this client.
-
generateAccountSas
Generates an account SAS for the Azure Storage account using the specifiedTableAccountSasSignatureValues
.Note: The client must be authenticated via
AzureNamedKeyCredential
.See
TableAccountSasSignatureValues
for more information on how to construct an account SAS.- Parameters:
tableAccountSasSignatureValues
-TableAccountSasSignatureValues
.- Returns:
- A
String
representing the SAS query parameters. - Throws:
IllegalStateException
- If thisTableClient
is not authenticated with anAzureNamedKeyCredential
.
-
getTableClient
Gets aTableClient
instance for the table in the account with the providedtableName
. The resultingTableClient
will use the samepipeline
andservice version
as thisTableServiceClient
.- Parameters:
tableName
- The name of the table.- Returns:
- A
TableClient
instance for the table in the account with the providedtableName
. - Throws:
IllegalArgumentException
- IftableName
isnull
or empty.
-
createTable
Creates a table within the Tables service.Code Samples
Creates a table. Prints out the details of the created table.
TableClient tableClient = tableServiceClient.createTable("myTable"); System.out.printf("Table with name '%s' was created.", tableClient.getTableName());
- Parameters:
tableName
- The name of the table to create.- Returns:
- A
TableClient
for the created table. - Throws:
IllegalArgumentException
- IftableName
isnull
or empty.TableServiceException
- If a table with the same name already exists within the service.
-
createTableWithResponse
public com.azure.core.http.rest.Response<TableClient> createTableWithResponse(String tableName, Duration timeout, com.azure.core.util.Context context) Creates a table within the Tables service.Code Samples
Creates a table. Prints out the details of the
HTTP response
and the created table.Response<TableClient> response = tableServiceClient.createTableWithResponse("myTable", Duration.ofSeconds(5), new Context("key1", "value1")); System.out.printf("Response successful with status code: %d. Table with name '%s' was created.", response.getStatusCode(), response.getValue().getTableName());
- Parameters:
tableName
- The name of the table to create.timeout
- An optional timeout value beyond which aRuntimeException
will be raised.context
- AdditionalContext
that is passed through theHTTP pipeline
during the service call.- Returns:
- The
HTTP response
containing aTableClient
for the created table. - Throws:
IllegalArgumentException
- IftableName
isnull
or empty.TableServiceException
- If a table with the same name already exists within the service.
-
createTableIfNotExists
Creates a table within the Tables service if the table does not already exist. If the table already exists, aTableClient
for the existing table is returned.Code Samples
Creates a table if it does not already exist. Prints out the details of the created table.
TableClient tableClient = tableServiceClient.createTableIfNotExists("myTable"); System.out.printf("Table with name '%s' was created.", tableClient.getTableName());
- Parameters:
tableName
- The name of the table to create.- Returns:
- A
TableClient
for the created table. - Throws:
IllegalArgumentException
- IftableName
isnull
or empty.
-
createTableIfNotExistsWithResponse
public com.azure.core.http.rest.Response<TableClient> createTableIfNotExistsWithResponse(String tableName, Duration timeout, com.azure.core.util.Context context) Creates a table within the Tables service if the table does not already exist. If the table already exists, aTableClient
for the existing table is returned.Code Samples
Creates a table if it does not already exist. Prints out the details of the
HTTP response
and the created table.Response<TableClient> response = tableServiceClient.createTableIfNotExistsWithResponse("myTable", Duration.ofSeconds(5), new Context("key1", "value1")); System.out.printf("Response successful with status code: %d. Table with name '%s' was created.", response.getStatusCode(), response.getValue().getTableName());
- Parameters:
tableName
- The name of the table to create.timeout
- An optional timeout value beyond which aRuntimeException
will be raised.context
- AdditionalContext
that is passed through theHTTP pipeline
during the service call.- Returns:
- The
HTTP response
containing aTableClient
for the created table. - Throws:
IllegalArgumentException
- IftableName
isnull
or empty.
-
deleteTable
Deletes a table within the Tables service.Code Samples
Deletes a table.
tableServiceClient.deleteTable("myTable"); System.out.printf("Table with name '%s' was deleted.", "myTable");
- Parameters:
tableName
- The name of the table to delete.- Throws:
IllegalArgumentException
- IftableName
isnull
or empty.TableServiceException
- If the request is rejected by the service.
-
deleteTableWithResponse
public com.azure.core.http.rest.Response<Void> deleteTableWithResponse(String tableName, Duration timeout, com.azure.core.util.Context context) Deletes a table within the Tables service.Code Samples
Deletes a table. Prints out the details of the
HTTP response
.Response<Void> response = tableServiceClient.deleteTableWithResponse("myTable", Duration.ofSeconds(5), new Context("key1", "value1")); System.out.printf("Response successful with status code: %d. Table with name '%s' was deleted.", response.getStatusCode(), "myTable");
- Parameters:
tableName
- The name of the table to delete.timeout
- An optional timeout value beyond which aRuntimeException
will be raised.context
- AdditionalContext
that is passed through theHTTP pipeline
during the service call.- Returns:
- The
HTTP response
. - Throws:
IllegalArgumentException
- IftableName
isnull
or empty.TableServiceException
- If the request is rejected by the service.
-
listTables
Lists all tables within the account.Code Samples
Lists all tables. Prints out the details of the retrieved tables.
PagedIterable<TableItem> tableItems = tableServiceClient.listTables(); tableItems.forEach(tableItem -> System.out.printf("Retrieved table with name '%s'.%n", tableItem.getName()));
- Returns:
- A
PagedIterable
containing all tables within the account. - Throws:
TableServiceException
- If the request is rejected by the service.
-
listTables
public com.azure.core.http.rest.PagedIterable<TableItem> listTables(ListTablesOptions options, Duration timeout, com.azure.core.util.Context context) If thefilter
parameter in the options is set, only tables matching the filter will be returned. If thetop
parameter is set, the maximum number of returned tables per page will be limited to that value.Code Samples
Lists all tables that match the filter. Prints out the details of the retrieved tables.
ListTablesOptions options = new ListTablesOptions().setFilter("TableName eq 'myTable'"); PagedIterable<TableItem> retrievedTableItems = tableServiceClient.listTables(options, Duration.ofSeconds(5), new Context("key1", "value1")); retrievedTableItems.forEach(tableItem -> System.out.printf("Retrieved table with name '%s'.%n", tableItem.getName()));
- Parameters:
options
- Thefilter
andtop
OData query options to apply to this operation.timeout
- An optional timeout value beyond which aRuntimeException
will be raised.context
- AdditionalContext
that is passed through theHTTP pipeline
during the service call.- Returns:
- A
PagedIterable
containing matching tables within the account. - Throws:
IllegalArgumentException
- If one or more of the OData query options inoptions
is malformed.TableServiceException
- If the request is rejected by the service.
-
getProperties
Gets the properties of the account's Table service, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules.This operation is only supported on Azure Storage endpoints.
Code Samples
Gets the properties of the account's Table service.
TableServiceProperties properties = tableServiceClient.getProperties(); System.out.print("Retrieved service properties successfully.");
- Returns:
- The
properties
of the account's Table service. - Throws:
TableServiceException
- If the request is rejected by the service.
-
getPropertiesWithResponse
public com.azure.core.http.rest.Response<TableServiceProperties> getPropertiesWithResponse(Duration timeout, com.azure.core.util.Context context) Gets the properties of the account's Table service, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules.This operation is only supported on Azure Storage endpoints.
Code Samples
Gets the properties of the account's Table service. Prints out the details of the
HTTP response
.Response<TableServiceProperties> response = tableServiceClient.getPropertiesWithResponse(Duration.ofSeconds(5), new Context("key1", "value1")); System.out.printf("Retrieved service properties successfully with status code: %d.", response.getStatusCode());
- Parameters:
timeout
- An optional timeout value beyond which aRuntimeException
will be raised.context
- AdditionalContext
that is passed through theHTTP pipeline
during the service call.- Returns:
- The
HTTP response
and theproperties
of the account's Table service. - Throws:
TableServiceException
- If the request is rejected by the service.
-
setProperties
Sets the properties of the account's Table service, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules.This operation is only supported on Azure Storage endpoints.
Code Samples
Sets the properties of the account's Table service.
TableServiceProperties properties = new TableServiceProperties() .setHourMetrics(new TableServiceMetrics() .setVersion("1.0") .setEnabled(true) .setIncludeApis(true) .setRetentionPolicy(new TableServiceRetentionPolicy() .setEnabled(true) .setDaysToRetain(5))) .setLogging(new TableServiceLogging() .setAnalyticsVersion("1.0") .setReadLogged(true) .setRetentionPolicy(new TableServiceRetentionPolicy() .setEnabled(true) .setDaysToRetain(5))); tableServiceClient.setProperties(properties); System.out.printf("Set service properties successfully.");
- Parameters:
tableServiceProperties
- TheTableServiceProperties
to set.- Throws:
TableServiceException
- If the request is rejected by the service.
-
setPropertiesWithResponse
public com.azure.core.http.rest.Response<Void> setPropertiesWithResponse(TableServiceProperties tableServiceProperties, Duration timeout, com.azure.core.util.Context context) Sets the properties of an account's Table service, including properties for Analytics and CORS (Cross-Origin Resource Sharing) rules.This operation is only supported on Azure Storage endpoints.
Code Samples
Sets the properties of the account's Table service. Prints out the details of the
HTTP response
.TableServiceProperties myProperties = new TableServiceProperties() .setHourMetrics(new TableServiceMetrics() .setVersion("1.0") .setEnabled(true) .setIncludeApis(true) .setRetentionPolicy(new TableServiceRetentionPolicy() .setEnabled(true) .setDaysToRetain(5))) .setLogging(new TableServiceLogging() .setAnalyticsVersion("1.0") .setReadLogged(true) .setRetentionPolicy(new TableServiceRetentionPolicy() .setEnabled(true) .setDaysToRetain(5))); Response<Void> response = tableServiceClient.setPropertiesWithResponse(myProperties, Duration.ofSeconds(5), new Context("key1", "value1")); System.out.printf("Retrieved service properties successfully with status code: %d.", response.getStatusCode());
- Parameters:
tableServiceProperties
- TheTableServiceProperties
to set.timeout
- An optional timeout value beyond which aRuntimeException
will be raised.context
- AdditionalContext
that is passed through theHTTP pipeline
during the service call.- Returns:
- The
HTTP response
. - Throws:
TableServiceException
- If the request is rejected by the service.
-
getStatistics
Retrieves statistics related to replication for the account's Table service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the account.This operation is only supported on Azure Storage endpoints.
Code Samples
Gets the replication statistics of the account's Table service.
TableServiceStatistics statistics = tableServiceClient.getStatistics(); System.out.print("Retrieved service statistics successfully.");
- Returns:
Statistics
for the account's Table service.- Throws:
TableServiceException
- If the request is rejected by the service.
-
getStatisticsWithResponse
public com.azure.core.http.rest.Response<TableServiceStatistics> getStatisticsWithResponse(Duration timeout, com.azure.core.util.Context context) Retrieves statistics related to replication for the account's Table service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the account.This operation is only supported on Azure Storage endpoints.
Code Samples
Gets the replication statistics of the account's Table service. Prints out the details of the
HTTP response
.Response<TableServiceStatistics> response = tableServiceClient.getStatisticsWithResponse(Duration.ofSeconds(5), new Context("key1", "value1")); System.out.printf("Retrieved service statistics successfully with status code: %d.", response.getStatusCode());
- Parameters:
timeout
- An optional timeout value beyond which aRuntimeException
will be raised.context
- AdditionalContext
that is passed through theHTTP pipeline
during the service call.- Returns:
- An
HTTP response
containingstatistics
for the account's Table service. - Throws:
TableServiceException
- If the request is rejected by the service.
-