Ruby로 Cloud Storage 사용

이 페이지에서는 Ruby용 Google Cloud 클라이언트 라이브러리를 사용하여 Cloud Storage에서 기본적인 작업을 수행하는 방법을 보여주고, 이러한 작업을 수행하는 데 사용되는 기본 Ruby 코드를 보여줍니다.

Cloud Storage에서 발생하는 비용은 사용한 리소스에 따라 결정됩니다. 이 빠른 시작은 일반적으로 $0.01 USD 미만의 Cloud Storage 리소스를 사용합니다.

시작하기 전에

  1. Ruby 버전 2.3 이상 및 Bundler Ruby gem을 설치합니다.

  2. 터미널 창에서 작업 환경을 위한 디렉터리를 만들고 해당 디렉터리로 이동합니다.

    mkdir gcs-programmatic-quickstart
    cd gcs-programmatic-quickstart

  3. Ruby용 Cloud Storage 클라이언트 라이브러리 사용 예제가 포함되어 있고 CLI와 함께 제공되는 GitHub 저장소를 복제하여 예제를 실행합니다.

    git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples.git

  4. Ruby 스토리지 클라이언트 라이브러리를 설치하여 Ruby 환경을 준비합니다.

    cd ruby-docs-samples/storage
    bundle install

    bundle install은 Gemfile 예시에 정의된 google-cloud-storage gem을 설치합니다. 이 gem은 이 가이드의 명령어에서 사용합니다.

  5. Google 계정에 로그인합니다.

    아직 계정이 없으면 새 계정을 등록하세요.

  6. GCP Console 프로젝트를 설정합니다.

    프로젝트 설정

    다음을 수행하려면 클릭:

    • 프로젝트를 만들거나 선택합니다.
    • 해당 프로젝트에 Cloud Storage API를 사용 설정합니다.
    • 서비스 계정을 만듭니다.
    • 비공개 키를 JSON으로 다운로드합니다.

    언제든지 GCP Console에서 이 리소스를 보고 관리할 수 있습니다.

  7. 프로젝트를 로컬 환경 변수로 설정합니다.

    Linux 또는 MacOS

    export GOOGLE_CLOUD_PROJECT=[PROJECT-ID]

    Windows

    PowerShell:

    $env:GOOGLE_CLOUD_PROJECT=[PROJECT-ID]

    명령어 프롬프트:

    set GOOGLE_CLOUD_PROJECT=[PROJECT-ID]

버킷 만들기

버킷은 Cloud Storage에서 데이터를 보관하는 기본 컨테이너입니다.

버킷을 만드는 방법은 다음과 같습니다.

  1. 다음 명령어와 고유한 이름을 사용하여 버킷을 만듭니다.

    bundle exec ruby buckets.rb create my-awesome-bucket

    이 명령어는 my-awesome-bucket이라는 버킷을 사용합니다. 전역적으로 고유한 버킷 이름을 직접 선택해야 합니다.

    성공하면 다음과 같은 결과가 반환됩니다.

    Created bucket: my-awesome-bucket

    이제 원하는 항목을 저장할 수 있는 버킷이 생성되었습니다.

버킷에 객체 업로드

고양이 이미지

  1. 위의 이미지를 마우스 오른쪽 버튼으로 클릭하고 바탕화면과 같은 컴퓨터의 특정 위치에 저장합니다.

  2. 다음 명령어를 사용하여 파일을 저장한 위치의 이미지를 생성된 버킷으로 복사합니다.

    bundle exec ruby files.rb upload my-awesome-bucket ~/Desktop/kitten.png kitten.png

    성공하면 다음과 같은 결과가 반환됩니다.

    Uploaded kitten.png

    이제 객체가 버킷에 저장되었습니다.

버킷에서 객체 다운로드

  1. 다음 명령어를 사용하여 버킷에 저장한 이미지를 바탕화면과 같은 컴퓨터의 특정 위치로 다운로드합니다.

    bundle exec ruby files.rb download my-awesome-bucket kitten.png ~/Desktop/kitten2.png

    성공하면 다음과 같은 결과가 반환됩니다.

    Downloaded kitten.png

    이제 버킷에서 파일을 다운로드했습니다.

버킷의 객체 복사

  1. 다음 명령어를 사용하여 이미지의 복사본을 버킷에 만듭니다.

    bundle exec ruby files.rb copy my-awesome-bucket kitten.png my-awesome-bucket kitten3.png

    성공하면 다음과 같은 결과가 반환됩니다.

    kitten.png in my-awesome-bucket copied to kitten3.png in my-awesome-bucket

    이제 버킷의 객체가 복사되었습니다.

버킷의 콘텐츠 나열

  1. 다음 명령어를 사용하여 버킷의 콘텐츠를 나열합니다.

    bundle exec ruby files.rb list my-awesome-bucket

    성공하면 다음과 같은 결과가 반환됩니다.

    kitten.png
    kitten3.png
    

    이제 버킷의 콘텐츠가 확인되었습니다.

특정 사용자에게 버킷 액세스 권한 부여

  1. 다음 명령어를 사용하여 버킷의 객체도 제어할 수 있는 권한을 특정 이메일 주소에 부여합니다.

    bundle exec ruby iam.rb add_bucket_iam_member my-awesome-bucket roles/storage.objectAdmin user:jane@gmail.com

    성공하면 다음과 같은 결과가 반환됩니다.

    Added user:jane@gmail.com with role roles/storage.objectAdmin to my-awesome-bucket

    이제 다른 사람이 버킷 내용을 확인하고 여기에 삽입할 수 있습니다.

  2. 이 권한을 삭제하려면 다음 명령어를 사용합니다.

    bundle exec ruby iam.rb remove_bucket_iam_member my-awesome-bucket roles/storage.objectAdmin user:jane@gmail.com

    성공하면 다음과 같은 결과가 반환됩니다.

    Removed user:jane@gmail.com with role roles/storage.objectAdmin from my-awesome-bucket

    이 버킷에 대한 사용자 액세스 권한을 삭제했습니다.

객체 삭제

  1. 다음 명령어를 사용하여 객체를 삭제합니다.

    bundle exec ruby files.rb delete my-awesome-bucket kitten.png

    성공하면 다음과 같은 결과가 반환됩니다.

    Deleted kitten.png

    이 객체 사본은 더 이상 Cloud Storage에 저장되어 있지 않습니다(kitten3.png라는 사본은 여전히 존재함).

삭제

이 빠른 시작에서 사용한 리소스 비용이 GCP 계정에 청구되지 않도록 다음을 수행합니다.

  1. 버킷에서 kitten3.png를 삭제하려면 다음 명령어를 사용하세요.

    bundle exec ruby files.rb delete my-awesome-bucket kitten3.png
  2. 다음 명령어를 사용하여 버킷을 삭제합니다.

    bundle exec ruby buckets.rb delete my-awesome-bucket

    성공하면 명령어가 다음과 유사한 메시지를 반환합니다.

    Deleted bucket: my-awesome-bucket

    버킷과 콘텐츠가 삭제되었습니다.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.