Skip to main content

Register a table in the given namespace using given metadata file location

POST 

/v1/:prefix/namespaces/:namespace/register

Register a table using given metadata file location.

Request​

Path Parameters

    prefix stringrequired

    The catalog name in Gravitino, as returned in defaults.prefix by GET /v1/config

    namespace stringrequired

    A namespace identifier as a single string. Multipart namespace parts must be separated by the namespace separator as indicated via the /config override namespace-separator, which defaults to the unit separator 0x1F byte (url encoded %1F). To be compatible with older clients, servers must use both the advertised separator and 0x1F as valid separators when decoding namespaces. The namespace-separator should be provided in a url encoded form.

    Examples:

    Example: accounting

Header Parameters

    X-Iceberg-Access-Delegation string

    Possible values: [vended-credentials, remote-signing]

    Optional signal to the server that the client supports delegated access via a comma-separated list of access mechanisms. The server may choose to supply access via any or none of the requested mechanisms.

    Specific properties and handling for vended-credentials and remote-signing are documented in the LoadTableResult schema section of this spec document.

    Example: vended-credentials,remote-signing
    Idempotency-Key uuid

    Possible values: >= 36 characters and <= 36 characters

    Optional client-provided idempotency key for safe request retries.

    When present, the server ensures no additional effects for requests that carry the same Idempotency-Key. If a prior request with this key has been finalized, the server returns an equivalent final response without re-running the operation. The response body may reflect a newer state of the catalog than existed at the time of the commit.

    Finalization rules:

    • Finalize & replay: 200, 201, 204, and deterministic terminal 4xx (including 409 such as AlreadyExists, NamespaceNotEmpty, etc.)
    • Do not finalize (not stored/replayed): 5xx

    Key Requirements:

    • Key format: UUIDv7 in string form (RFC 9562).
    • The idempotency key must be globally unique (no reuse across different operations).
    • Catalogs SHOULD NOT expire keys before the end of the advertised token lifetime.
    • If Idempotency-Key is used, clients MUST reuse the same key when retrying the same logical operation and MUST generate a new key for a different operation.

Body

required

    name stringrequired
    metadata-location stringrequired
    overwrite boolean

    Whether to overwrite table metadata if the table already exists

Responses​

Table metadata result when loading a table

Response Headers

  • etag

    string

    Identifies a unique version of the table metadata. Implementations that support ETags should produce unique tags for responses that return different metadata content but represent the same version of table metadata. For example, the snapshots query parameter may result in different metadata representations depending on whether refs or all is provided, therefore should have distinct ETags.

Schema

    metadata-location stringnullable

    May be null if the table is staged as part of a transaction

    metadata

    object

    required

    format-version integerrequired

    Possible values: >= 1 and <= 3

    table-uuid stringrequired
    location string
    last-updated-ms int64
    next-row-id int64

    A long higher than all assigned row IDs; the next snapshot's first-row-id.

    properties

    object

    property name* string
    schemas object[]
    current-schema-id integer
    last-column-id integer

    partition-specs

    object[]

  • Array [

  • spec-id integer

    fields

    object[]

    required

  • Array [

  • field-id integer
    source-id integerrequired
    name stringrequired
    transform Transform (string)required
  • ]

  • ]

  • default-spec-id integer
    last-partition-id integer

    sort-orders

    object[]

  • Array [

  • order-id integerrequired

    fields

    object[]

    required

  • Array [

  • source-id integerrequired
    transform Transform (string)required
    direction SortDirection (string)required

    Possible values: [asc, desc]

    null-order NullOrder (string)required

    Possible values: [nulls-first, nulls-last]

  • ]

  • ]

  • default-sort-order-id integer

    encryption-keys

    object[]

  • Array [

  • key-id stringrequired
    encrypted-key-metadata byterequired
    encrypted-by-id string

    properties

    object

    property name* string
  • ]

  • snapshots

    object[]

  • Array [

  • snapshot-id int64required
    parent-snapshot-id int64
    sequence-number int64
    timestamp-ms int64required
    manifest-list stringrequired

    Location of the snapshot's manifest list file

    first-row-id int64

    The first _row_id assigned to the first row in the first data file in the first manifest

    added-rows int64

    The upper bound of the number of rows with assigned row IDs

    summary

    object

    required

    operation stringrequired

    Possible values: [append, replace, overwrite, delete]

    property name* string
    schema-id integer
  • ]

  • refs

    object

    property name*

    SnapshotReference

    type stringrequired

    Possible values: [tag, branch]

    snapshot-id int64required
    max-ref-age-ms int64
    max-snapshot-age-ms int64
    min-snapshots-to-keep integer
    current-snapshot-id int64
    last-sequence-number int64

    snapshot-log

    object[]

  • Array [

  • snapshot-id int64required
    timestamp-ms int64required
  • ]

  • metadata-log

    object[]

  • Array [

  • metadata-file stringrequired
    timestamp-ms int64required
  • ]

  • statistics

    object[]

  • Array [

  • snapshot-id int64required
    statistics-path stringrequired
    file-size-in-bytes int64required
    file-footer-size-in-bytes int64required

    blob-metadata

    object[]

    required

  • Array [

  • type stringrequired
    snapshot-id int64required
    sequence-number int64required
    fields integer[]required

    properties

    object

    property name* string
  • ]

  • ]

  • partition-statistics

    object[]

  • Array [

  • snapshot-id int64required
    statistics-path stringrequired
    file-size-in-bytes int64required
  • ]

  • config

    object

    property name* string

    storage-credentials

    object[]

  • Array [

  • prefix stringrequired

    Indicates a storage location prefix where the credential is relevant. Clients should choose the most specific prefix (by selecting the longest prefix) if several credentials of the same type are available.

    config

    object

    required

    property name* string
  • ]

Loading...