- 1.73.0 (latest)
- 1.72.0
- 1.71.0
- 1.70.0
- 1.69.0
- 1.68.0
- 1.67.0
- 1.66.0
- 1.65.0
- 1.64.0
- 1.63.0
- 1.62.0
- 1.61.0
- 1.60.0
- 1.59.0
- 1.58.0
- 1.57.0
- 1.56.0
- 1.55.0
- 1.54.0
- 1.53.1
- 1.52.0
- 1.49.0
- 1.48.0
- 1.47.0
- 1.46.0
- 1.45.1
- 1.44.0
- 1.43.0
- 1.42.0
- 1.41.0
- 1.40.0
- 1.39.0
- 1.38.0
- 1.37.0
- 1.36.0
- 1.35.0
- 1.34.1
- 1.33.0
- 1.32.0
- 1.31.0
- 1.30.1
- 1.29.0
- 1.28.0
- 1.27.0
- 1.26.0
- 1.25.0
- 1.24.1
- 1.23.0
- 1.22.0
- 1.21.0
- 1.20.0
- 1.19.0
- 1.18.0
- 1.17.0
- 1.16.0
- 1.15.0
- 1.14.1
- 1.13.0
Copyright 2020 Google LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Package database is an auto-generated package for the Cloud Spanner API.
Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.
Example usage
To get started with this package, create a client.
ctx := context.Background() c, err := database.NewDatabaseAdminClient(ctx) if err != nil { // TODO: Handle error. } defer c.Close()
The client will use your default application credentials. Clients should be reused instead of created as needed. The methods of Client are safe for concurrent use by multiple goroutines. The returned client must be Closed when it is done being used.
Using the Client
The following is an example of making an API call with the newly created client.
ctx := context.Background() c, err := database.NewDatabaseAdminClient(ctx) if err != nil { // TODO: Handle error. } defer c.Close() req := &databasepb.ListDatabasesRequest{ // TODO: Fill request struct fields. // See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#ListDatabasesRequest. } it := c.ListDatabases(ctx, req) for { resp, err := it.Next() if err == iterator.Done { break } if err != nil { // TODO: Handle error. } // TODO: Use resp. _ = resp }
Use of Context
The ctx passed to NewDatabaseAdminClient is used for authentication requests and for creating the underlying connection, but is not used for subsequent calls. Individual methods on the client use the ctx given to them.
To close the open connection, use the Close() method.
For information about setting deadlines, reusing contexts, and more please visit https://pkg.go.dev/cloud.google.com/go.
Copyright 2020 Google LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Functions
func DatabaseAdminDatabasePath (deprecated)
DatabaseAdminDatabasePath returns the path for the database resource.
Deprecated: Use
fmt.Sprintf("projects/%s/instances/%s/databases/%s", project, instance, database)
instead.
func DatabaseAdminInstancePath (deprecated)
DatabaseAdminInstancePath returns the path for the instance resource.
Deprecated: Use
fmt.Sprintf("projects/%s/instances/%s", project, instance)
instead.
func DefaultAuthScopes
func DefaultAuthScopes() []string
DefaultAuthScopes reports the default set of authentication scopes to use with this package.
BackupIterator
type BackupIterator struct {
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response interface{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch func(pageSize int, pageToken string) (results []*databasepb.Backup, nextPageToken string, err error)
// contains filtered or unexported fields
}
BackupIterator manages a stream of *databasepb.Backup.
func (*BackupIterator) Next
func (it *BackupIterator) Next() (*databasepb.Backup, error)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*BackupIterator) PageInfo
func (it *BackupIterator) PageInfo() *iterator.PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
CopyBackupOperation
type CopyBackupOperation struct {
// contains filtered or unexported fields
}
CopyBackupOperation manages a long-running operation from CopyBackup.
func (*CopyBackupOperation) Done
func (op *CopyBackupOperation) Done() bool
Done reports whether the long-running operation has completed.
func (*CopyBackupOperation) Metadata
func (op *CopyBackupOperation) Metadata() (*databasepb.CopyBackupMetadata, error)
Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.
func (*CopyBackupOperation) Name
func (op *CopyBackupOperation) Name() string
Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.
func (*CopyBackupOperation) Poll
func (op *CopyBackupOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*databasepb.Backup, error)
Poll fetches the latest state of the long-running operation.
Poll also fetches the latest metadata, which can be retrieved by Metadata.
If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.
func (*CopyBackupOperation) Wait
func (op *CopyBackupOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*databasepb.Backup, error)
Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
See documentation of Poll for error-handling information.
CreateBackupOperation
type CreateBackupOperation struct {
// contains filtered or unexported fields
}
CreateBackupOperation manages a long-running operation from CreateBackup.
func (*CreateBackupOperation) Done
func (op *CreateBackupOperation) Done() bool
Done reports whether the long-running operation has completed.
func (*CreateBackupOperation) Metadata
func (op *CreateBackupOperation) Metadata() (*databasepb.CreateBackupMetadata, error)
Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.
func (*CreateBackupOperation) Name
func (op *CreateBackupOperation) Name() string
Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.
func (*CreateBackupOperation) Poll
func (op *CreateBackupOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*databasepb.Backup, error)
Poll fetches the latest state of the long-running operation.
Poll also fetches the latest metadata, which can be retrieved by Metadata.
If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.
func (*CreateBackupOperation) Wait
func (op *CreateBackupOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*databasepb.Backup, error)
Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
See documentation of Poll for error-handling information.
CreateDatabaseOperation
type CreateDatabaseOperation struct {
// contains filtered or unexported fields
}
CreateDatabaseOperation manages a long-running operation from CreateDatabase.
func (*CreateDatabaseOperation) Done
func (op *CreateDatabaseOperation) Done() bool
Done reports whether the long-running operation has completed.
func (*CreateDatabaseOperation) Metadata
func (op *CreateDatabaseOperation) Metadata() (*databasepb.CreateDatabaseMetadata, error)
Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.
func (*CreateDatabaseOperation) Name
func (op *CreateDatabaseOperation) Name() string
Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.
func (*CreateDatabaseOperation) Poll
func (op *CreateDatabaseOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*databasepb.Database, error)
Poll fetches the latest state of the long-running operation.
Poll also fetches the latest metadata, which can be retrieved by Metadata.
If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.
func (*CreateDatabaseOperation) Wait
func (op *CreateDatabaseOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*databasepb.Database, error)
Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
See documentation of Poll for error-handling information.
DatabaseAdminCallOptions
type DatabaseAdminCallOptions struct {
ListDatabases []gax.CallOption
CreateDatabase []gax.CallOption
GetDatabase []gax.CallOption
UpdateDatabaseDdl []gax.CallOption
DropDatabase []gax.CallOption
GetDatabaseDdl []gax.CallOption
SetIamPolicy []gax.CallOption
GetIamPolicy []gax.CallOption
TestIamPermissions []gax.CallOption
CreateBackup []gax.CallOption
CopyBackup []gax.CallOption
GetBackup []gax.CallOption
UpdateBackup []gax.CallOption
DeleteBackup []gax.CallOption
ListBackups []gax.CallOption
RestoreDatabase []gax.CallOption
ListDatabaseOperations []gax.CallOption
ListBackupOperations []gax.CallOption
ListDatabaseRoles []gax.CallOption
CancelOperation []gax.CallOption
DeleteOperation []gax.CallOption
GetOperation []gax.CallOption
ListOperations []gax.CallOption
}
DatabaseAdminCallOptions contains the retry settings for each method of DatabaseAdminClient.
DatabaseAdminClient
type DatabaseAdminClient struct {
// The call options for this service.
CallOptions *DatabaseAdminCallOptions
// LROClient is used internally to handle long-running operations.
// It is exposed so that its CallOptions can be modified if required.
// Users should not Close this client.
LROClient *lroauto.OperationsClient
// contains filtered or unexported fields
}
DatabaseAdminClient is a client for interacting with Cloud Spanner API. Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
Cloud Spanner Database Admin API
The Cloud Spanner Database Admin API can be used to:
create, drop, and list databases
update the schema of pre-existing databases
create, delete and list backups for a database
restore a database from an existing backup
func NewDatabaseAdminClient
func NewDatabaseAdminClient(ctx context.Context, opts ...option.ClientOption) (*DatabaseAdminClient, error)
NewDatabaseAdminClient creates a new database admin client based on gRPC. The returned client must be Closed when it is done being used to clean up its underlying connections.
Cloud Spanner Database Admin API
The Cloud Spanner Database Admin API can be used to:
create, drop, and list databases
update the schema of pre-existing databases
create, delete and list backups for a database
restore a database from an existing backup
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
// TODO: Use client.
_ = c
}
func (*DatabaseAdminClient) CancelOperation
func (c *DatabaseAdminClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error
CancelOperation is a utility method from google.longrunning.Operations.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
longrunningpb "google.golang.org/genproto/googleapis/longrunning"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &longrunningpb.CancelOperationRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest.
}
err = c.CancelOperation(ctx, req)
if err != nil {
// TODO: Handle error.
}
}
func (*DatabaseAdminClient) Close
func (c *DatabaseAdminClient) Close() error
Close closes the connection to the API service. The user should invoke this when the client is no longer required.
func (*DatabaseAdminClient) Connection
func (c *DatabaseAdminClient) Connection() *grpc.ClientConn
Connection returns a connection to the API service.
Deprecated.
func (*DatabaseAdminClient) CopyBackup
func (c *DatabaseAdminClient) CopyBackup(ctx context.Context, req *databasepb.CopyBackupRequest, opts ...gax.CallOption) (*CopyBackupOperation, error)
CopyBackup starts copying a Cloud Spanner Backup. The returned backup [long-running operation][google.longrunning.Operation] will have a name of the format projects/
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.CopyBackupRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#CopyBackupRequest.
}
op, err := c.CopyBackup(ctx, req)
if err != nil {
// TODO: Handle error.
}
resp, err := op.Wait(ctx)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*DatabaseAdminClient) CopyBackupOperation
func (c *DatabaseAdminClient) CopyBackupOperation(name string) *CopyBackupOperation
CopyBackupOperation returns a new CopyBackupOperation from a given name. The name must be that of a previously created CopyBackupOperation, possibly from a different process.
func (*DatabaseAdminClient) CreateBackup
func (c *DatabaseAdminClient) CreateBackup(ctx context.Context, req *databasepb.CreateBackupRequest, opts ...gax.CallOption) (*CreateBackupOperation, error)
CreateBackup starts creating a new Cloud Spanner Backup. The returned backup [long-running operation][google.longrunning.Operation] will have a name of the format projects/
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.CreateBackupRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#CreateBackupRequest.
}
op, err := c.CreateBackup(ctx, req)
if err != nil {
// TODO: Handle error.
}
resp, err := op.Wait(ctx)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*DatabaseAdminClient) CreateBackupOperation
func (c *DatabaseAdminClient) CreateBackupOperation(name string) *CreateBackupOperation
CreateBackupOperation returns a new CreateBackupOperation from a given name. The name must be that of a previously created CreateBackupOperation, possibly from a different process.
func (*DatabaseAdminClient) CreateDatabase
func (c *DatabaseAdminClient) CreateDatabase(ctx context.Context, req *databasepb.CreateDatabaseRequest, opts ...gax.CallOption) (*CreateDatabaseOperation, error)
CreateDatabase creates a new Cloud Spanner database and starts to prepare it for serving. The returned [long-running operation][google.longrunning.Operation] will have a name of the format <database_name>/operations/<operation_id> and can be used to track preparation of the database. The metadata field type is CreateDatabaseMetadata. The response field type is Database, if successful.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.CreateDatabaseRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#CreateDatabaseRequest.
}
op, err := c.CreateDatabase(ctx, req)
if err != nil {
// TODO: Handle error.
}
resp, err := op.Wait(ctx)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*DatabaseAdminClient) CreateDatabaseOperation
func (c *DatabaseAdminClient) CreateDatabaseOperation(name string) *CreateDatabaseOperation
CreateDatabaseOperation returns a new CreateDatabaseOperation from a given name. The name must be that of a previously created CreateDatabaseOperation, possibly from a different process.
func (*DatabaseAdminClient) CreateDatabaseWithRetry
func (c *DatabaseAdminClient) CreateDatabaseWithRetry(ctx context.Context, req *databasepb.CreateDatabaseRequest, opts ...gax.CallOption) (*CreateDatabaseOperation, error)
CreateDatabaseWithRetry creates a new database and retries the call if the backend returns a retryable error. The actual CreateDatabase RPC is only retried if the initial call did not reach the server. In other cases, the client will query the backend for the long-running operation that was created by the initial RPC and return that operation.
func (*DatabaseAdminClient) DeleteBackup
func (c *DatabaseAdminClient) DeleteBackup(ctx context.Context, req *databasepb.DeleteBackupRequest, opts ...gax.CallOption) error
DeleteBackup deletes a pending or completed Backup.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.DeleteBackupRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#DeleteBackupRequest.
}
err = c.DeleteBackup(ctx, req)
if err != nil {
// TODO: Handle error.
}
}
func (*DatabaseAdminClient) DeleteOperation
func (c *DatabaseAdminClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error
DeleteOperation is a utility method from google.longrunning.Operations.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
longrunningpb "google.golang.org/genproto/googleapis/longrunning"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &longrunningpb.DeleteOperationRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest.
}
err = c.DeleteOperation(ctx, req)
if err != nil {
// TODO: Handle error.
}
}
func (*DatabaseAdminClient) DropDatabase
func (c *DatabaseAdminClient) DropDatabase(ctx context.Context, req *databasepb.DropDatabaseRequest, opts ...gax.CallOption) error
DropDatabase drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be retained according to their expire_time. Note: Cloud Spanner might continue to accept requests for a few seconds after the database has been deleted.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.DropDatabaseRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#DropDatabaseRequest.
}
err = c.DropDatabase(ctx, req)
if err != nil {
// TODO: Handle error.
}
}
func (*DatabaseAdminClient) GetBackup
func (c *DatabaseAdminClient) GetBackup(ctx context.Context, req *databasepb.GetBackupRequest, opts ...gax.CallOption) (*databasepb.Backup, error)
GetBackup gets metadata on a pending or completed Backup.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.GetBackupRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#GetBackupRequest.
}
resp, err := c.GetBackup(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*DatabaseAdminClient) GetDatabase
func (c *DatabaseAdminClient) GetDatabase(ctx context.Context, req *databasepb.GetDatabaseRequest, opts ...gax.CallOption) (*databasepb.Database, error)
GetDatabase gets the state of a Cloud Spanner database.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.GetDatabaseRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#GetDatabaseRequest.
}
resp, err := c.GetDatabase(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*DatabaseAdminClient) GetDatabaseDdl
func (c *DatabaseAdminClient) GetDatabaseDdl(ctx context.Context, req *databasepb.GetDatabaseDdlRequest, opts ...gax.CallOption) (*databasepb.GetDatabaseDdlResponse, error)
GetDatabaseDdl returns the schema of a Cloud Spanner database as a list of formatted DDL statements. This method does not show pending schema updates, those may be queried using the Operations API.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.GetDatabaseDdlRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#GetDatabaseDdlRequest.
}
resp, err := c.GetDatabaseDdl(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*DatabaseAdminClient) GetIamPolicy
func (c *DatabaseAdminClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error)
GetIamPolicy gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set.
Authorization requires spanner.databases.getIamPolicy permission on resource. For backups, authorization requires spanner.backups.getIamPolicy permission on resource.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
iampb "google.golang.org/genproto/googleapis/iam/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &iampb.GetIamPolicyRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest.
}
resp, err := c.GetIamPolicy(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*DatabaseAdminClient) GetOperation
func (c *DatabaseAdminClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error)
GetOperation is a utility method from google.longrunning.Operations.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
longrunningpb "google.golang.org/genproto/googleapis/longrunning"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &longrunningpb.GetOperationRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest.
}
resp, err := c.GetOperation(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*DatabaseAdminClient) ListBackupOperations
func (c *DatabaseAdminClient) ListBackupOperations(ctx context.Context, req *databasepb.ListBackupOperationsRequest, opts ...gax.CallOption) *OperationIterator
ListBackupOperations lists the backup [long-running operations][google.longrunning.Operation] in the given instance. A backup operation has a name of the form projects/
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
"google.golang.org/api/iterator"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.ListBackupOperationsRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#ListBackupOperationsRequest.
}
it := c.ListBackupOperations(ctx, req)
for {
resp, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
}
func (*DatabaseAdminClient) ListBackups
func (c *DatabaseAdminClient) ListBackups(ctx context.Context, req *databasepb.ListBackupsRequest, opts ...gax.CallOption) *BackupIterator
ListBackups lists completed and pending backups. Backups returned are ordered by create_time in descending order, starting from the most recent create_time.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
"google.golang.org/api/iterator"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.ListBackupsRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#ListBackupsRequest.
}
it := c.ListBackups(ctx, req)
for {
resp, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
}
func (*DatabaseAdminClient) ListDatabaseOperations
func (c *DatabaseAdminClient) ListDatabaseOperations(ctx context.Context, req *databasepb.ListDatabaseOperationsRequest, opts ...gax.CallOption) *OperationIterator
ListDatabaseOperations lists database [longrunning-operations][google.longrunning.Operation]. A database operation has a name of the form projects/
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
"google.golang.org/api/iterator"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.ListDatabaseOperationsRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#ListDatabaseOperationsRequest.
}
it := c.ListDatabaseOperations(ctx, req)
for {
resp, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
}
func (*DatabaseAdminClient) ListDatabaseRoles
func (c *DatabaseAdminClient) ListDatabaseRoles(ctx context.Context, req *databasepb.ListDatabaseRolesRequest, opts ...gax.CallOption) *DatabaseRoleIterator
ListDatabaseRoles lists Cloud Spanner database roles.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
"google.golang.org/api/iterator"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.ListDatabaseRolesRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#ListDatabaseRolesRequest.
}
it := c.ListDatabaseRoles(ctx, req)
for {
resp, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
}
func (*DatabaseAdminClient) ListDatabases
func (c *DatabaseAdminClient) ListDatabases(ctx context.Context, req *databasepb.ListDatabasesRequest, opts ...gax.CallOption) *DatabaseIterator
ListDatabases lists Cloud Spanner databases.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
"google.golang.org/api/iterator"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.ListDatabasesRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#ListDatabasesRequest.
}
it := c.ListDatabases(ctx, req)
for {
resp, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
}
func (*DatabaseAdminClient) ListOperations
func (c *DatabaseAdminClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator
ListOperations is a utility method from google.longrunning.Operations.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
"google.golang.org/api/iterator"
longrunningpb "google.golang.org/genproto/googleapis/longrunning"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &longrunningpb.ListOperationsRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest.
}
it := c.ListOperations(ctx, req)
for {
resp, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
}
func (*DatabaseAdminClient) RestoreDatabase
func (c *DatabaseAdminClient) RestoreDatabase(ctx context.Context, req *databasepb.RestoreDatabaseRequest, opts ...gax.CallOption) (*RestoreDatabaseOperation, error)
RestoreDatabase create a new database by restoring from a completed backup. The new database must be in the same project and in an instance with the same instance configuration as the instance containing the backup. The returned database [long-running operation][google.longrunning.Operation] has a name of the format projects/
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.RestoreDatabaseRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#RestoreDatabaseRequest.
}
op, err := c.RestoreDatabase(ctx, req)
if err != nil {
// TODO: Handle error.
}
resp, err := op.Wait(ctx)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*DatabaseAdminClient) RestoreDatabaseOperation
func (c *DatabaseAdminClient) RestoreDatabaseOperation(name string) *RestoreDatabaseOperation
RestoreDatabaseOperation returns a new RestoreDatabaseOperation from a given name. The name must be that of a previously created RestoreDatabaseOperation, possibly from a different process.
func (*DatabaseAdminClient) SetIamPolicy
func (c *DatabaseAdminClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error)
SetIamPolicy sets the access control policy on a database or backup resource. Replaces any existing policy.
Authorization requires spanner.databases.setIamPolicy permission on resource. For backups, authorization requires spanner.backups.setIamPolicy permission on resource.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
iampb "google.golang.org/genproto/googleapis/iam/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &iampb.SetIamPolicyRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest.
}
resp, err := c.SetIamPolicy(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*DatabaseAdminClient) StartBackupOperation
func (c *DatabaseAdminClient) StartBackupOperation(ctx context.Context, backupID string, databasePath string, expireTime time.Time, opts ...gax.CallOption) (*CreateBackupOperation, error)
StartBackupOperation creates a backup of the given database. It will be stored as projects/
backupID must be unique across an instance.
expireTime is the time the backup will expire. It is respected to microsecond granularity.
databasePath must have the form projects/
func (*DatabaseAdminClient) TestIamPermissions
func (c *DatabaseAdminClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error)
TestIamPermissions returns permissions that the caller has on the specified database or backup resource.
Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has spanner.databases.list permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has spanner.backups.list permission on the containing instance.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
iampb "google.golang.org/genproto/googleapis/iam/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &iampb.TestIamPermissionsRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest.
}
resp, err := c.TestIamPermissions(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*DatabaseAdminClient) UpdateBackup
func (c *DatabaseAdminClient) UpdateBackup(ctx context.Context, req *databasepb.UpdateBackupRequest, opts ...gax.CallOption) (*databasepb.Backup, error)
UpdateBackup updates a pending or completed Backup.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.UpdateBackupRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#UpdateBackupRequest.
}
resp, err := c.UpdateBackup(ctx, req)
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
}
func (*DatabaseAdminClient) UpdateDatabaseDdl
func (c *DatabaseAdminClient) UpdateDatabaseDdl(ctx context.Context, req *databasepb.UpdateDatabaseDdlRequest, opts ...gax.CallOption) (*UpdateDatabaseDdlOperation, error)
UpdateDatabaseDdl updates the schema of a Cloud Spanner database by creating/altering/dropping tables, columns, indexes, etc. The returned [long-running operation][google.longrunning.Operation] will have a name of the format <database_name>/operations/<operation_id> and can be used to track execution of the schema change(s). The metadata field type is UpdateDatabaseDdlMetadata. The operation has no response.
Example
package main
import (
"context"
database "cloud.google.com/go/spanner/admin/database/apiv1"
databasepb "google.golang.org/genproto/googleapis/spanner/admin/database/v1"
)
func main() {
ctx := context.Background()
c, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &databasepb.UpdateDatabaseDdlRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/google.golang.org/genproto/googleapis/spanner/admin/database/v1#UpdateDatabaseDdlRequest.
}
op, err := c.UpdateDatabaseDdl(ctx, req)
if err != nil {
// TODO: Handle error.
}
err = op.Wait(ctx)
if err != nil {
// TODO: Handle error.
}
}
func (*DatabaseAdminClient) UpdateDatabaseDdlOperation
func (c *DatabaseAdminClient) UpdateDatabaseDdlOperation(name string) *UpdateDatabaseDdlOperation
UpdateDatabaseDdlOperation returns a new UpdateDatabaseDdlOperation from a given name. The name must be that of a previously created UpdateDatabaseDdlOperation, possibly from a different process.
DatabaseIterator
type DatabaseIterator struct {
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response interface{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch func(pageSize int, pageToken string) (results []*databasepb.Database, nextPageToken string, err error)
// contains filtered or unexported fields
}
DatabaseIterator manages a stream of *databasepb.Database.
func (*DatabaseIterator) Next
func (it *DatabaseIterator) Next() (*databasepb.Database, error)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*DatabaseIterator) PageInfo
func (it *DatabaseIterator) PageInfo() *iterator.PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
DatabaseRoleIterator
type DatabaseRoleIterator struct {
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response interface{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch func(pageSize int, pageToken string) (results []*databasepb.DatabaseRole, nextPageToken string, err error)
// contains filtered or unexported fields
}
DatabaseRoleIterator manages a stream of *databasepb.DatabaseRole.
func (*DatabaseRoleIterator) Next
func (it *DatabaseRoleIterator) Next() (*databasepb.DatabaseRole, error)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*DatabaseRoleIterator) PageInfo
func (it *DatabaseRoleIterator) PageInfo() *iterator.PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
OperationIterator
type OperationIterator struct {
// Response is the raw response for the current page.
// It must be cast to the RPC response type.
// Calling Next() or InternalFetch() updates this value.
Response interface{}
// InternalFetch is for use by the Google Cloud Libraries only.
// It is not part of the stable interface of this package.
//
// InternalFetch returns results from a single call to the underlying RPC.
// The number of results is no greater than pageSize.
// If there are no more results, nextPageToken is empty and err is nil.
InternalFetch func(pageSize int, pageToken string) (results []*longrunningpb.Operation, nextPageToken string, err error)
// contains filtered or unexported fields
}
OperationIterator manages a stream of *longrunningpb.Operation.
func (*OperationIterator) Next
func (it *OperationIterator) Next() (*longrunningpb.Operation, error)
Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.
func (*OperationIterator) PageInfo
func (it *OperationIterator) PageInfo() *iterator.PageInfo
PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
RestoreDatabaseOperation
type RestoreDatabaseOperation struct {
// contains filtered or unexported fields
}
RestoreDatabaseOperation manages a long-running operation from RestoreDatabase.
func (*RestoreDatabaseOperation) Done
func (op *RestoreDatabaseOperation) Done() bool
Done reports whether the long-running operation has completed.
func (*RestoreDatabaseOperation) Metadata
func (op *RestoreDatabaseOperation) Metadata() (*databasepb.RestoreDatabaseMetadata, error)
Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.
func (*RestoreDatabaseOperation) Name
func (op *RestoreDatabaseOperation) Name() string
Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.
func (*RestoreDatabaseOperation) Poll
func (op *RestoreDatabaseOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*databasepb.Database, error)
Poll fetches the latest state of the long-running operation.
Poll also fetches the latest metadata, which can be retrieved by Metadata.
If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.
func (*RestoreDatabaseOperation) Wait
func (op *RestoreDatabaseOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*databasepb.Database, error)
Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
See documentation of Poll for error-handling information.
UpdateDatabaseDdlOperation
type UpdateDatabaseDdlOperation struct {
// contains filtered or unexported fields
}
UpdateDatabaseDdlOperation manages a long-running operation from UpdateDatabaseDdl.
func (*UpdateDatabaseDdlOperation) Done
func (op *UpdateDatabaseDdlOperation) Done() bool
Done reports whether the long-running operation has completed.
func (*UpdateDatabaseDdlOperation) Metadata
func (op *UpdateDatabaseDdlOperation) Metadata() (*databasepb.UpdateDatabaseDdlMetadata, error)
Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.
func (*UpdateDatabaseDdlOperation) Name
func (op *UpdateDatabaseDdlOperation) Name() string
Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.
func (*UpdateDatabaseDdlOperation) Poll
func (op *UpdateDatabaseDdlOperation) Poll(ctx context.Context, opts ...gax.CallOption) error
Poll fetches the latest state of the long-running operation.
Poll also fetches the latest metadata, which can be retrieved by Metadata.
If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.
func (*UpdateDatabaseDdlOperation) Wait
func (op *UpdateDatabaseDdlOperation) Wait(ctx context.Context, opts ...gax.CallOption) error
Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
See documentation of Poll for error-handling information.