Abstract
Protected
constructorInternal
Should not be instantiated be the user directly.
Private
Readonly
Internal
#listenersPrivate
Readonly
Internal
#parentAbstract
createCreates a new, additional, keyspace for this database.
NB. this is a "long-running" operation. See AstraAdminBlockingOptions about such blocking operations. The default polling interval is 1 second. Expect it to take roughly 8-10 seconds to complete.
The name of the new keyspace.
Optional
options: WithTimeout<"keyspaceAdminTimeoutMs">The options for the blocking behavior of the operation.
A promise that resolves when the operation completes.
await dbAdmin.createKeyspace('my_other_keyspace1');
// ['default_keyspace', 'my_other_keyspace1']
console.log(await dbAdmin.listKeyspaces());
await dbAdmin.createKeyspace('my_other_keyspace2', {
blocking: false,
});
// Will not include 'my_other_keyspace2' until the operation completes
console.log(await dbAdmin.listKeyspaces());
Note that if you choose not to block, the created keyspace will not be able to be used until the operation completes, which is up to the caller to determine.
Abstract
dbGets the underlying Db
object. The options for the db were set when the DbAdmin instance, or whatever spawned
it, was created.
The underlying Db
object.
const dbAdmin = client.admin().dbAdmin('<endpoint>', {
keyspace: 'my-keyspace',
useHttp2: false,
});
const db = dbAdmin.db();
console.log(db.id);
Abstract
dropDrops a keyspace from this database.
NB. this is a "long-running" operation. See AstraAdminBlockingOptions about such blocking operations. The default polling interval is 1 second. Expect it to take roughly 8-10 seconds to complete.
The name of the keyspace to drop.
Optional
options: WithTimeout<"keyspaceAdminTimeoutMs">The options for the blocking behavior of the operation.
A promise that resolves when the operation completes.
await dbAdmin.dropKeyspace('my_other_keyspace1');
// ['default_keyspace', 'my_other_keyspace2']
console.log(await dbAdmin.listKeyspaces());
await dbAdmin.dropKeyspace('my_other_keyspace2', {
blocking: false,
});
// Will still include 'my_other_keyspace2' until the operation completes
// ['default_keyspace', 'my_other_keyspace2']
console.log(await dbAdmin.listKeyspaces());
Note that if you choose not to block, the keyspace will still be able to be used until the operation completes, which is up to the caller to determine.
Emit an event.
Should probably never be used by the user directly.
Note: Errors thrown by any listeners will be silently ignored. It will not stop the propagation of the event.
The event to emit.
Any arguments to pass to the listeners.
true
if the event had listeners, false
otherwise.
Abstract
findReturns detailed information about the availability and usage of the vectorize embedding providers available on the current database (may vary based on cloud provider & region).
Optional
options: WithTimeout<"databaseAdminTimeoutMs">The options for the timeout of the operation.
The available embedding providers.
const { embeddingProviders } = await dbAdmin.findEmbeddingProviders();
// ['text-embedding-3-small', 'text-embedding-3-large', 'text-embedding-ada-002']
console.log(embeddingProviders['openai'].models.map(m => m.name));
Abstract
listRetrieves a list of all the keyspaces in the database.
Semantic order is not guaranteed, but implementations are free to assign one. AstraDbAdmin, for example, always has the first keyspace in the array be the default one.
Optional
options: WithTimeout<"keyspaceAdminTimeoutMs">A promise that resolves to list of all the keyspaces in the database.
const keyspaces = await dbAdmin.listKeyspaces();
// ['default_keyspace', 'my_other_keyspace']
console.log(keyspaces);
Unsubscribe from an event.
The event to unsubscribe from.
The listener to remove.
Subscribe to an event.
The event to listen for.
The callback to invoke when the event is emitted.
A function to unsubscribe the listener.
Subscribe to an event once.
The listener will be automatically unsubscribed after the first time it is called.
Note that the listener will be unsubscribed BEFORE the actual listener callback is invoked.
The event to listen for.
The callback to invoke when the event is emitted.
A function to prematurely unsubscribe the listener.
Remove all listeners for an event.
If no event is provided, all listeners for all events will be removed.
Optional
eventName: EThe event to remove listeners for.
Represents some DatabaseAdmin class used for managing some specific database.
This abstract version lists the core functionalities that any database admin class may have, but subclasses may have additional methods or properties (e.g. AstraDbAdmin).
Use Db.admin or AstraAdmin.dbAdmin to obtain an instance of this class.