Class Backup (7.0.0)

TheBackup class represents a Cloud Spanner backup.

Create aBackup object to interact with or create a Cloud Spanner backup or copy a backup.

Package

@google-cloud/spanner

Example

const{Spanner}=require('@google-cloud/spanner');constspanner=newSpanner();constinstance=spanner.instance('my-instance');constbackup=instance.backup('my-backup');
*@exampleconst{Spanner}=require('@google-cloud/spanner');constspanner=newSpanner();constinstance=spanner.instance('my-instance');constsourceBackup=instance.backup('my-source-backup');constcopyBackup=instance.copyBackup('my-copy-backup','my-source-backup');

Constructors

(constructor)(instance, name, sourceName)

constructor(instance:Instance,name:string,sourceName?:string);

Constructs a new instance of theBackup class

Parameters
NameDescription
instanceInstance
namestring
sourceNamestring

Properties

formattedName_

formattedName_:string;

id

id:string;

instanceFormattedName_

instanceFormattedName_:string;

metadata

metadata?:databaseAdmin.spanner.admin.database.v1.IBackup;

request

request:BackupRequest;

resourceHeader_

resourceHeader_:{[k:string]:string;};

sourceName

sourceName:string|undefined;

Methods

create(options)

create(options:CreateBackupOptions|CopyBackupOptions):Promise<CreateBackupResponse>|Promise<CopyBackupResponse>;

Create a backup.

Backup#create

Parameter
NameDescription
optionsCreateBackupOptions |CopyBackupOptions

Parameters for creating a backup.

Returns
TypeDescription
Promise<CreateBackupResponse> |Promise<CopyBackupResponse>

