Get a database admin (Go)
The Data API clients use the Database Admin class to perform administrative operations, like managing keyspaces, within a specific database.
To perform administrative actions outside of a specific database, see Get an Astra DB admin (Go) instead.
The Database Admin class name varies by client.
The Go client uses AstraDatabaseAdmin.
|
You need an application token with permission to interact with the target database, such as the Database Administrator role. For more information, see Get endpoint and token. |
Result
Returns an AstraDatabaseAdmin struct that can perform administrative actions on the specified database.
Signature
Use the DatabaseAdmin method, which belongs to the Db type.
func (d *Db) DatabaseAdmin() (AstraDatabaseAdmin, error)
Alternatively, use the DatabaseAdminFromEndpoint method, which belongs to the AstraAdmin type.
func (a *AstraAdmin) DatabaseAdminFromEndpoint(
endpoint string,
opts ...options.APIOption
) *AstraDatabaseAdmin
Parameters
The DatabaseAdmin method from the Db type does not accept any parameters
Parameters for the DatabaseAdminFromEndpoint method from the AstraAdmin type:
| Name | Type | Summary |
|---|---|---|
|
|
The database’s API endpoint, typically formatted as |
|
Optional. A specification of options to override the inherited defaults. Use this to customize the interaction of the client with the admin object. For example, you can change the default timeouts or token. |
Examples
The following examples demonstrate how to get a database admin object.
Get a database admin from a database
package main
import (
"log"
"github.com/datastax/astra-db-go/v2/astra"
"github.com/datastax/astra-db-go/v2/astra/options"
)
func main() {
// Get a database
client := astra.NewClient()
database := client.Database(
"API_ENDPOINT",
options.API().SetToken("APPLICATION_TOKEN"),
)
// Get a database admin
_, err := database.DatabaseAdmin()
if err != nil {
log.Fatal(err)
}
}
Get a database admin from an admin
package main
import (
"log"
"github.com/datastax/astra-db-go/v2/astra"
"github.com/datastax/astra-db-go/v2/astra/options"
)
func main() {
client := astra.NewClient(
options.API().SetToken("APPLICATION_TOKEN"),
)
// Get an admin
admin, err := client.Admin()
if err != nil {
log.Fatal(err)
}
// Get a database admin
_ = admin.DatabaseAdminFromEndpoint("API_ENDPOINT")
}
Client reference
For more information, see the client reference.