TableAsyncClient Class
- java.
lang. Object - com.
azure. data. tables. TableAsyncClient
- com.
public final class TableAsyncClient
Provides an asynchronous service client for accessing a table in the Azure Tables service.
Overview
The client encapsulates the URL for the table within the Tables service endpoint, the name of the table, and the credentials for accessing the storage or CosmosDB table API account. It provides methods to create and delete the table itself, as well as methods to create, upsert, update, delete, list, and get entities within the table. These methods invoke REST API operations to make the requests and obtain the results that are returned.
Getting Started
Authenticating and building instances of this client are handled by TableClientBuilder. This sample shows how to authenticate and build a TableClient instance using the TableClientBuilder and a connection string.
TableAsyncClient tableAsyncClient = new TableClientBuilder()
.connectionString("connectionstring")
.tableName("myTable")
.buildAsyncClient();
For more information on building and authenticating, see the TableClientBuilder documentation.
The following code samples provide examples of common operations preformed with this client.
Create a TableEntity
The createEntity(TableEntity entity) method can be used to create a table entity within a table in your Azure Storage or Azure Cosmos account.
The sample below creates a TableEntity with a partition key of "partitionKey" and a row key of "rowKey".
TableEntity tableEntity = new TableEntity("partitionKey", "rowKey")
.addProperty("Property", "Value");
tableAsyncClient.createEntity(tableEntity)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(unused ->
System.out.printf("Table entity with partition key '%s' and row key '%s' was created.", "partitionKey",
"rowKey"));
Note: for a synchronous sample, refer to TableClient
Retrieve a TableEntity
The getEntity(String partitionKey, String rowKey) method can be used to retrieve a table entity within a table in your Azure Storage or Azure Cosmos account.
The sample below retrieves a TableEntity with a partition key of "partitionKey" and a row key of "rowKey".
tableAsyncClient.getEntity("partitionKey", "rowKey")
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(tableEntity ->
System.out.printf("Retrieved entity with partition key '%s' and row key '%s'.",
tableEntity.getPartitionKey(), tableEntity.getRowKey()));
Note: for a synchronous sample, refer to TableClient
Update a TableEntity
The updateEntity(TableEntity entity) method can be used to update a table entity within a table in your Azure Storage or Azure Cosmos account.
The sample below updates a TableEntity with a partition key of "partitionKey" and a row key of "rowKey", adding a new property with a key of "Property" and a value of "Value".
TableEntity myTableEntity = new TableEntity("partitionKey", "rowKey")
.addProperty("Property", "Value");
tableAsyncClient.updateEntity(myTableEntity, TableEntityUpdateMode.REPLACE)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(unused ->
System.out.printf("Table entity with partition key '%s' and row key '%s' was updated/created.",
"partitionKey", "rowKey"));
Note: for a synchronous sample, refer to TableClient
Listing TableEntity
The listEntities() method can be used to list the entities within a table in your Azure Storage or Azure Cosmos account.
The sample below lists all TableEntity within the table without filtering out any entities.
tableAsyncClient.listEntities()
.subscribe(tableEntity ->
System.out.printf("Retrieved entity with partition key '%s' and row key '%s'.%n",
tableEntity.getPartitionKey(), tableEntity.getRowKey()));
List TableEntity with filtering and selecting
The sample below lists TableEntity within the table, filtering out any entities that do not have a partition key of "partitionKey" and a row key of "rowKey" and only selects the "name", "lastname", and "age" properties.
List<String> propertiesToSelect = new ArrayList<>();
propertiesToSelect.add("name");
propertiesToSelect.add("lastname");
propertiesToSelect.add("age");
ListEntitiesOptions listEntitiesOptions = new ListEntitiesOptions()
.setTop(15)
.setFilter("PartitionKey eq 'MyPartitionKey' and RowKey eq 'MyRowKey'")
.setSelect(propertiesToSelect);
tableAsyncClient.listEntities(listEntitiesOptions)
.subscribe(tableEntity -> {
System.out.printf("Retrieved entity with partition key '%s', row key '%s' and properties:%n",
tableEntity.getPartitionKey(), tableEntity.getRowKey());
tableEntity.getProperties().forEach((key, value) ->
System.out.printf("Name: '%s'. Value: '%s'.%n", key, value));
});
Note: for a synchronous sample, refer to TableClient
Delete a TableEntity
The deleteEntity(String partitionKey, String rowKey) method can be used to delete a table entity within a table in your Azure Storage or Azure Cosmos account.
The sample below deletes a TableEntity with a partition key of "partitionKey" and a row key of "rowKey".
tableAsyncClient.deleteEntity("partitionKey", "rowKey")
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(unused ->
System.out.printf("Table entity with partition key '%s' and row key '%s' was deleted.", "partitionKey",
"rowKey"));
Note: for a synchronous sample, refer to TableClient
Submit a transactional batch
The submitTransaction(List<TableTransactionAction> transactionActions) method can be used to submit a transactional batch of actions to perform on the table in your Azure Storage or Azure Cosmos account.
The sample below shows how to prepare and submit a transactional batch with multiple actions.
List<TableTransactionAction> transactionActions = new ArrayList<>();
String partitionKey = "markers";
String firstEntityRowKey = "m001";
String secondEntityRowKey = "m002";
TableEntity firstEntity = new TableEntity(partitionKey, firstEntityRowKey)
.addProperty("Type", "Dry")
.addProperty("Color", "Red");
transactionActions.add(new TableTransactionAction(TableTransactionActionType.CREATE, firstEntity));
System.out.printf("Added create action for entity with partition key '%s', and row key '%s'.%n", partitionKey,
firstEntityRowKey);
TableEntity secondEntity = new TableEntity(partitionKey, secondEntityRowKey)
.addProperty("Type", "Wet")
.addProperty("Color", "Blue");
transactionActions.add(new TableTransactionAction(TableTransactionActionType.CREATE, secondEntity));
System.out.printf("Added create action for entity with partition key '%s', and row key '%s'.%n", partitionKey,
secondEntityRowKey);
tableAsyncClient.submitTransaction(transactionActions)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(tableTransactionResult -> {
System.out.print("Submitted transaction. The ordered response status codes for the actions are:");
tableTransactionResult.getTransactionActionResponses().forEach(tableTransactionActionResponse ->
System.out.printf("%n%d", tableTransactionActionResponse.getStatusCode()));
});
Note: for a synchronous sample, refer to TableClient
Method Summary
Methods inherited from java.lang.Object
Method Details
createEntity
public Mono
Inserts an TableEntity into the table.
Code Samples
Inserts an TableEntity into the table. Prints out the details of the created TableEntity.
TableEntity tableEntity = new TableEntity("partitionKey", "rowKey")
.addProperty("Property", "Value");
tableAsyncClient.createEntity(tableEntity)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(unused ->
System.out.printf("Table entity with partition key '%s' and row key '%s' was created.", "partitionKey",
"rowKey"));
Parameters:
Returns:
createEntityWithResponse
public Mono
Inserts an TableEntity into the table.
Code Samples
Inserts an TableEntity into the table. Prints out the details of the Response<T> and the created TableEntity.
TableEntity myTableEntity = new TableEntity("partitionKey", "rowKey")
.addProperty("Property", "Value");
tableAsyncClient.createEntityWithResponse(myTableEntity)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(response ->
System.out.printf("Response successful with status code: %d. Table entity with partition key '%s' and"
+ " row key '%s' was created.", response.getStatusCode(), "partitionKey", "rowKey"));
Parameters:
Returns:
createTable
public Mono
Creates the table within the Tables service.
Code Samples
Creates a table. Prints out the details of the created table.
tableAsyncClient.createTable()
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(tableItem ->
System.out.printf("Table with name '%s' was created.", tableItem.getName()));
Returns:
createTableWithResponse
public Mono
Creates the table within the Tables service.
Code Samples
Creates a table. Prints out the details of the Response<T> and the created table.
tableAsyncClient.createTableWithResponse()
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(response ->
System.out.printf("Response successful with status code: %d. Table with name '%s' was created.",
response.getStatusCode(), response.getValue().getName()));
Returns:
deleteEntity
public Mono
Deletes an TableEntity from the table.
Code Samples
Deletes a TableEntity on the table. Prints out the details of the deleted TableEntity.
TableEntity myTableEntity = new TableEntity("partitionKey", "rowKey")
.addProperty("Property", "Value");
tableAsyncClient.deleteEntity(myTableEntity)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(unused ->
System.out.printf("Table entity with partition key '%s' and row key '%s' was created.", "partitionKey",
"rowKey"));
Parameters:
Returns:
deleteEntity
public Mono
Deletes an TableEntity from the table.
Code Samples
Deletes an TableEntity on the table. Prints out the entity's partitionKey
and rowKey
.
tableAsyncClient.deleteEntity("partitionKey", "rowKey")
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(unused ->
System.out.printf("Table entity with partition key '%s' and row key '%s' was deleted.", "partitionKey",
"rowKey"));
Parameters:
Returns:
deleteEntityWithResponse
public Mono
Deletes an TableEntity from the table.
Code Samples
Deletes a TableEntity on the table. Prints out the details of the Response<T> and the deleted TableEntity.
TableEntity someTableEntity = new TableEntity("partitionKey", "rowKey")
.addProperty("Property", "Value");
tableAsyncClient.deleteEntityWithResponse(someTableEntity, true)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(response ->
System.out.printf("Response successful with status code: %d. Table entity with partition key '%s' and"
+ " row key '%s' was deleted.", response.getStatusCode(), "partitionKey", "rowKey"));
Parameters:
Returns:
deleteTable
public Mono
Deletes the table within the Tables service.
Code Samples
Deletes a table.
tableAsyncClient.deleteTable()
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(unused -> System.out.print("Table was deleted."));
Returns:
deleteTableWithResponse
public Mono
Deletes the table within the Tables service.
Code Samples
Deletes a table. Prints out the details of the Response<T>.
tableAsyncClient.deleteTableWithResponse()
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(response ->
System.out.printf("Table was deleted successfully with status code: %d.",
response.getStatusCode()));
Returns:
generateSas
public String generateSas(TableSasSignatureValues tableSasSignatureValues)
Generates a service SAS for the table using the specified TableSasSignatureValues.
Note: The client must be authenticated via AzureNamedKeyCredential.
See TableSasSignatureValues for more information on how to construct a service SAS.
Parameters:
Returns:
String
representing the SAS query parameters.getAccessPolicies
public Mono
Retrieves details about any stored TableAccessPolicies specified on the table that may be used with Shared Access Signatures.
This operation is only supported on Azure Storage endpoints.
Code Samples
Gets a table's TableAccessPolicies. Prints out the details of the retrieved TableAccessPolicies.
tableAsyncClient.getAccessPolicies()
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(accessPolicies ->
accessPolicies.getIdentifiers().forEach(signedIdentifier ->
System.out.printf("Retrieved table access policy with id '%s'.", signedIdentifier.getId())));
Returns:
getAccessPoliciesWithResponse
public Mono
Retrieves details about any stored TableAccessPolicies specified on the table that may be used with Shared Access Signatures.
This operation is only supported on Azure Storage endpoints.
Code Samples
Gets a table's TableAccessPolicies. Prints out the details of the Response<T> and the retrieved TableAccessPolicies.
List<String> propertiesToSelect = new ArrayList<>();
propertiesToSelect.add("name");
propertiesToSelect.add("lastname");
propertiesToSelect.add("age");
tableAsyncClient.getAccessPoliciesWithResponse()
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(response -> {
System.out.printf("Response successful with status code: %d. Retrieved table access policies with the"
+ " following IDs:", response.getStatusCode());
response.getValue().getIdentifiers().forEach(signedIdentifier ->
System.out.printf("%n%s", signedIdentifier.getId()));
});
Returns:
getAccountName
public String getAccountName()
Gets the name of the account containing the table.
Returns:
getEntity
public Mono
Gets a single TableEntity from the table.
Code Samples
Gets an TableEntity on the table. Prints out the details of the retrieved TableEntity.
tableAsyncClient.getEntity("partitionKey", "rowKey")
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(tableEntity ->
System.out.printf("Retrieved entity with partition key '%s' and row key '%s'.",
tableEntity.getPartitionKey(), tableEntity.getRowKey()));
Parameters:
Returns:
getEntityWithResponse
public Mono
Gets a single TableEntity from the table.
Code Samples
Gets an TableEntity on the table. Prints out the details of the Response<T> retrieved TableEntity.
List<String> propertiesToSelect = new ArrayList<>();
propertiesToSelect.add("name");
propertiesToSelect.add("lastname");
propertiesToSelect.add("age");
tableAsyncClient.getEntityWithResponse("partitionKey", "rowKey", propertiesToSelect)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(response -> {
TableEntity tableEntity = response.getValue();
System.out.printf("Response successful with status code: %d. Retrieved entity with partition key '%s',"
+ " row key '%s' and properties:", response.getStatusCode(), tableEntity.getPartitionKey(),
tableEntity.getRowKey());
tableEntity.getProperties().forEach((key, value) ->
System.out.printf("%nName: '%s'. Value: '%s'.", key, value));
});
Parameters:
Returns:
getServiceVersion
public TableServiceVersion getServiceVersion()
Gets the REST API version used by this client.
Returns:
getTableEndpoint
public String getTableEndpoint()
Gets the endpoint for this table.
Returns:
getTableName
public String getTableName()
Gets the name of the table.
Returns:
listEntities
public PagedFlux
Lists all TableEntity within the table.
Code Samples
Lists all TableEntity on the table. Prints out the details of the retrieved TableEntity.
tableAsyncClient.listEntities()
.subscribe(tableEntity ->
System.out.printf("Retrieved entity with partition key '%s' and row key '%s'.%n",
tableEntity.getPartitionKey(), tableEntity.getRowKey()));
Returns:
listEntities
public PagedFlux
Lists TableEntity using the parameters in the provided options.
If the filter
parameter in the options is set, only TableEntity matching the filter will be returned. If the select
parameter is set, only the properties included in the select parameter will be returned for each TableEntity. If the top
parameter is set, the maximum number of returned TableEntity per page will be limited to that value.
Code Samples
Lists all TableEntity on the table. Prints out the details of the Response<T> and all the retrieved TableEntity.
List<String> propertiesToSelect = new ArrayList<>();
propertiesToSelect.add("name");
propertiesToSelect.add("lastname");
propertiesToSelect.add("age");
ListEntitiesOptions listEntitiesOptions = new ListEntitiesOptions()
.setTop(15)
.setFilter("PartitionKey eq 'MyPartitionKey' and RowKey eq 'MyRowKey'")
.setSelect(propertiesToSelect);
tableAsyncClient.listEntities(listEntitiesOptions)
.subscribe(tableEntity -> {
System.out.printf("Retrieved entity with partition key '%s', row key '%s' and properties:%n",
tableEntity.getPartitionKey(), tableEntity.getRowKey());
tableEntity.getProperties().forEach((key, value) ->
System.out.printf("Name: '%s'. Value: '%s'.%n", key, value));
});
Parameters:
filter
, select
, and top
OData query options to apply to this
operation.
Returns:
setAccessPolicies
public Mono
Sets stored TableAccessPolicies for the table that may be used with Shared Access Signatures.
This operation is only supported on Azure Storage endpoints.
Code Samples
Sets stored TableAccessPolicies on a table.
List<TableSignedIdentifier> signedIdentifiers = new ArrayList<>();
signedIdentifiers.add(new TableSignedIdentifier("id1")
.setAccessPolicy(new TableAccessPolicy()
.setStartsOn(OffsetDateTime.of(2021, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC))
.setExpiresOn(OffsetDateTime.of(2022, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC))
.setPermissions("r")));
signedIdentifiers.add(new TableSignedIdentifier("id2")
.setAccessPolicy(new TableAccessPolicy()
.setStartsOn(OffsetDateTime.of(2021, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC))
.setExpiresOn(OffsetDateTime.of(2021, 1, 2, 0, 0, 0, 0, ZoneOffset.UTC))
.setPermissions("raud")));
tableAsyncClient.setAccessPolicies(signedIdentifiers)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(unused -> System.out.print("Set table access policies."));
Parameters:
Returns:
setAccessPoliciesWithResponse
public Mono
Sets stored TableAccessPolicies for the table that may be used with Shared Access Signatures.
This operation is only supported on Azure Storage endpoints.
Code Samples
Sets stored TableAccessPolicies on a table. Prints out details of the Response<T>.
List<TableSignedIdentifier> mySignedIdentifiers = new ArrayList<>();
mySignedIdentifiers.add(new TableSignedIdentifier("id1")
.setAccessPolicy(new TableAccessPolicy()
.setStartsOn(OffsetDateTime.of(2021, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC))
.setExpiresOn(OffsetDateTime.of(2022, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC))
.setPermissions("r")));
mySignedIdentifiers.add(new TableSignedIdentifier("id2")
.setAccessPolicy(new TableAccessPolicy()
.setStartsOn(OffsetDateTime.of(2021, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC))
.setExpiresOn(OffsetDateTime.of(2021, 1, 2, 0, 0, 0, 0, ZoneOffset.UTC))
.setPermissions("raud")));
tableAsyncClient.setAccessPoliciesWithResponse(mySignedIdentifiers)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(response ->
System.out.printf("Set table access policies successfully with status code: %d.",
response.getStatusCode()));
Parameters:
Returns:
submitTransaction
public Mono
Executes all TableTransactionAction within the list inside a transaction. When the call completes, either all TableTransactionAction in the transaction will succeed, or if a failure occurs, all TableTransactionAction in the transaction will be rolled back. Each TableTransactionAction must operate on a distinct row key. Attempting to pass multiple TableTransactionAction that share the same row key will cause an error.
Code Samples
Submits a transaction that contains multiple TableTransactionAction to be applied to TableEntity on a table. Prints out details of each TableTransactionAction's Response<T>.
List<TableTransactionAction> transactionActions = new ArrayList<>();
String partitionKey = "markers";
String firstEntityRowKey = "m001";
String secondEntityRowKey = "m002";
TableEntity firstEntity = new TableEntity(partitionKey, firstEntityRowKey)
.addProperty("Type", "Dry")
.addProperty("Color", "Red");
transactionActions.add(new TableTransactionAction(TableTransactionActionType.CREATE, firstEntity));
System.out.printf("Added create action for entity with partition key '%s', and row key '%s'.%n", partitionKey,
firstEntityRowKey);
TableEntity secondEntity = new TableEntity(partitionKey, secondEntityRowKey)
.addProperty("Type", "Wet")
.addProperty("Color", "Blue");
transactionActions.add(new TableTransactionAction(TableTransactionActionType.CREATE, secondEntity));
System.out.printf("Added create action for entity with partition key '%s', and row key '%s'.%n", partitionKey,
secondEntityRowKey);
tableAsyncClient.submitTransaction(transactionActions)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(tableTransactionResult -> {
System.out.print("Submitted transaction. The ordered response status codes for the actions are:");
tableTransactionResult.getTransactionActionResponses().forEach(tableTransactionActionResponse ->
System.out.printf("%n%d", tableTransactionActionResponse.getStatusCode()));
});
Shows how to handle a transaction with a failing TableTransactionAction via the provided TableTransactionFailedException, which contains the index of the first failing action in the transaction.
try {
TableTransactionResult transactionResult = tableClient.submitTransaction(transactionActions);
System.out.print("Submitted transaction. The ordered response status codes for the actions are:");
transactionResult.getTransactionActionResponses().forEach(tableTransactionActionResponse ->
System.out.printf("%n%d", tableTransactionActionResponse.getStatusCode()));
} catch (TableTransactionFailedException e) {
// If the transaction fails, the resulting exception contains the index of the first action that failed.
int failedActionIndex = e.getFailedTransactionActionIndex();
// You can use this index to modify the offending action or remove it from the list of actions to send in
// the transaction, for example.
transactionActions.remove(failedActionIndex);
// And then retry submitting the transaction.
}
Parameters:
Returns:
submitTransactionWithResponse
public Mono
Executes all TableTransactionAction within the list inside a transaction. When the call completes, either all TableTransactionAction in the transaction will succeed, or if a failure occurs, all TableTransactionAction in the transaction will be rolled back. Each TableTransactionAction must operate on a distinct row key. Attempting to pass multiple TableTransactionAction that share the same row key will cause an error.
Code Samples
Submits a transaction that contains multiple TableTransactionAction to be applied to TableEntity on a table. Prints out details of the Response<T> for the operation, as well as each TableTransactionAction's corresponding HTTP response.
List<TableTransactionAction> myTransactionActions = new ArrayList<>();
String myPartitionKey = "markers";
String myFirstEntityRowKey = "m001";
String mySecondEntityRowKey = "m002";
TableEntity myFirstEntity = new TableEntity(myPartitionKey, myFirstEntityRowKey)
.addProperty("Type", "Dry")
.addProperty("Color", "Red");
myTransactionActions.add(new TableTransactionAction(TableTransactionActionType.CREATE, myFirstEntity));
System.out.printf("Added create action for entity with partition key '%s', and row key '%s'.%n", myPartitionKey,
myFirstEntityRowKey);
TableEntity mySecondEntity = new TableEntity(myPartitionKey, mySecondEntityRowKey)
.addProperty("Type", "Wet")
.addProperty("Color", "Blue");
myTransactionActions.add(new TableTransactionAction(TableTransactionActionType.CREATE, mySecondEntity));
System.out.printf("Added create action for entity with partition key '%s', and row key '%s'.%n", myPartitionKey,
mySecondEntityRowKey);
tableAsyncClient.submitTransactionWithResponse(myTransactionActions)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(response -> {
System.out.printf("Response successful with status code: %d. The ordered response status codes of the"
+ " submitted actions are:", response.getStatusCode());
response.getValue().getTransactionActionResponses().forEach(tableTransactionActionResponse ->
System.out.printf("%n%d", tableTransactionActionResponse.getStatusCode()));
});
Shows how to handle a transaction with a failing TableTransactionAction via the provided TableTransactionFailedException, which contains the index of the first failing action in the transaction.
tableAsyncClient.submitTransactionWithResponse(myTransactionActions)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.doOnError(TableTransactionFailedException.class, e -> {
// If the transaction fails, the resulting exception contains the index of the first action that failed.
int failedActionIndex = e.getFailedTransactionActionIndex();
// You can use this index to modify the offending action or remove it from the list of actions to send
// in the transaction, for example.
transactionActions.remove(failedActionIndex);
// And then retry submitting the transaction.
})
.subscribe(response -> {
System.out.printf("Response successful with status code: %d. The ordered response status codes of the"
+ " submitted actions are:", response.getStatusCode());
response.getValue().getTransactionActionResponses().forEach(tableTransactionActionResponse ->
System.out.printf("%n%d", tableTransactionActionResponse.getStatusCode()));
});
Parameters:
Returns:
updateEntity
public Mono
Updates an existing TableEntity by merging the provided TableEntity with the existing TableEntity.
Code Samples
Updates a TableEntity on the table. Prints out the details of the updated TableEntity.
TableEntity tableEntity = new TableEntity("partitionKey", "rowKey")
.addProperty("Property", "Value");
tableAsyncClient.updateEntity(tableEntity)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(unused ->
System.out.printf("Table entity with partition key '%s' and row key '%s' was updated/created.",
"partitionKey", "rowKey"));
Parameters:
Returns:
updateEntity
public Mono
Updates an existing TableEntity using the specified TableEntityUpdateMode. The default TableEntityUpdateMode is MERGE.
When the TableEntityUpdateMode is MERGE, the provided TableEntity's properties will be merged into the existing TableEntity. When the TableEntityUpdateMode is REPLACE, the provided TableEntity's properties will completely replace those in the existing TableEntity.
Code Samples
Updates a TableEntity on the table with the specified TableEntityUpdateMode. Prints out the details of the updated TableEntity.
TableEntity myTableEntity = new TableEntity("partitionKey", "rowKey")
.addProperty("Property", "Value");
tableAsyncClient.updateEntity(myTableEntity, TableEntityUpdateMode.REPLACE)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(unused ->
System.out.printf("Table entity with partition key '%s' and row key '%s' was updated/created.",
"partitionKey", "rowKey"));
Parameters:
Returns:
updateEntityWithResponse
public Mono
Updates an existing TableEntity using the specified TableEntityUpdateMode. The default TableEntityUpdateMode is MERGE.
When the TableEntityUpdateMode is MERGE, the provided TableEntity's properties will be merged into the existing TableEntity. When the TableEntityUpdateMode is REPLACE, the provided TableEntity's properties will completely replace those in the existing TableEntity.
Code Samples
Updates a TableEntity on the table with the specified update
mode if the ETags
on both TableEntity match. Prints out the details of the Response<T> updated TableEntity.
TableEntity someTableEntity = new TableEntity("partitionKey", "rowKey")
.addProperty("Property", "Value");
tableAsyncClient.updateEntityWithResponse(someTableEntity, TableEntityUpdateMode.REPLACE, true)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(response ->
System.out.printf("Response successful with status code: %d. Table entity with partition key '%s' and"
+ " row key '%s' was updated.", response.getStatusCode(), "partitionKey", "rowKey"));
Parameters:
Returns:
upsertEntity
public Mono
Inserts an TableEntity into the table if it does not exist, or merges the TableEntity with the existing TableEntity otherwise.
Code Samples
Upserts an TableEntity into the table. Prints out the details of the upserted TableEntity.
TableEntity tableEntity = new TableEntity("partitionKey", "rowKey")
.addProperty("Property", "Value");
tableAsyncClient.upsertEntity(tableEntity)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(unused ->
System.out.printf("Table entity with partition key '%s' and row key '%s' was updated/created.",
"partitionKey", "rowKey"));
Parameters:
Returns:
upsertEntityWithResponse
public Mono
Inserts an TableEntity into the table if it does not exist, or updates the existing TableEntity using the specified TableEntityUpdateMode otherwise. The default TableEntityUpdateMode is MERGE.
When the TableEntityUpdateMode is MERGE, the provided TableEntity's properties will be merged into the existing TableEntity. When the TableEntityUpdateMode is REPLACE, the provided TableEntity's properties will completely replace those in the existing TableEntity.
Code Samples
Upserts an TableEntity into the table with the specified TableEntityUpdateMode if said TableEntity already exists. Prints out the details of the Response<T> and the upserted TableEntity.
TableEntity myTableEntity = new TableEntity("partitionKey", "rowKey")
.addProperty("Property", "Value");
tableAsyncClient.upsertEntityWithResponse(myTableEntity, TableEntityUpdateMode.REPLACE)
.contextWrite(Context.of("key1", "value1", "key2", "value2"))
.subscribe(response ->
System.out.printf("Response successful with status code: %d. Table entity with partition key '%s' and"
+ " row key '%s' was updated/created.", response.getStatusCode(), "partitionKey", "rowKey"));
Parameters:
Returns:
Applies to
Azure SDK for Java