본문 바로가기

부스트캠프 AI Tech 3기/프로젝트 : P-stage

[GCP] bucket의 객체 삭제,서비스 계정 키 발급 & 환경변수 설정

 

Python Client for Google Cloud Storage — google-cloud-storage documentation

As of January 1, 2020 this library no longer supports Python 2 on the latest released version. Library versions released prior to that date will continue to be available. For more information please visit Python 2 support on Google Cloud. Python Client for

googleapis.dev

 

Python 개발 환경 설정  |  Google Cloud

의견 보내기 Python 개발 환경 설정 이 가이드에서는 Google Cloud에서 실행되는 Python 앱 개발을 포함하여 Python 개발을 위해 로컬 머신을 준비하는 방법을 설명합니다. 개발 환경이 이미 설정되어 있

cloud.google.com

 

debian으로 설정을 해서 linux 개발 환경 설정을 봐야한다.

sudo apt update
sudo apt install python3 python3-dev python3-venv

sudo apt-get install wget
sudo wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py

pip --version

 

이제 venv설정

mkdir toy-project
cd toy-project
python3 -m venv env
source env/bin/activate

이렇게 env로 들어간다. 이 상태에서

pip install google-cloud-storage

이제 준비가 다 됬고, 실행할 파이썬 파일을 만들어주도록 하겠습니다.

vim <파일이름>.py

하면 vim 편집기가 열립니다.

from google.cloud import storage

client = storage.Client()
bucket=client.bucket('내 버킷 이름')
blobs=client.list_blobs('내 버킷 이름')
for blob in blobs:
    print(blob.name)

이 코드를 쓰고

:wq

를 치고 엔터를 누릅니다.

저는 이미 버킷을 만들고 web browser로 파일을 하나 올려둔 상태로 new_bucket이나 파일 업로드는 안하고 일단 있는 파일을 확인헀습니다.

 

파일하나가 잘 들어있네요. 이 파일(객체)를 삭제해보겠습니다.

 

다시 이 명령어를 하면 수정할 수 있습니다.

vim <파일이름>.py

 

아까 넣은 코드가 들어있는 vim 편집기가 열립니다.

i를 눌러 insert모드로 바꿉니다.

 

from google.cloud import storage

client = storage.Client()
bucket=client.bucket('내 버킷 이름')
blobs=client.list_blobs('내 버킷 이름')
delete_target_blob=bucket.blob('객체 이름')
delete_target_blob.delete()

이렇게 코드를 수정했으면

esc후에 :wq를 차례로 눌러 저장하고 나간다

 

python3 <파일이름>.py

로 해당 코드를 실행했더니

google.api_core.exceptions.Forbidden: 403 DELETE: Access denied.

 

이런 에러가 떴다.

gcloud auth application-default login
gcloud auth login

둘 중 하나로 인증하려한다.

근데 이 방법이 좋지 않았다. 브라우저를 띄울 수 있는 환경에서 자꾸 하라고 해서 다른 방법을 찾았다.

서비스 계정 키 발급 & 환경변수 설정

 

인증 시작하기  |  Google Cloud

의견 보내기 인증 시작하기 이 주제에서는 테스트 목적으로 Google Cloud API에 빠르게 인증하는 방법을 보여줍니다. 여기에서는 Google Maps Platform API와 같은 Google Cloud API 이외의 API를 인증하는 방법

cloud.google.com

위의 링크를 보고 키를 발급하고 환경변수를 설정해보았다.

json으로 키를 발급했다.

그것을 같으 버킷에 업로드 했다.

속성-고급 시스템 설정-환경변수

환경변수를 추가한다.

 

export GOOGLE_APPLICATION_CREDENTIALS="경로/key.json"

리눅스 환경에서는 이 명령어로 환경변수 설정을 해주었고, 서비스 계정을 프로젝트 소유자 이런걸로 제일 높은걸로 해주었더니 되었다!