Optional embeddingThe API key for the embedding service to use, or the EmbeddingHeadersProvider if using a provider that requires it (e.g. AWS bedrock).
Optional ifOptional keyspaceThe keyspace to use for the operation.
Optional loggingThe configuration for logging events emitted by the DataAPIClient.
This can be set at any level of the major class hierarchy, and will be inherited by all child classes.
See LoggingConfig for much more information on configuration, outputs, and inheritance.
Optional maxThis temporary error-ing property exists for migration convenience, and will be removed in a future version.
maxTimeMS option is no longer available; the timeouts system has been overhauled, and timeouts should now be set using timeout, and defaults in timeoutDefaults. You may generally Ctrl+R replace maxTimeMS with timeout to retain the same behavior.Optional namespaceThis temporary error-ing property exists for migration convenience, and will be removed in a future version.
namespace terminology has been removed, and replaced with keyspace throughout the client.Optional rerankingThe API key for the reranking service to use, or the RerankingHeadersProvider if using a provider that requires it (e.g. AWS bedrock).
Optional Beta serdesAdvanced & currently somewhat unstable features related to customizing the table's ser/des behavior at a lower level.
Use with caution. See official DataStax documentation for more info.
Optional timeoutLets you specify timeouts for individual methods, in two different formats:
// Both `requestTimeoutMs` and `generalMethodTimeoutMs` are set to 1000ms.
await coll.insertOne({ ... }, { timeout: 1000 });
// `requestTimeoutMs` is left as default, `generalMethodTimeoutMs` is set to 2000ms.
await coll.insertOne({ ... }, { timeout: { generalMethodTimeoutMs: 2000 } });
// Both `requestTimeoutMs` and `generalMethodTimeoutMs` are set to 2000ms.
await coll.insertMany([...], {
timeout: { requestTimeoutMs: 2000, generalMethodTimeoutMs: 2000 },
});
// `requestTimeoutMs` is left as default, `generalMethodTimeoutMs` is set to 2000ms.
await coll.insertMany([...], { timeout: 2000 });
// `requestTimeoutMs` is left as default, `generalMethodTimeoutMs` is set to 2000ms.
await coll.insertMany([...], { timeout: { generalMethodTimeoutMs: 2000 } });
// Both `requestTimeoutMs` and `generalMethodTimeoutMs` are set to 2000ms.
await coll.insertMany([...], {
timeout: { requestTimeoutMs: 2000, generalMethodTimeoutMs: 2000 },
});
See TimeoutDescriptor for much more information.
TimeoutDescriptor
Optional timeoutThe default timeout options for any operation performed on this Table instance.
See TimeoutDescriptor for much more information about timeouts.
// The request timeout for all operations is set to 1000ms.
const client = new DataAPIClient('...', {
timeoutDefaults: { requestTimeoutMs: 1000 },
});
// The request timeout for all operations borne from this Db is set to 2000ms.
const db = client.db('...', {
timeoutDefaults: { requestTimeoutMs: 2000 },
});
The timeout options are inherited by all child classes, and can be overridden at any level, including the individual method level.
Individual-method-level overrides can vary in behavior depending on the method; again, see TimeoutDescriptor.
The default timeout options are as follows:
requestTimeoutMs: 15000generalMethodTimeoutMs: 30000collectionAdminTimeoutMs: 60000tableAdminTimeoutMs: 30000databaseAdminTimeoutMs: 600000keyspaceAdminTimeoutMs: 30000TimeoutDescriptor
Options for creating a new table (via Db.createTable).
See Db.createTable & Table for more information.