v1

latestOpenAPI 3.1.1Apache 2.02026-07-2654130166.5 KB
Table
Metadata
Transaction

Atomically commit a batch of mixed table operations

Atomically commit a batch of table operations. This is a generalized version of BatchCreateTableVersions that supports mixed operation types within a single atomic transaction at the metadata layer.

Supported operation types:

  • DeclareTable: Declare (reserve) a new table
  • CreateTableVersion: Create a new version entry for a table
  • DeleteTableVersions: Delete version ranges from a table
  • DeregisterTable: Deregister (soft-delete) a table

All operations are committed atomically: either all succeed or none are applied.

post/v1/table/batch-commit

Request body

contextContext

Arbitrary context as key-value pairs. How to use the context is custom to the specific implementation.

On a request, it carries caller-provided context to the implementation. On a response, it carries implementation-provided context back to the caller.

REST NAMESPACE ONLY Context entries are mapped to and from HTTP headers using the header. prefix:

  • On a request, any entry whose key starts with header. is sent as an HTTP request header with the prefix stripped. For example, the entry {"header.Authorization": "Bearer abc"} is sent as the request header Authorization: Bearer abc.
  • On a response, every HTTP response header is returned as an entry whose key is the header name prefixed with header.. For example, the response header x-request-id: abc123 is returned as the entry {"header.x-request-id": "abc123"}.

Example request

{
  "operations": [
    {
      "create_table_version": {
        "naming_scheme": "V2"
      }
    }
  ]
}

Response

Result of atomically committing a batch of mixed table operations

contextContext

Arbitrary context as key-value pairs. How to use the context is custom to the specific implementation.

On a request, it carries caller-provided context to the implementation. On a response, it carries implementation-provided context back to the caller.

REST NAMESPACE ONLY Context entries are mapped to and from HTTP headers using the header. prefix:

  • On a request, any entry whose key starts with header. is sent as an HTTP request header with the prefix stripped. For example, the entry {"header.Authorization": "Bearer abc"} is sent as the request header Authorization: Bearer abc.
  • On a response, every HTTP response header is returned as an entry whose key is the header name prefixed with header.. For example, the response header x-request-id: abc123 is returned as the entry {"header.x-request-id": "abc123"}.
transaction_idstring

Optional transaction identifier for the batch commit

Example response

{
  "results": [
    {
      "declare_table": {
        "properties": {
          "owner": "Ralph",
          "created_at": "1452120468"
        }
      },
      "deregister_table": {
        "properties": {
          "owner": "Ralph",
          "created_at": "1452120468"
        }
      }
    }
  ]
}