[GCP] Google Cloud Storage API
- Google Cloud Storage: Node.js Client @ GoogleAPIs
- Google Cloud Storage @ Google Cloud
gcloud CLI
官方文件
- gcloud storage @ API reference
- Discover object storage with the gcloud tool
$ gcloud storage --help
$ gcloud storage buckets --help
# List
$ gcloud storage ls gs://my-awesome-bucket # List contents of a bucket or folder
$ gcloud storage ls gs://my-awesome-bucket/kitten.png --long # List details for an object
$ gcloud storage ls gs://my-awesome-bucket/index.html --log-http --verbosity=debug
# Upload
$ gcloud storage cp Desktop/kitten.png gs://my-awesome-bucket
$ gcloud storage cp -R ./dist/* gs://my-awesome-bucket # upload a folder (--recursive, -R)
$ gcloud storage cp *.txt gs://my-bucket # uploads all text files
# Download
$ gcloud storage cp gs://my-awesome-bucket/kitten.png Desktop/kitten2.png
# Copy
$ gcloud storage cp gs://my-awesome-bucket/kitten.png gs://my-awesome-bucket/just-a-folder/kitten3.png
# Delete
$ gcloud storage rm gs://my-awesome-bucket/kitten.png # delete a object
$ gcloud storage rm gs://my-awesome-bucket --recursive # remove all object in a bucket
# Permission
$ gcloud storage buckets add-iam-policy-binding gs://my-awesome-bucket --member=allUsers --role=roles/storage.objectViewer # Make the objects publicly accessible
$ gcloud storage buckets remove-iam-policy-binding gs://my-awesome-bucket --member=allUsers --role=roles/storage.objectViewer # Remove publicly accessible
$ gcloud storage buckets add-iam-policy-binding gs://my-awesome-bucket --member=user:jane@gmail.com --role=roles/storage.objectCreator # Give someone access permission
$ gcloud storage buckets remove-iam-policy-binding gs://my-awesome-bucket --member=user:jane@gmail.com --role=roles/storage.objectCreator # Remove someone's access permission
upload 時路徑的寫法
在這段指令中 gcloud storage cp -R ./dist/* gs://my-awesome-bucket
,如果是寫 ./dist/*
則會把 dist folder 中的檔案上傳到 bucket 中,但如果是寫 ./dist/.
,這會在 bucket 中建立 dist
folder,並把檔案放在 dist
folder 內。
Host a Static Website
keywords: Frontend Router
, SPA
, Single Page Application
可以跟著這篇 Host a static website 文件,主要的步驟包含:
-
建立 Bucket
-
上傳 static website 到 Google Cloud Storage 上
-
在 Network Services 裡的 Load balancing 設定 Load Balancer,和對應的 SSL certificate
-
第一頁 Create Load Balancer 基本上都用 Default 設定即可
-
Frontend Configuration
- Protocol 的地方選 HTTPS
- 在 IP Address 的部分,可以選擇「CREATE IP ADDRESS」
- 在 Certificate 的地方「Create a New Certificate」
- 在 Security 的 Certificate Manager 中「Classic Certificates」可以看到所有的 Certificates
-
Backend Configuration
-