์ด ํ์ด์ง๋ Cloud Storage์ ๋ฒํท์์ ๊ฐ์ฒด๋ฅผ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
ํ์ํ ์ญํ
๊ฐ์ฒด๋ฅผ ์ญ์ ํ๋ ๋ฐ ํ์ํ ๊ถํ์ ์ป์ผ๋ ค๋ฉด ๊ด๋ฆฌ์์๊ฒ ์ญ์ ํ ๊ฐ์ฒด๊ฐ ํฌํจ๋ ๋ฒํท์ ๋ํ ์คํ ๋ฆฌ์ง ๊ฐ์ฒด ์ฌ์ฉ์(roles/storage.objectUser
) IAM ์ญํ ์ ๋ถ์ฌํด๋ฌ๋ผ๊ณ ์์ฒญํ์ธ์.
Google Cloud ์ฝ์์ ์ฌ์ฉํ์ฌ ์ด ํ์ด์ง์ ํ์คํฌ๋ฅผ ์๋ฃํ๋ ค๋ฉด ๊ด๋ฆฌ์์๊ฒ ์คํ ๋ฆฌ์ง ๊ฐ์ฒด ์ฌ์ฉ์(roles/storage.objectUser
) ์ญํ ๋์ ์คํ ๋ฆฌ์ง ๊ด๋ฆฌ์(roles/storage.admin
) ์ญํ ์ ๋ถ์ฌํ๊ฑฐ๋ ์คํ ๋ฆฌ์ง ๊ฐ์ฒด ์ฌ์ฉ์(roles/storage.objectUser
) ์ญํ ์ธ์ ๋ทฐ์ด(roles/viewer
) ๊ธฐ๋ณธ ์ญํ ์ ๋ถ์ฌํด๋ฌ๋ผ๊ณ ์์ฒญํ์ธ์.
์ด๋ฌํ ์ญํ ์๋ ๊ฐ์ฒด๋ฅผ ์ญ์ ํ๋ ๋ฐ ํ์ํ ๊ถํ์ด ํฌํจ๋์ด ์์ต๋๋ค. ํ์ํ ์ ํํ ๊ถํ์ ๋ณด๋ ค๋ฉด ํ์ํ ๊ถํ ์น์ ์ ํ์ฅํ์ธ์.
ํ์ ๊ถํ
storage.objects.delete
storage.objects.list
- ์ด ๊ถํ์ Google Cloud ์ฝ์์ ์ฌ์ฉํ ๋ ๋๋ Google Cloud CLI์์
--recursive
ํ๋๊ทธ ๋๋ ์์ผ๋ ์นด๋๋ฅผ ์ฌ์ฉํ ๋๋ง ํ์ํฉ๋๋ค.
- ์ด ๊ถํ์ Google Cloud ์ฝ์์ ์ฌ์ฉํ ๋ ๋๋ Google Cloud CLI์์
storage.buckets.list
- ์ด ๊ถํ์ Google Cloud ์ฝ์์ ์ฌ์ฉํ์ฌ ์ด ํ์ด์ง์ ์๋ด๋ฅผ ์ํํ ๋๋ง ํ์ํฉ๋๋ค.
๋ค๋ฅธ ์ฌ์ ์ ์๋ ์ญํ ์ด๋ ์ปค์คํ ์ญํ ์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๊ถํ์ ์ป์ ์๋ ์์ต๋๋ค.
๋ฒํท์ ์ญํ ๋ถ์ฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ฒํท์ IAM ์ฌ์ฉ์ ์ฐธ์กฐํ์ธ์.
๊ฐ์ฒด ์ญ์
Cloud Storage ๋ฒํท ์ค ํ๋์์ ๊ฐ์ฒด๋ฅผ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ์๋ฃํฉ๋๋ค.
์ฝ์
- Google Cloud ์ฝ์์์ Cloud Storage ๋ฒํท ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๋ฒํท ๋ชฉ๋ก์์ ์ญ์ ํ๋ ค๋ ๊ฐ์ฒด๊ฐ ํฌํจ๋ ๋ฒํท ์ด๋ฆ์ ํด๋ฆญํฉ๋๋ค.
๊ฐ์ฒด ํญ์ด ์ ํ๋ ์ํ๋ก ๋ฒํท ์ธ๋ถ์ ๋ณด ํ์ด์ง๊ฐ ์ด๋ฆฝ๋๋ค.
๊ฐ์ฒด(ํด๋์ ์์ ์ ์์)๋ก ์ด๋ํฉ๋๋ค.
์ญ์ ํ ๊ฐ์ฒด๋ง๋ค ์ฒดํฌ๋ฐ์ค๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํด๋์ ์ฒดํฌ๋ฐ์ค๋ฅผ ํด๋ฆญํ์ฌ ํด๋น ํด๋์ ํฌํจ๋ ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ์ญ์ ํ ์๋ ์์ต๋๋ค.
์ญ์ ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
ํ์๋๋ ๋ํ์์์์ ์ญ์ ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํ ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ฒด๋ฅผ ์ญ์ ํ๋ ๊ฒฝ์ฐ Google Cloud ์ฝ์์์ ์๋ฆผ ์์ด์ฝ์ ํด๋ฆญํ์ฌ ์ญ์ ์งํ ์ํฉ์ ์ถ์ ํ ์ ์์ต๋๋ค.Google Cloud ์ฝ์์ ์ต๋ ์๋ฐฑ๋ง ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์ผ๊ด ์ญ์ ํ ์ ์์ผ๋ฉฐ ์ญ์ ์์ ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ํ๋ฉ๋๋ค.
Google Cloud ์ฝ์์์ ์คํจํ Cloud Storage ์์ ์ ๋ํ ์์ธํ ์ค๋ฅ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ๋ฌธ์ ํด๊ฒฐ์ ์ฐธ์กฐํ์ธ์.
๋ช ๋ น์ค
Google Cloud CLI ๋ช
๋ น์ด gcloud storage rm
์ ์ฌ์ฉํฉ๋๋ค.
gcloud storage rm gs://BUCKET_NAME/OBJECT_NAME
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
BUCKET_NAME
์ ์ญ์ ํ ๊ฐ์ฒด๊ฐ ํฌํจ๋ ๋ฒํท์ ์ด๋ฆ์ ๋๋ค. ์๋ฅผ ๋ค๋ฉดmy-bucket
์ ๋๋ค.OBJECT_NAME
์ ์ญ์ ํ ๊ฐ์ฒด์ ์ด๋ฆ์ ๋๋ค. ์๋ฅผ ๋ค๋ฉดpets/dog.png
์ ๋๋ค.
์ฑ๊ณตํ๋ฉด ๋ค์ ์์์ ๋น์ทํ ์๋ต์ด ํ์๋ฉ๋๋ค.
Removing objects: Removing gs://example-bucket/file.txt... Completed 1/1
ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
C++
์์ธํ ๋ด์ฉ์ Cloud Storage C++ API ์ฐธ์กฐ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Cloud Storage์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
C#
์์ธํ ๋ด์ฉ์ Cloud Storage C# API ์ฐธ์กฐ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Cloud Storage์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Go
์์ธํ ๋ด์ฉ์ Cloud Storage Go API ์ฐธ์กฐ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Cloud Storage์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Java
์์ธํ ๋ด์ฉ์ Cloud Storage Java API ์ฐธ์กฐ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Cloud Storage์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Node.js
์์ธํ ๋ด์ฉ์ Cloud Storage Node.js API ์ฐธ์กฐ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Cloud Storage์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
PHP
์์ธํ ๋ด์ฉ์ Cloud Storage PHP API ์ฐธ์กฐ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Cloud Storage์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Python
์์ธํ ๋ด์ฉ์ Cloud Storage Python API ์ฐธ์กฐ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Cloud Storage์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Ruby
์์ธํ ๋ด์ฉ์ Cloud Storage Ruby API ์ฐธ์กฐ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Cloud Storage์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
REST API
JSON API
Authorization
ํค๋์ ๋ํ ์ก์ธ์ค ํ ํฐ์ ์์ฑํ๋ ค๋ฉด gcloud CLI๊ฐ ์ค์น ๋ฐ ์ด๊ธฐํ๋์ด ์์ด์ผ ํฉ๋๋ค.cURL
์ ์ฌ์ฉํ์ฌDELETE
์์ฒญ์ผ๋ก JSON API๋ฅผ ํธ์ถํฉ๋๋ค.curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
BUCKET_NAME
์ ์ญ์ ํ ๊ฐ์ฒด๊ฐ ํฌํจ๋ ๋ฒํท์ ์ด๋ฆ์ ๋๋ค. ์:my-bucket
OBJECT_NAME
์ ์ญ์ ํ ๊ฐ์ฒด์ URL ์ธ์ฝ๋ฉ ์ด๋ฆ์ ๋๋ค. ์๋ฅผ ๋ค์ดpets/dog.png
๋pets%2Fdog.png
๋ก URL ์ธ์ฝ๋ฉ๋ฉ๋๋ค.
XML API
Authorization
ํค๋์ ๋ํ ์ก์ธ์ค ํ ํฐ์ ์์ฑํ๋ ค๋ฉด gcloud CLI๊ฐ ์ค์น ๋ฐ ์ด๊ธฐํ๋์ด ์์ด์ผ ํฉ๋๋ค.cURL
์ ์ฌ์ฉํ์ฌDELETE Object
์์ฒญ์ผ๋ก XML API๋ฅผ ํธ์ถํฉ๋๋ค.curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
BUCKET_NAME
์ ์ญ์ ํ ๊ฐ์ฒด๊ฐ ํฌํจ๋ ๋ฒํท์ ์ด๋ฆ์ ๋๋ค. ์:my-bucket
OBJECT_NAME
์ ์ญ์ ํ ๊ฐ์ฒด์ URL ์ธ์ฝ๋ฉ ์ด๋ฆ์ ๋๋ค. ์๋ฅผ ๋ค์ดpets/dog.png
๋pets%2Fdog.png
๋ก URL ์ธ์ฝ๋ฉ๋ฉ๋๋ค.
๊ฐ์ฒด ์ผ๊ด ์ญ์
์์ญ๋ง ๊ฐ ์ด์์ ๊ฐ์ฒด๋ฅผ ์ผ๊ด ์ญ์ ํ๋ ค๋ฉด ํ๋ก์ธ์ค ์๋ฃ์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ gcloud storage
์ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋์ ๋ค์ ์ต์
์ค ํ๋๋ฅผ ๊ณ ๋ คํด ๋ณด์ธ์.
๊ฐ์ฒด ์๋ช ์ฃผ๊ธฐ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ๊ฐ์ฒด ์๋ฅผ ์ํ๋ ๋งํผ ์ญ์ ํ ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ๋ฒํท์ ๊ฐ์ฒด๋ฅผ ์ผ๊ด ์ญ์ ํ๋ ค๋ฉด ์กฐ๊ฑด์์
Age
๊ฐ 0์ผ๋ก ์ค์ ๋๊ณ ์์ ์ดdelete
๋ก ์ค์ ๋ ๋ฒํท์์ ์๋ช ์ฃผ๊ธฐ ๊ตฌ์ฑ ๊ท์น์ ์ค์ ํฉ๋๋ค. ์ด ๊ท์น์ ์ค์ ํ๋ฉด Cloud Storage์์ ์ผ๊ด ์ญ์ ๋ฅผ ๋น๋๊ธฐ์ ์ผ๋ก ์ํํฉ๋๋ค.๊ฐ์ฒด๋ฅผ ์ต๋ 100๋ง ๊ฐ ์ญ์ ํ๋ ๊ฒฝ์ฐ Google Cloud ์ฝ์๋ ๊ถ์ฅ๋๋ ์ต์ ์ ๋๋ค. ์ด๋ฌํ ์ญ์ ์์ฒญ์ ์์ํ๋ฉด ํ๋ก์ธ์ค๊ฐ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ํ๋ฉ๋๋ค. Google Cloud ์ฝ์ ํค๋์์ ์๋ฆผ ๋ฒํผ(notifications)์ ํด๋ฆญํ์ฌ ์ผ๊ด ์ญ์ ์ํ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
ํน์ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ JSON API๋ฅผ ์ง์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ญ์ ์์ฒญ์ ๋ฐฐ์นํ์ฌ ํ์ํ HTTP ์ฐ๊ฒฐ ์๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
๋ค์ ๋จ๊ณ
- ๊ฐ์ฒด ๋ฒ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ ์์๋ณด๊ธฐ
- ๊ฐ์ฒด ์๋ช ์ฃผ๊ธฐ ๊ด๋ฆฌ ๊ธฐ๋ฅ ์์๋ณด๊ธฐ
- ๋ฒํท ์ญ์ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