List table metadata
Gets information about the tables in a keyspace.
|
Ready to write code? See the examples for this method to get started. If you are new to the Data API, check out the quickstart. |
Result
-
Python
-
TypeScript
-
Java
-
C#
-
curl
Returns an unordered list of ListTableDescriptor objects that describe each table.
Returns a promise that resolves to an unordered list of FullTableInfo objects that describe each table.
Returns an unordered list of TableDescriptor objects that describe each table.
Returns IEnumerable<TableInfo>, where each TableInfo object describes a table.
The status.tables field in the response describes each table.
Example response:
{
"status": {
"tables": [
{
"name": "customers",
"definition": {
"columns": {
"order_date": {
"type": "timestamp"
},
"preferences": {
"type": "map",
"keyType": "text",
"valueType": "text"
},
"is_active": {
"type": "boolean"
},
"user_id": {
"type": "uuid"
},
"name": {
"type": "text"
},
"login_attempts": {
"type": "set",
"valueType": "int"
},
"photo": {
"type": "blob"
},
"salary": {
"type": "decimal"
},
"order_id": {
"type": "uuid"
},
"age": {
"type": "int"
},
"tags": {
"type": "list",
"valueType": "text"
}
},
"primaryKey": {
"partitionBy": [
"user_id"
],
"partitionSort": {
"order_id": 1,
"order_date": -1
}
}
}
}
]
}
}
Parameters
-
Python
-
TypeScript
-
Java
-
C#
-
curl
Use the list_tables method, which belongs to the astrapy.Database class.
Method signature
list_tables(
*,
keyspace: str,
table_admin_timeout_ms: int,
request_timeout_ms: int,
timeout_ms: int,
) -> list[ListTableDescriptor]
| Name | Type | Summary |
|---|---|---|
|
|
Optional if you specified a keyspace when instantiating the Default: The database’s working keyspace. |
|
|
Optional.
A timeout, in milliseconds, for the underlying HTTP request.
If not provided, the |
Use the listTables method, which belongs to the Db class.
Method signature
async listTables(
options?: {
nameOnly?: false,
keyspace?: string,
timeout?: number | TimeoutDescriptor,
},
): TableDescriptor[]
| Name | Type | Summary |
|---|---|---|
|
|
Optional.
The options for this operation.
See Properties of |
| Name | Type | Summary |
|---|---|---|
|
|
Must be |
|
|
Optional if you specified a keyspace when instantiating the Default: The database’s working keyspace. |
|
|
Optional. A timeout to impose on the underlying API request. |
Use the listTables method, which belongs to the com.datastax.astra.client.databases.Database class.
Method signature
List<TableDescriptor> listTables()
List<TableDescriptor> listTables(ListTablesOptions listTableOptions)
| Name | Type | Summary |
|---|---|---|
|
Optional. The options for this operation, including the keyspace and timeouts. |
Use the ListTablesAsync method, which belongs to the Database class.
You can also use ListTables, which is the synchronous version of the method.
Method signature
public Task<IEnumerable<TableInfo>> ListTablesAsync(
ListTablesOptions options = null
);
| Name | Type | Summary |
|---|---|---|
|
Optional.
General API options for this operation, including the keyspace and timeout.
Keyspace is required unless you specified a keyspace when instantiating the |
Use the listTables command.
Command signature
curl -sS -L -X POST "API_ENDPOINT/api/json/v1/KEYSPACE_NAME" \
--header "Token: APPLICATION_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"listTables": {
"options": {
"explain": true
}
}
}'
| Name | Type | Summary |
|---|---|---|
|
|
Must be |
Examples
The following examples demonstrate how to list table metadata.
List table metadata
-
Python
-
TypeScript
-
Java
-
C#
-
curl
from astrapy import DataAPIClient
from astrapy.authentication import UsernamePasswordTokenProvider
from astrapy.constants import Environment
# Get a database
client = DataAPIClient(environment=Environment.HCD)
database = client.get_database(
"API_ENDPOINT",
token=UsernamePasswordTokenProvider("USERNAME", "PASSWORD"),
)
# List table metadata
result = database.list_tables(keyspace="KEYSPACE_NAME")
print(result)
import {
DataAPIClient,
UsernamePasswordTokenProvider,
} from "@datastax/astra-db-ts";
// Get a database
const client = new DataAPIClient({ environment: "hcd" });
const database = client.db("API_ENDPOINT", {
token: new UsernamePasswordTokenProvider("USERNAME", "PASSWORD"),
});
// List table metadata
(async function () {
const result = await database.listTables({ keyspace: "KEYSPACE_NAME" });
console.log(result);
})();
import com.datastax.astra.client.DataAPIClients;
import com.datastax.astra.client.databases.Database;
import com.datastax.astra.client.tables.definition.TableDescriptor;
import java.util.List;
public class Example {
public static void main(String[] args) {
// Get a database
Database database =
DataAPIClients.clientHCD("USERNAME", "PASSWORD")
.getDatabase("API_ENDPOINT", "KEYSPACE_NAME");
// List table metadata
List<TableDescriptor> result = database.listTables();
System.out.println(result);
}
}
using DataStax.AstraDB.DataApi;
using DataStax.AstraDB.DataApi.Core;
namespace Examples;
public class Program
{
static async Task Main()
{
// Get a database
var client = new DataAPIClient(
new CommandOptions() { Destination = DataAPIDestination.HCD }
);
var database = client.GetDatabase(
"API_ENDPOINT",
DataAPIClient.UsernamePasswordTokenProvider(
"USERNAME",
"PASSWORD"
),
"KEYSPACE_NAME"
);
// List table metadata
var result = await database.ListTablesAsync();
}
}
curl -sS -L -X POST "API_ENDPOINT/v1/KEYSPACE_NAME" \
--header "Token: APPLICATION_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"listTables": {
"options": {
"explain": true
}
}
}'
Client reference
-
Python
-
TypeScript
-
Java
-
C#
-
curl
For more information, see the client reference.
For more information, see the client reference.
For more information, see the client reference.
For more information, see the client reference.
Client reference documentation is not applicable for HTTP.