{Promise

Example
const{Spanner}=require('@google-cloud/spanner');constspanner=newSpanner();constinstance=spanner.instance('my-instance');constoneDay=1000*60*60*24;constexpireTime=Date.now()+oneDay;constversionTime=Date.now()-oneDay;constbackup=instance.backup('my-backup');const[,backupOperation]=awaitbackup.create({databasePath:'projects/my-project/instances/my-instance/databases/my-database',expireTime:expireTime,versionTime:versionTime,encryptionConfig:{encryptionType:'CUSTOMER_MANAGED_ENCRYPTION',kmsKeyName:'projects/my-project-id/my-region/keyRings/my-key-ring/cryptoKeys/my-key',},});// Await completion of the backup operation.awaitbackupOperation.promise();

create(options, callback)

create(options:CreateBackupOptions|CopyBackupOptions,callback:CreateBackupCallback|CopyBackupCallback):void;
Parameters
NameDescription
optionsCreateBackupOptions |CopyBackupOptions
callbackCreateBackupCallback |CopyBackupCallback
Returns
TypeDescription
void

delete(gaxOptions)

delete(gaxOptions?:CallOptions):Promise<databaseAdmin.protobuf.IEmpty>;

Deletes a backup.

Backup#delete

Parameter
NameDescription
gaxOptionsCallOptions

Request configuration options, SeeCallOptions for more details.

Returns
TypeDescription
Promise<databaseAdmin.protobuf.IEmpty>

{Promise

Example
const{Spanner}=require('@google-cloud/spanner');constspanner=newSpanner();constinstance=spanner.instance('my-instance');constbackup=instance.backup('my-backup');awaitbackup.delete();

delete(callback)

delete(callback:DeleteCallback):void;
Parameter
NameDescription
callbackDeleteCallback
Returns
TypeDescription
void

delete(gaxOptions, callback)

delete(gaxOptions:CallOptions,callback:DeleteCallback):void;
Parameters
NameDescription
gaxOptionsCallOptions
callbackDeleteCallback
Returns
TypeDescription
void

exists()

exists():Promise<boolean>;

Checks whether the backup exists.

Returns
TypeDescription
Promise<boolean>

{Promise

Example
const{Spanner}=require('@google-cloud/spanner');constspanner=newSpanner();constinstance=spanner.instance('my-instance');constbackup=instance.backup('my-backup');constalreadyExists=awaitbackup.exists();console.log(`Does backup exist?${alreadyExists}`);

exists(callback)

exists(callback:ExistsCallback):void;
Parameter
NameDescription
callbackExistsCallback
Returns
TypeDescription
void

formatName_(instanceName, name)

staticformatName_(instanceName:string,name:string):string;

Format the backup name to include the instance name.

Parameters
NameDescription
instanceNamestring

The formatted instance name.

namestring

The table name.

Returns
TypeDescription
string

{string}

Example
Backup.formatName_('projects/grape-spaceship-123/instances/my-instance','my-backup');// 'projects/grape-spaceship-123/instances/my-instance/backups/my-backup'

getExpireTime()

getExpireTime():Promise<PreciseDate|undefined>;

Retrieves the expiry time of the backup.

Returns
TypeDescription
Promise<PreciseDate | undefined>

{Promise<external:PreciseDate>} When resolved, contains the current expire time of the backup if it exists.

Example
const{Spanner}=require('@google-cloud/spanner');constspanner=newSpanner();constinstance=spanner.instance('my-instance');constbackup=instance.backup('my-backup');constexpireTime=awaitbackup.getExpireTime();console.log(`Backup expires on${expireTime.toISOString()}`);

getExpireTime(callback)

getExpireTime(callback:GetExpireTimeCallback):void;
Parameter
NameDescription
callbackGetExpireTimeCallback
Returns
TypeDescription
void

getMetadata(gaxOptions)

getMetadata(gaxOptions?:CallOptions):Promise<GetMetadataResponse>;

Retrieves backup's metadata.

Parameter
NameDescription
gaxOptionsCallOptions

Request configuration options, SeeCallOptions for more details.

Returns
TypeDescription
Promise<GetMetadataResponse>

{Promise

Example
const{Spanner}=require('@google-cloud/spanner');constspanner=newSpanner();constinstance=spanner.instance('my-instance');constbackup=instance.backup('my-backup');const[backupInfo]=awaitbackup.getMetadata();console.log(`${backupInfo.name}: size=${backupInfo.sizeBytes}`);

getMetadata(callback)

getMetadata(callback:GetMetadataCallback):void;
Parameter
NameDescription
callbackGetMetadataCallback
Returns
TypeDescription
void

getMetadata(gaxOptions, callback)

getMetadata(gaxOptions:CallOptions,callback:GetMetadataCallback):void;
Parameters
NameDescription
gaxOptionsCallOptions
callbackGetMetadataCallback
Returns
TypeDescription
void

getState()

getState():Promise<EnumKey<typeofdatabaseAdmin.spanner.admin.database.v1.Backup.State>|undefined|null>;

Retrieves the state of the backup.

The backup state indicates if the backup has completed.

Returns
TypeDescription
Promise<EnumKey<typeofdatabaseAdmin.spanner.admin.database.v1.Backup.State> | undefined | null>

{Promise<EnumKey<typeof, databaseAdmin.spanner.admin.database.v1.Backup.State> | undefined>} When resolved, contains the current state of the backup if it exists.

Example
const{Spanner}=require('@google-cloud/spanner');constspanner=newSpanner();constinstance=spanner.instance('my-instance');constbackup=instance.backup('my-backup');conststate=awaitbackup.getState();constbackupCompleted=(state==='READY');

getState(callback)

getState(callback:GetStateCallback):void;
Parameter
NameDescription
callbackGetStateCallback
Returns
TypeDescription
void

updateExpireTime(expireTime)

updateExpireTime(expireTime:string|number|p.ITimestamp|PreciseDate):Promise<databaseAdmin.spanner.admin.database.v1.IBackup>;

Sets the expiry time of a backup.

Parameter
NameDescription
expireTimestring | number |common.ITimestamp |PreciseDate

The expiry time to update with.

Returns
TypeDescription
Promise<databaseAdmin.spanner.admin.database.v1.IBackup>

{Promise<google.spanner.admin.database.v1.IBackup>} When resolved, the backup's expire time will have been updated.

Example
const{Spanner}=require('@google-cloud/spanner');constspanner=newSpanner();constinstance=spanner.instance('my-instance');constbackup=instance.backup('my-backup');constoneDay=1000*60*60*24;constnewExpireTime=Spanner.timestamp(Date.now()+oneDay);awaitbackup.updateExpireTime(newExpireTime);

updateExpireTime(expireTime, gaxOptions)

updateExpireTime(expireTime:string|number|p.ITimestamp|PreciseDate,gaxOptions?:CallOptions):Promise<databaseAdmin.spanner.admin.database.v1.IBackup>;
Parameters
NameDescription
expireTimestring | number |common.ITimestamp |PreciseDate
gaxOptionsCallOptions
Returns
TypeDescription
Promise<databaseAdmin.spanner.admin.database.v1.IBackup>

updateExpireTime(expireTime, callback)

updateExpireTime(expireTime:string|number|p.ITimestamp|PreciseDate,callback:UpdateExpireTimeCallback):void;
Parameters
NameDescription
expireTimestring | number |common.ITimestamp |PreciseDate
callbackUpdateExpireTimeCallback
Returns
TypeDescription
void

updateExpireTime(expireTime, gaxOptions, callback)

updateExpireTime(expireTime:string|number|p.ITimestamp|PreciseDate,gaxOptions:CallOptions,callback:UpdateExpireTimeCallback):void;
Parameters
NameDescription
expireTimestring | number |common.ITimestamp |PreciseDate
gaxOptionsCallOptions
callbackUpdateExpireTimeCallback
Returns
TypeDescription
void

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-10-30 UTC.