
GCP 계정만들고 API 사용을 위한 key발급

로컬에 json 타입은 key 저장
기본 포맷은 다음과 같이 구성됨
{
"type": ,
"project_id": ,
"private_key_id": ,
"private_key": ,
"client_email": ,
"client_id": ,
"auth_uri": ,
"token_uri": ,
"auth_provider_x509_cert_url": ,
"client_x509_cert_url": ,
"universe_domain":
}
발급받은 service account를 docker-compose-yaml에 DIR에 등록시켜줘야한다.

data 디렉토리를 만들어주고 해당 폴더에 servcie-account.json 등록

기본 AIRFLOW PROJ DIR에 설정경로에서
- ${AIRFLOW_PROJ_DIR:-.}/data:/opt/airflow/data <-추가
로컬 ./data 폴더에 GCP 서비스 계정 키파일 (.json)을 넣으면, Airflow 컨테이너에서도 해당 키를 읽을 수 있게 됨


Airflow 웹 UI → Admin → Connections → + 클릭
Conn Id: google_cloud_default
Conn Type: Google Cloud
Keyfile Path: /opt/airflow/keys/example-key.json
Project Id: <your-project-id>
Scopes (선택): https://www.googleapis.com/auth/cloud-platform
Connection 정보 생성 후 테스트
docker-compose
Airflow webserber ID로 접속해서
airflow connections list
from airflow.providers.google.cloud.hooks.bigquery import BigQueryHook
hook = BigQueryHook(gcp_conn_id='google_cloud_default')
client = hook.get_client()
datasets = list(client.list_datasets()) # 모든 데이터셋 목록
for dataset in datasets:
print(f"📂 Dataset ID: {dataset.dataset_id}")

사전에 만들어둔 데이터셋이 잘 조회됨