curl --request POST \
--url {scheme}://{host}:{port}/{basePath}/v1/materialized_view/{id}/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"source_query": "<string>",
"output_schema": "<string>",
"identity": {
"api_key": "<string>",
"auth_token": "<string>"
},
"context": {},
"id": [
"<string>"
],
"udtf_spec": {
"udtf": "<string>",
"udtf_sha": "<string>",
"udtf_name": "<string>",
"udtf_version": "<string>",
"input_columns": [
"<string>"
],
"partition_by": "<string>",
"partition_by_indexed_column": "<string>",
"num_cpus": 123,
"num_gpus": 123,
"memory": 123,
"error_handling": {},
"batch": true,
"manifest": "<string>",
"manifest_checksum": "<string>"
},
"with_no_data": true,
"auto_refresh": false
}
'import requests
url = "{scheme}://{host}:{port}/{basePath}/v1/materialized_view/{id}/create"
payload = {
"source_query": "<string>",
"output_schema": "<string>",
"identity": {
"api_key": "<string>",
"auth_token": "<string>"
},
"context": {},
"id": ["<string>"],
"udtf_spec": {
"udtf": "<string>",
"udtf_sha": "<string>",
"udtf_name": "<string>",
"udtf_version": "<string>",
"input_columns": ["<string>"],
"partition_by": "<string>",
"partition_by_indexed_column": "<string>",
"num_cpus": 123,
"num_gpus": 123,
"memory": 123,
"error_handling": {},
"batch": True,
"manifest": "<string>",
"manifest_checksum": "<string>"
},
"with_no_data": True,
"auto_refresh": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
source_query: '<string>',
output_schema: '<string>',
identity: {api_key: '<string>', auth_token: '<string>'},
context: {},
id: ['<string>'],
udtf_spec: {
udtf: '<string>',
udtf_sha: '<string>',
udtf_name: '<string>',
udtf_version: '<string>',
input_columns: ['<string>'],
partition_by: '<string>',
partition_by_indexed_column: '<string>',
num_cpus: 123,
num_gpus: 123,
memory: 123,
error_handling: {},
batch: true,
manifest: '<string>',
manifest_checksum: '<string>'
},
with_no_data: true,
auto_refresh: false
})
};
fetch('{scheme}://{host}:{port}/{basePath}/v1/materialized_view/{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/materialized_view/{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([
'source_query' => '<string>',
'output_schema' => '<string>',
'identity' => [
'api_key' => '<string>',
'auth_token' => '<string>'
],
'context' => [
],
'id' => [
'<string>'
],
'udtf_spec' => [
'udtf' => '<string>',
'udtf_sha' => '<string>',
'udtf_name' => '<string>',
'udtf_version' => '<string>',
'input_columns' => [
'<string>'
],
'partition_by' => '<string>',
'partition_by_indexed_column' => '<string>',
'num_cpus' => 123,
'num_gpus' => 123,
'memory' => 123,
'error_handling' => [
],
'batch' => true,
'manifest' => '<string>',
'manifest_checksum' => '<string>'
],
'with_no_data' => true,
'auto_refresh' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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/materialized_view/{id}/create"
payload := strings.NewReader("{\n \"source_query\": \"<string>\",\n \"output_schema\": \"<string>\",\n \"identity\": {\n \"api_key\": \"<string>\",\n \"auth_token\": \"<string>\"\n },\n \"context\": {},\n \"id\": [\n \"<string>\"\n ],\n \"udtf_spec\": {\n \"udtf\": \"<string>\",\n \"udtf_sha\": \"<string>\",\n \"udtf_name\": \"<string>\",\n \"udtf_version\": \"<string>\",\n \"input_columns\": [\n \"<string>\"\n ],\n \"partition_by\": \"<string>\",\n \"partition_by_indexed_column\": \"<string>\",\n \"num_cpus\": 123,\n \"num_gpus\": 123,\n \"memory\": 123,\n \"error_handling\": {},\n \"batch\": true,\n \"manifest\": \"<string>\",\n \"manifest_checksum\": \"<string>\"\n },\n \"with_no_data\": true,\n \"auto_refresh\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
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/materialized_view/{id}/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"source_query\": \"<string>\",\n \"output_schema\": \"<string>\",\n \"identity\": {\n \"api_key\": \"<string>\",\n \"auth_token\": \"<string>\"\n },\n \"context\": {},\n \"id\": [\n \"<string>\"\n ],\n \"udtf_spec\": {\n \"udtf\": \"<string>\",\n \"udtf_sha\": \"<string>\",\n \"udtf_name\": \"<string>\",\n \"udtf_version\": \"<string>\",\n \"input_columns\": [\n \"<string>\"\n ],\n \"partition_by\": \"<string>\",\n \"partition_by_indexed_column\": \"<string>\",\n \"num_cpus\": 123,\n \"num_gpus\": 123,\n \"memory\": 123,\n \"error_handling\": {},\n \"batch\": true,\n \"manifest\": \"<string>\",\n \"manifest_checksum\": \"<string>\"\n },\n \"with_no_data\": true,\n \"auto_refresh\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("{scheme}://{host}:{port}/{basePath}/v1/materialized_view/{id}/create")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"source_query\": \"<string>\",\n \"output_schema\": \"<string>\",\n \"identity\": {\n \"api_key\": \"<string>\",\n \"auth_token\": \"<string>\"\n },\n \"context\": {},\n \"id\": [\n \"<string>\"\n ],\n \"udtf_spec\": {\n \"udtf\": \"<string>\",\n \"udtf_sha\": \"<string>\",\n \"udtf_name\": \"<string>\",\n \"udtf_version\": \"<string>\",\n \"input_columns\": [\n \"<string>\"\n ],\n \"partition_by\": \"<string>\",\n \"partition_by_indexed_column\": \"<string>\",\n \"num_cpus\": 123,\n \"num_gpus\": 123,\n \"memory\": 123,\n \"error_handling\": {},\n \"batch\": true,\n \"manifest\": \"<string>\",\n \"manifest_checksum\": \"<string>\"\n },\n \"with_no_data\": true,\n \"auto_refresh\": false\n}"
response = http.request(request)
puts response.read_body{
"version": 1,
"context": {},
"job_id": "<string>"
}{
"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 materialized view
Create a materialized view at identifier id. The view may be
query-backed, UDTF-backed, or chunker-backed, controlled by the
kind discriminator.
A valid request URL is required to generate request examples{
"version": 1,
"context": {},
"job_id": "<string>"
}{
"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.
Body
The materialized view kind.
query— plain query-backed view (no UDTF), 1:1 rows.udtf— batch UDTF-backed view (N:M rows, full refresh).chunker, aka 'scalar_udtf' — chunker view (1:N row expansion, incremental refresh).
query, udtf, chunker Opaque serialized representation of the source query that defines the view's input. The format is defined by the client; the namespace server stores it without interpreting it.
Base64-encoded Arrow schema of the view output
Identity information of a request.
Show child attributes
Show child attributes
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
View identifier path (namespace + view name)
UDTF descriptor. Required when kind is udtf or chunker;
must be null when kind is query.
Show child attributes
Show child attributes
If false, the server kicks off an initial refresh immediately after creating the view and the response includes a job ID.
If true, the view is automatically refreshed when source-table data changes past the deployment-level threshold. Boolean opt-in only; the threshold and cooldown are configured on the deployment, not per-view.
Response
Materialized view created
The commit version that created the materialized view
x >= 0Arbitrary 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
Refresh job ID, populated only when with_no_data was false.
Was this page helpful?