Skip to content

Tables: Implement batch operation support for TableInternalRestClient #11919

@christothes

Description

@christothes

Summary

The Table service supports batch transactions on entities that are in the same table and belong to the same partition group. Multiple Insert Entity, Update Entity, Merge Entity, Delete Entity, Insert Or Replace Entity, and Insert Or Merge Entity operations are supported within a single transaction.

The focus of this work is to implement batch operations support in the rest client for at least one operation type.

Scope of Work

  • Implement rest client support for creating and sending batch operation requests for a single operation such as Insert Entity
    • supports generating multipart/mixed content body
      • --batch_<some GUID> content boundary
      • boundary=changeset_<some GUID> content boundary
      • --changeset_<some GUID> content boundaries per sub operation
  • Implement rest client support for receiving batch operation responses for a single operation such as Insert Entity

Out of Scope

Any modification to the swagger or generator to auto-generate support in the rest client

Related Issues and References

https://docs.microsoft.com/en-us/rest/api/storageservices/performing-entity-group-transactions
https://github.com/Azure/azure-sdk-for-net/blob/master/sdk/tables/Azure.Data.Tables/src/TableInternalRestClient.cs
https://github.com/Azure/azure-sdk-for-net/blob/master/sdk/tables/Azure.Data.Tables/src/TableInternalClient.cs
https://github.com/Azure/azure-sdk-for-net/blob/master/sdk/tables/Azure.Data.Tables/src/TableClient.cs

Metadata

Metadata

Assignees

Labels

ClientThis issue is related to a non-management packageTablesblocking-releaseBlocks release

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions