@@ -201,12 +201,14 @@ if (result.error) {
201201Example using the Python SDK boto3:
202202
203203``` python
204- def create_bucket_with_snapshotting_enabled (s3_client , bucket_name ):
205- s3_client.meta.events.register(
206- " before-sign.s3.CreateBucket" ,
207- lambda request , ** kwargs : request.headers.add_header(" X-Tigris-Enable-Snapshot" , " true" )
208- )
209- s3_client.create_bucket(Bucket = bucket_name)
204+ def create_bucket_with_snapshotting_enabled (tigris , bucket_name ):
205+ def add_header (request , ** kwargs ):
206+ request.headers[" X-Tigris-Enable-Snapshot" ] = " true"
207+ tigris.meta.events.register(" before-sign.s3.CreateBucket" , add_header)
208+ try :
209+ tigris.create_bucket(Bucket = bucket_name)
210+ finally :
211+ tigris.meta.events.unregister(" before-sign.s3.CreateBucket" , add_header)
210212```
211213
212214</TabItem >
@@ -256,14 +258,14 @@ if (result.error) {
256258Example using the Python SDK boto3:
257259
258260``` python
259- def create_bucket_snapshot (s3_client , bucket_name ):
260- s3_client.meta.events.register(
261- " before-sign.s3.CreateBucket " ,
262- lambda request , ** kwargs : request.headers.add_header(
263- " X-Tigris-Snapshot " , " true; name=test snapshot name "
264- )
265- )
266- s3_client.create_bucket( Bucket = bucket_name )
261+ def create_bucket_snapshot (tigris , bucket_name ):
262+ def add_header ( request , ** kwargs ):
263+ request.headers[ " X-Tigris-Snapshot " ] = " true; name=test snapshot name "
264+ tigris.meta.events.register( " before-sign.s3.CreateBucket " , add_header)
265+ try :
266+ tigris.create_bucket( Bucket = bucket_name )
267+ finally :
268+ tigris.meta.events.unregister( " before-sign.s3.CreateBucket " , add_header )
267269```
268270
269271</TabItem >
@@ -311,12 +313,15 @@ if (listSnapshots.error) {
311313Example using the Python SDK boto3:
312314
313315``` python
314- def list_snapshots_for_bucket (s3_client , bucket_name ):
315- s3_client.meta.events.register(
316- " before-sign.s3.ListBuckets" ,
317- lambda request , ** kwargs : request.headers.add_header(" X-Tigris-Snapshot" , bucket_name)
318- )
319- return s3_client.list_buckets()
316+ def list_snapshots_for_bucket (tigris , bucket_name ):
317+ def add_header (request , ** kwargs ):
318+ request.headers[" X-Tigris-Snapshot" ] = bucket_name
319+ tigris.meta.events.register(" before-sign.s3.ListBuckets" , add_header)
320+ try :
321+ snapshots = tigris.list_buckets()
322+ finally :
323+ tigris.meta.events.unregister(" before-sign.s3.ListBuckets" , add_header)
324+ return snapshots
320325```
321326
322327</TabItem >
@@ -390,7 +395,7 @@ Example using the Tigris SDK for JavaScript:
390395import { createBucket } from " @tigrisdata/storage" ;
391396
392397const result = await createBucket (" forked-bucket" , {
393- sourceBucketName: " SOURCE_BUCKET_NAME " , // source bucket name
398+ sourceBucketName: " PARENT_BUCKET_NAME " , // parent bucket name
394399 sourceBucketSnapshot: " SNAPSHOT_VERSION" , // optional snapshot version e.g. 1759343574493973169
395400});
396401
@@ -406,14 +411,14 @@ if (result.error) {
406411Example using the Python SDK boto3:
407412
408413``` python
409- def create_bucket_fork (s3_client , bucket_name ):
410- s3_client.meta.events.register(
411- " before-sign.s3.CreateBucket " ,
412- lambda request , ** kwargs : (
413- request.headers.add_header( " X-Tigris-Fork-Source-Bucket " , " PARENT_BUCKET_NAME " ),
414- )
415- )
416- s3_client.create_bucket( Bucket = bucket_name )
414+ def create_bucket_fork (tigris , bucket_name ):
415+ def add_header ( request , ** kwargs ):
416+ request.headers[ " X-Tigris-Fork-Source-Bucket " ] = " PARENT_BUCKET_NAME "
417+ tigris.meta.events.register( " before-sign.s3.CreateBucket " , add_header)
418+ try :
419+ tigris.create_bucket( Bucket = bucket_name )
420+ finally :
421+ tigris.meta.events.unregister( " before-sign.s3.CreateBucket " , add_header )
417422```
418423
419424</TabItem >
@@ -476,4 +481,4 @@ operations to the live bucket.
476481
477482** Can I restore a bucket to a previous snapshot?**
478483
479- Not yet, but this feature is on the roadmap
484+ Not yet, but this feature is on the roadmap.
0 commit comments