curl --request POST \
--url {scheme}://{host}:{port}/{basePath}/v1/table/{id}/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/vnd.apache.arrow.stream' \
--data '"<string>"'import requests
url = "{scheme}://{host}:{port}/{basePath}/v1/table/{id}/create"
payload = "<string>"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/vnd.apache.arrow.stream"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/vnd.apache.arrow.stream'
},
body: JSON.stringify('<string>')
};
fetch('{scheme}://{host}:{port}/{basePath}/v1/table/{id}/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "62437",
CURLOPT_URL => "{scheme}://{host}:{port}/{basePath}/v1/table/{id}/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode('<string>'),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/vnd.apache.arrow.stream"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "{scheme}://{host}:{port}/{basePath}/v1/table/{id}/create"
payload := strings.NewReader("\"<string>\"")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/vnd.apache.arrow.stream")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("{scheme}://{host}:{port}/{basePath}/v1/table/{id}/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/vnd.apache.arrow.stream")
.body("\"<string>\"")
.asString();require 'uri'
require 'net/http'
url = URI("{scheme}://{host}:{port}/{basePath}/v1/table/{id}/create")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/vnd.apache.arrow.stream'
request.body = "\"<string>\""
response = http.request(request)
puts response.read_body{
"context": {},
"transaction_id": "<string>",
"location": "<string>",
"version": 1,
"storage_options": {},
"properties": {
"owner": "Ralph",
"created_at": "1452120468"
}
}{
"type": "/errors/bad-request",
"title": "Malformed request",
"status": 400,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/unauthorized-request",
"title": "No valid authentication credentials for the operation",
"status": 401,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/forbidden-request",
"title": "Not authorized to make this request",
"status": 403,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/not-found-error",
"title": "Not found Error",
"status": 404,
"detail": "",
"instance": "/v1/namespaces/{ns}"
}{
"type": "/errors/conflict",
"title": "The namespace has been concurrently modified",
"status": 409,
"detail": "",
"instance": "/v1/namespaces/{ns}"
}{
"type": "/errors/service-unavailable",
"title": "Slow down",
"status": 503,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/server-error",
"title": "Internal Server Error",
"status": 500,
"detail": "",
"instance": "/v1/namespaces"
}Create a table with the given name
Create table id in the namespace with the given data in Arrow IPC stream.
The schema of the Arrow IPC stream is used as the table schema. If the stream is empty, the API creates a new empty table.
REST NAMESPACE ONLY
REST namespace uses Arrow IPC stream as the request body.
It passes in the CreateTableRequest information in the following way:
id: pass through path parameter of the same namemode: pass through query parameter of the same nameproperties: serialize as a single JSON-encoded query parameter such asproperties={"user":"alice","team":"eng"}; these are business logic properties managed by the namespace implementation outside Lance contextstorage_options: serialize as a single JSON-encoded query parameter such asstorage_options={"aws_region":"us-east-1","timeout":"30s"}; these configure write-time overrides for data and metadata written during table creation
A valid request URL is required to generate request examples{
"context": {},
"transaction_id": "<string>",
"location": "<string>",
"version": 1,
"storage_options": {},
"properties": {
"owner": "Ralph",
"created_at": "1452120468"
}
}{
"type": "/errors/bad-request",
"title": "Malformed request",
"status": 400,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/unauthorized-request",
"title": "No valid authentication credentials for the operation",
"status": 401,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/forbidden-request",
"title": "Not authorized to make this request",
"status": 403,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/not-found-error",
"title": "Not found Error",
"status": 404,
"detail": "",
"instance": "/v1/namespaces/{ns}"
}{
"type": "/errors/conflict",
"title": "The namespace has been concurrently modified",
"status": 409,
"detail": "",
"instance": "/v1/namespaces/{ns}"
}{
"type": "/errors/service-unavailable",
"title": "Slow down",
"status": 503,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/server-error",
"title": "Internal Server Error",
"status": 500,
"detail": "",
"instance": "/v1/namespaces"
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
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.
Query Parameters
An optional delimiter of the string identifier, following the Lance Namespace spec.
When not specified, the $ delimiter must be used.
Business logic properties managed by the namespace implementation outside Lance context.
The map is translated to a single JSON-encoded query parameter such as
properties={"user":"alice","team":"eng"}.
Storage options that configure overrides for writing table data and metadata during
table creation. These are passed to Lance for the write path.
The map is translated to a single JSON-encoded query parameter such as
storage_options={"aws_region":"us-east-1","timeout":"30s"}.
Body
Arrow IPC data
The body is of type file.
Response
Table properties result when creating a table
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 headerAuthorization: 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 headerx-request-id: abc123is returned as the entry{"header.x-request-id": "abc123"}.
Show child attributes
Show child attributes
Optional transaction identifier
x >= 0Configuration 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.
Show child attributes
Show child attributes
Business logic properties stored and managed by the namespace implementation outside Lance context. If the implementation does not support table properties, it should return null for this field.
Show child attributes
Show child attributes
{
"owner": "Ralph",
"created_at": "1452120468"
}
Was this page helpful?