Declare a table with the given name without touching storage. This is a metadata-only operation that records the table existence and sets up aspects like access control.
For DirectoryNamespace implementation, this creates a .lance-reserved file in the table directory
to mark the table’s existence without creating actual Lance data files.
The access token received from the authorization server in the OAuth 2.0 flow.
string identifier of an object in a namespace, following the Lance Namespace spec.
When the value is equal to the delimiter, it represents the root namespace.
For example, v1/namespace/$/list performs a ListNamespace on the root namespace.
An optional delimiter of the string identifier, following the Lance Namespace spec.
When not specified, the $ delimiter must be used.
Request for declaring a table.
Identity information of a request.
Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation.
REST NAMESPACE ONLY
Context entries are passed via HTTP headers using the naming convention
x-lance-ctx-<key>: <value>. For example, a context entry
{"trace_id": "abc123"} would be sent as the header x-lance-ctx-trace_id: abc123.
Optional storage location for the table. If not provided, the namespace implementation should determine the table location.
Whether to include vended credentials in the response storage_options.
When true, the implementation should provide vended credentials for accessing storage.
When not set, the implementation can decide whether to return vended credentials.
Properties stored on the table, if supported by the server.
Table properties result when declaring a table
Response for declaring a table.
Optional transaction identifier
Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access.
If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties.
{
"owner": "Ralph",
"created_at": "1452120468"
}
When true, the caller should use namespace table version operations (CreateTableVersion, BatchCreateTableVersions, DescribeTableVersion, ListTableVersions, BatchDeleteTableVersions) to manage table versions instead of relying on Lance's native version management.