- Eliminated the
TableTransactionalBatch
type and added theTableTransactionAction
type.- Submitting a batch transaction is now accomplished via the
TableClient.SubmitTransaction
orTableClient.SubmitTransactionAsync
methods which accepts anIEnumerable<TableTransactionAction>
.
- Submitting a batch transaction is now accomplished via the
TableClient.SubmitTransaction
andTableClient.SubmitTransactionAsync
now returnResponse<IReadOnlyList<Response>>
rather thanTableBatchResponse
.TableBatchResponse.GetResponseForEntity
is no longer necessary as the responses can now be correlated directly between theResponse<IReadOnlyList<Response>>
and the list ofTableTransactionAction
s provided to the submit method.
- Failed batch transaction operations now throw
TableTransactionFailedException
which contains aFailedTransactionActionIndex
property to indicate whichTableTransactionAction
caused the failure.
- Added
TableOdataFilter
to assist with odata string filter quoting and escaping.
- Merge operations no longer fail for Cosmos table endpoints.
Thank you to our developer community members who helped to make Azure Tables better with their contributions to this release:
- Joel Verhagen (GitHub)
- Added the
TableErrorCode
type which allows comparison of theErrorCode
onRequestFailedException
s thrown from client operations with a known error value. TableEntity
and custom entity types now supportBinaryData
properties.
- Fixed handling of paging headers when Table Storage returned a
x-ms-continuation-NextPartitionKey
but nox-ms-continuation-NextRowKey
. This was causing an HTTP 400 on the subsequent page query (A community contribution, courtesy of joelverhagen)
- Removed the
Timestamp
property from the serialized entity when sending it to the service as it is ignored by the service (A community contribution, courtesy of joelverhagen)
- Changed major version number to 12 to indicate this is the latest Tables package across all legacy versions and for cross language consistency.
TableClient
andTableServiceClient
now acceptAzureSasCredential
for SAS token scenarios rather than requiring developers to build the URI manually.
- Fixed an issue that prevented start/end row key and partition key values from being used in Sas tokens
- Added TableUriBuilder
- Added a constructor to
TableSasBuilder
andTableAccountSasBuilder
that accepts a Uri with a Sas token
- Fixed an issue which transposed the values used for EndPartitionKey and StartRowKey in the generated Sas token Uri
- Fixed an issue with custom entity model serialization of the
ETag
property - Properly create secondary endpoint Uri for Azurite endpoints
- Added support for Upsert batch operations.
- Added support for some numeric type coercion for
TableEntity
properties. - Added TryGetFailedEntityFromException method on
TablesTransactionalBatch
to extract the entity that caused a batch failure from aRequestFailedException
.
- Implemented batch operations
TableClient
'sGetEntity
method now exposes theselect
query option to allow for more efficient existence checks for a table entity
This is the first beta of the Azure.Data.Tables
client library. The Azure Tables client library can seamlessly target either Azure Table storage or Azure Cosmos DB table service endpoints with no code changes.
This package's documentation and samples demonstrate the new API.