{GCP Cloud Storage}オブジェクトのバージョニングを使用する

 

https://cloud.google.com/storage/docs/using-object-versioning?hl=ja

https://cloud.google.com/storage/docs/using-versioned-objects?hl=ja

https://cloud.google.com/storage/docs/object-versioning?hl=ja

 


-- 1. 前作業

gcloud init
gcloud auth list

gcloud --version

gcloud projects create project01-9999999 \
--name="project01"

gcloud config list
gcloud config set project project01-9999999
gcloud config set compute/region asia-northeast1 --quiet
gcloud config set compute/zone asia-northeast1-a --quiet

gcloud beta billing accounts list
gcloud beta billing projects link project01-9999999 --billing-account=111111-111111-111111

gcloud services enable compute.googleapis.com --project project01-9999999

gcloud components update


-- 2. バケットの作成

gcloud storage buckets create gs://bucket123 \
--default-storage-class=Standard \
--no-enable-autoclass \
--location=asia-northeast1 \
--public-access-prevention \
--uniform-bucket-level-access

gcloud storage ls


-- 3. バケットでオブジェクトのバージョニングを設定する

gcloud storage buckets update gs://bucket123 --versioning

gcloud storage buckets describe gs://bucket123 --format="default(versioning)"

 


-- 4. ファイルのアップロード


echo test > test.txt
gcloud storage cp test.txt gs://bucket123

gcloud storage ls --long gs://bucket123/*
gcloud storage ls --all-versions --long gs://bucket123/*


-- 5. ファイルの更新

echo testtest > test.txt
gcloud storage cp test.txt gs://bucket123

gcloud storage ls --long gs://bucket123/*
gcloud storage ls --all-versions --long gs://bucket123/*


-- 6. ファイルの更新前に復元


gcloud storage cp gs://bucket123/test.txt#1111111111111111 gs://bucket123/test.txt

gcloud storage ls --long gs://bucket123/*
gcloud storage ls --all-versions --long gs://bucket123/*

-- 7. ファイルの削除

gcloud storage rm gs://bucket123/test.txt

gcloud storage ls --long gs://bucket123/*
gcloud storage ls --all-versions --long gs://bucket123/*


-- 8. ファイルの削除前に復元


gcloud storage cp gs://bucket123/test.txt#2222222222222222 gs://bucket123/test.txt

gcloud storage ls --long gs://bucket123/*
gcloud storage ls --all-versions --long gs://bucket123/*

-- 9. 非現行バージョンのオブジェクトを削除する

gcloud storage rm gs://bucket123/test.txt#3333333333333333

gcloud storage ls --long gs://bucket123/*
gcloud storage ls --all-versions --long gs://bucket123/*

 

-- 10. クリーンアップ

gcloud storage rm gs://bucket123 --recursive
gcloud storage ls

 


gcloud projects list

gcloud projects delete project01-9999999 \
--quiet