@@ -34,7 +34,9 @@ def create_backup(instance_id, database_id, backup_id, version_time):
3434
3535 # Create a backup
3636 expire_time = datetime .utcnow () + timedelta (days = 14 )
37- backup = instance .backup (backup_id , database = database , expire_time = expire_time , version_time = version_time )
37+ backup = instance .backup (
38+ backup_id , database = database , expire_time = expire_time , version_time = version_time
39+ )
3840 operation = backup .create ()
3941
4042 # Wait for backup operation to complete.
@@ -56,7 +58,9 @@ def create_backup(instance_id, database_id, backup_id, version_time):
5658# [END spanner_create_backup]
5759
5860# [START spanner_create_backup_with_encryption_key]
59- def create_backup_with_encryption_key (instance_id , database_id , backup_id , kms_key_name ):
61+ def create_backup_with_encryption_key (
62+ instance_id , database_id , backup_id , kms_key_name
63+ ):
6064 """Creates a backup for a database using a Customer Managed Encryption Key (CMEK)."""
6165 from google .cloud .spanner_admin_database_v1 import CreateBackupEncryptionConfig
6266
@@ -67,10 +71,15 @@ def create_backup_with_encryption_key(instance_id, database_id, backup_id, kms_k
6771 # Create a backup
6872 expire_time = datetime .utcnow () + timedelta (days = 14 )
6973 encryption_config = {
70- ' encryption_type' : CreateBackupEncryptionConfig .EncryptionType .CUSTOMER_MANAGED_ENCRYPTION ,
71- ' kms_key_name' : kms_key_name ,
74+ " encryption_type" : CreateBackupEncryptionConfig .EncryptionType .CUSTOMER_MANAGED_ENCRYPTION ,
75+ " kms_key_name" : kms_key_name ,
7276 }
73- backup = instance .backup (backup_id , database = database , expire_time = expire_time , encryption_config = encryption_config )
77+ backup = instance .backup (
78+ backup_id ,
79+ database = database ,
80+ expire_time = expire_time ,
81+ encryption_config = encryption_config ,
82+ )
7483 operation = backup .create ()
7584
7685 # Wait for backup operation to complete.
@@ -115,7 +124,7 @@ def restore_database(instance_id, new_database_id, backup_id):
115124 restore_info .backup_info .source_database ,
116125 new_database_id ,
117126 restore_info .backup_info .backup ,
118- restore_info .backup_info .version_time
127+ restore_info .backup_info .version_time ,
119128 )
120129 )
121130
@@ -124,7 +133,9 @@ def restore_database(instance_id, new_database_id, backup_id):
124133
125134
126135# [START spanner_restore_backup_with_encryption_key]
127- def restore_database_with_encryption_key (instance_id , new_database_id , backup_id , kms_key_name ):
136+ def restore_database_with_encryption_key (
137+ instance_id , new_database_id , backup_id , kms_key_name
138+ ):
128139 """Restores a database from a backup using a Customer Managed Encryption Key (CMEK)."""
129140 from google .cloud .spanner_admin_database_v1 import RestoreDatabaseEncryptionConfig
130141
@@ -134,10 +145,12 @@ def restore_database_with_encryption_key(instance_id, new_database_id, backup_id
134145 # Start restoring an existing backup to a new database.
135146 backup = instance .backup (backup_id )
136147 encryption_config = {
137- ' encryption_type' : RestoreDatabaseEncryptionConfig .EncryptionType .CUSTOMER_MANAGED_ENCRYPTION ,
138- ' kms_key_name' : kms_key_name ,
148+ " encryption_type" : RestoreDatabaseEncryptionConfig .EncryptionType .CUSTOMER_MANAGED_ENCRYPTION ,
149+ " kms_key_name" : kms_key_name ,
139150 }
140- new_database = instance .database (new_database_id , encryption_config = encryption_config )
151+ new_database = instance .database (
152+ new_database_id , encryption_config = encryption_config
153+ )
141154 operation = new_database .restore (backup )
142155
143156 # Wait for restore operation to complete.
@@ -210,7 +223,7 @@ def list_backup_operations(instance_id, database_id, backup_id):
210223 metadata .name , metadata .database , metadata .progress .progress_percent
211224 )
212225 )
213-
226+
214227 # List the CopyBackup operations.
215228 filter_ = (
216229 "(metadata.@type:type.googleapis.com/google.spanner.admin.database.v1.CopyBackupMetadata) "
@@ -221,7 +234,9 @@ def list_backup_operations(instance_id, database_id, backup_id):
221234 metadata = op .metadata
222235 print (
223236 "Backup {} on source backup {}: {}% complete." .format (
224- metadata .name , metadata .source_backup , metadata .progress .progress_percent
237+ metadata .name ,
238+ metadata .source_backup ,
239+ metadata .progress .progress_percent ,
225240 )
226241 )
227242
@@ -305,8 +320,11 @@ def list_backups(instance_id, database_id, backup_id):
305320 print ("All backups with pagination" )
306321 # If there are multiple pages, additional ``ListBackup``
307322 # requests will be made as needed while iterating.
323+ paged_backups = set ()
308324 for backup in instance .list_backups (page_size = 2 ):
309- print (backup .name )
325+ paged_backups .add (backup .name )
326+ for backup in paged_backups :
327+ print (backup )
310328
311329
312330# [END spanner_list_backups]
@@ -358,7 +376,9 @@ def update_backup(instance_id, backup_id):
358376
359377
360378# [START spanner_create_database_with_version_retention_period]
361- def create_database_with_version_retention_period (instance_id , database_id , retention_period ):
379+ def create_database_with_version_retention_period (
380+ instance_id , database_id , retention_period
381+ ):
362382 """Creates a database with a version retention period."""
363383 spanner_client = spanner .Client ()
364384 instance = spanner_client .instance (instance_id )
@@ -378,7 +398,7 @@ def create_database_with_version_retention_period(instance_id, database_id, rete
378398 "ALTER DATABASE `{}`"
379399 " SET OPTIONS (version_retention_period = '{}')" .format (
380400 database_id , retention_period
381- )
401+ ),
382402 ]
383403 db = instance .database (database_id , ddl_statements )
384404 operation = db .create ()
@@ -387,12 +407,15 @@ def create_database_with_version_retention_period(instance_id, database_id, rete
387407
388408 db .reload ()
389409
390- print ("Database {} created with version retention period {} and earliest version time {}" .format (
391- db .database_id , db .version_retention_period , db .earliest_version_time
392- ))
410+ print (
411+ "Database {} created with version retention period {} and earliest version time {}" .format (
412+ db .database_id , db .version_retention_period , db .earliest_version_time
413+ )
414+ )
393415
394416 db .drop ()
395417
418+
396419# [END spanner_create_database_with_version_retention_period]
397420
398421
@@ -404,7 +427,9 @@ def copy_backup(instance_id, backup_id, source_backup_path):
404427
405428 # Create a backup object and wait for copy backup operation to complete.
406429 expire_time = datetime .utcnow () + timedelta (days = 14 )
407- copy_backup = instance .copy_backup (backup_id = backup_id , source_backup = source_backup_path , expire_time = expire_time )
430+ copy_backup = instance .copy_backup (
431+ backup_id = backup_id , source_backup = source_backup_path , expire_time = expire_time
432+ )
408433 operation = copy_backup .create ()
409434
410435 # Wait for copy backup operation to complete.
@@ -416,10 +441,14 @@ def copy_backup(instance_id, backup_id, source_backup_path):
416441
417442 print (
418443 "Backup {} of size {} bytes was created at {} with version time {}" .format (
419- copy_backup .name , copy_backup .size_bytes , copy_backup .create_time , copy_backup .version_time ,
444+ copy_backup .name ,
445+ copy_backup .size_bytes ,
446+ copy_backup .create_time ,
447+ copy_backup .version_time ,
420448 )
421449 )
422450
451+
423452# [END spanner_copy_backup]
424453
425454
0 commit comments