Stay organized with collections
Save and categorize content based on your preferences.
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 has a name of the format
projects//instances//databases//operations/, and can be used to track
the progress of the operation, and to cancel it. The metadata field type
is RestoreDatabaseMetadata. The response type is Database, if
successful. Cancelling the returned operation will stop the restore and
delete the database. There can be only one database being restored into
an instance at a time. Once the restore operation completes, a new
restore operation can be initiated, without waiting for the optimize
operation associated with the first restore to complete.
This method waits—the workflow execution is paused—until the operation is
complete, fails, or times out. The default timeout value is 1800 seconds (30
minutes) and can be changed to a maximum value of 31536000 seconds (one year)
for long-running operations using the connector_params field.
The connector uses polling to monitor the long-running operation, which might
generate additional billable steps. The polling policy for the long-running
operation can be configured. For example, if you set skip_polling to True,
the connector invocation call is non-blocking if the initial request succeeds;
otherwise, retries might occur.
For more information about connector-specific parameters (connector_params),
see Invoke a connector call.
For more information about retries and long-running operations, see
Understand connectors.
Arguments
Parameters
parent
string
Required. The name of the instance in which to create the restored database. This instance must be in the same project and have the same instance configuration as the instance containing the source backup. Values are of the form projects//instances/.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Method: googleapis.spanner.v1.projects.instances.databases.restore\n\nCreate a new database by restoring from a completed backup. The new\ndatabase must be in the same project and in an instance with the same\ninstance configuration as the instance containing the backup. The\nreturned database long-running operation has a name of the format\n`projects//instances//databases//operations/`, and can be used to track\nthe progress of the operation, and to cancel it. The metadata field type\nis RestoreDatabaseMetadata. The response type is Database, if\nsuccessful. Cancelling the returned operation will stop the restore and\ndelete the database. There can be only one database being restored into\nan instance at a time. Once the restore operation completes, a new\nrestore operation can be initiated, without waiting for the optimize\noperation associated with the first restore to complete.\n\nThis method waits---the workflow execution is paused---until the operation is\ncomplete, fails, or times out. The default timeout value is `1800` seconds (30\nminutes) and can be changed to a maximum value of `31536000` seconds (one year)\nfor long-running operations using the `connector_params` field.\n\nThe connector uses polling to monitor the long-running operation, which might\ngenerate additional billable steps. The polling policy for the long-running\noperation can be configured. For example, if you set `skip_polling` to `True`,\nthe connector invocation call is non-blocking if the initial request succeeds;\notherwise, retries might occur.\n\nFor more information about connector-specific parameters (`connector_params`),\nsee [Invoke a connector call](/workflows/docs/reference/googleapis#invoke_a_connector_call).\n\nFor more information about retries and long-running operations, see\n[Understand connectors](/workflows/docs/connectors).\n\nArguments\n---------\n\nRaised exceptions\n-----------------\n\nResponse\n--------\n\nIf successful, the response contains an instance of [`Operation`](https://cloud.google.com/workflows/docs/reference/googleapis/spanner/v1/Overview#Operation).\n\nSubworkflow snippet\n-------------------\n\nSome fields might be optional or required.\nTo identify required fields, refer to the [API documentation](https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instances.databases/restore). \n\n### YAML\n\n```yaml\n- restore:\n call: googleapis.spanner.v1.projects.instances.databases.restore\n args:\n parent: ...\n body:\n backup: ...\n databaseId: ...\n encryptionConfig:\n encryptionType: ...\n kmsKeyName: ...\n kmsKeyNames: ...\n result: restoreResult\n```\n\n### JSON\n\n```json\n[\n {\n \"restore\": {\n \"call\": \"googleapis.spanner.v1.projects.instances.databases.restore\",\n \"args\": {\n \"parent\": \"...\",\n \"body\": {\n \"backup\": \"...\",\n \"databaseId\": \"...\",\n \"encryptionConfig\": {\n \"encryptionType\": \"...\",\n \"kmsKeyName\": \"...\",\n \"kmsKeyNames\": \"...\"\n }\n }\n },\n \"result\": \"restoreResult\"\n }\n }\n]\n```"]]