top of page
Bg.png

 WEBINAR ON DEMAND 

Modernize Your Analytics and Accelerate Your Move to Looker with Confidence

Migrating your Business Intelligence platform to Looker presents a powerful opportunity to modernize your data stack, but it requires careful planning and execution. This webinar provides a strategic roadmap for navigating the complexities of migration, from initial assessment to final rollout. We will focus on turning common challenges into strategic advantages by leveraging proven best practices and automation tools, ensuring you build a scalable and trusted analytics foundation on Looker.

A quick & easy way to retrieve a deleted object from a S3 bucket!

Updated: Aug 6


ree

OOPS! By mistake, you have deleted the object from s3 in the production environment. How to retrieve it?


First, let’s understand how Amazon S3 works… When you delete an object from a version-enabled bucket, Amazon S3 creates a delete marker for the object. The delete marker becomes the current version of the object, and the actual object becomes the previous version. With a delete marker, Amazon S3 responds to requests for the object as though the object was deleted. For example, if you send a GET request for the object, Amazon S3 returns an error.



ree

Let’s modify the below script according to your file path and run it!!!


#! /bin/bash
# List of file paths to be restored!
arr=(s3://restoring_archived_bucket_test/rollups/user_id=1210/user_performance=rollups_i/yr=2020/month=9/day=2020-09-09/hour=all_hours/part-00000-28107112-478b-47ae-89cf-c71dc873e9c9.c000.snappy.parquet s3://restoring_archived_bucket_test/rollups/user_id=1210/user_performance=rollups_i/yr=2020/month=9/day=2020-09-10/hour=all_hours/part-00000-28107112-482c-47ae-89cf-c71dc873e9c9.c000.snappy.parquet)

for i in "${arr[@]}"
do
	echo $i
	[[ $i =~ (s3://restoring_archived_bucket_test/)(.*) ]] # Modify bucket name
	prefix=${BASH_REMATCH[2]}
	version=`aws s3api list-object-versions --bucket  restoring_archived_bucket_test --prefix $prefix --query 'Versions[0].VersionId' --output text` # Modify bucket name
	[[ $i =~ (s3://restoring_archived_bucket_test/)(.*)(all_hours/)(.*) ]] # Modify bucket name and last prefix of file path
	full_path=${BASH_REMATCH[1]}${BASH_REMATCH[2]}${BASH_REMATCH[3]}
	file_name=${BASH_REMATCH[4]}
	aws s3api get-object --bucket restoring_archived_bucket_test --key $prefix --version-id $version $file_name # Modify bucket name
	aws s3 cp $file_name $full_path
done


ree

To learn more amazing tips and hacks : Click here To connect with our experts:


 
 
 

Comments


bottom of page