이 페이지에서는 객체 변경사항에 대한 알림을 Pub/Sub 주제로 보내도록 버킷을 구성하는 방법을 설명합니다. 알림을 수신하는 Pub/Sub 주제 구독에 대한 정보는 구독 유형 선택을 참조하세요.
시작하기 전에
이 기능을 사용하기 전에 다음 안내를 완료합니다.
Pub/Sub API 사용 설정
알림을 수신할 프로젝트에서 Pub/Sub API를 사용 설정합니다.
필요한 역할 얻기
버킷의 Pub/Sub 알림을 구성하고 보는 데 필요한 권한을 얻으려면 관리자에게 다음 역할을 부여해 달라고 요청하세요.
Pub/Sub 알림을 구성하려는 버킷에 대한 스토리지 관리자(
roles/storage.admin
) 역할Pub/Sub 알림을 수신하려는 프로젝트에 대한 Pub/Sub 관리자(
roles/pubsub.admin
) 역할
이러한 사전 정의된 역할에는 Pub/Sub 알림을 구성하고 보는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 확장하세요.
필수 권한
storage.buckets.get
storage.buckets.update
pubsub.topics.create
pubsub.topics.setIamPolicy
다른 사전 정의된 역할이나 커스텀 역할을 사용하여 이러한 권한을 부여받을 수도 있습니다.
버킷에 대한 역할 부여 방법은 버킷에 IAM 사용을 참조하세요. 프로젝트에 대한 역할을 부여하고 주제 및 구독에 대한 액세스 제어를 설정하는 방법은 액세스 제어를 참조하세요.
기존 Pub/Sub 주제가 있는지 확인
아직 Pub/Sub 주제를 만들지 않았으면 알림을 보낼 Pub/Sub 주제를 만듭니다. Google Cloud CLI 또는 Terraform을 사용하여 이 페이지의 안내를 수행하려는 경우에는 이 단계가 필요하지 않습니다.
프로젝트의 서비스 에이전트에 필요한 역할 부여
Google Cloud CLI 또는 Terraform을 사용하여 이 페이지의 안내를 수행하려는 경우에는 다음 단계가 필요하지 않습니다.
Cloud Storage 버킷을 포함하고 있는 프로젝트와 연관된 서비스 에이전트의 이메일 주소를 확인합니다.
서비스 에이전트에 관련 Pub/Sub 주제에 대한 Pub/Sub 게시자(
roles/pubsub.publisher
) 역할을 부여합니다. 주제에 대한 역할을 부여하는 방법은 액세스 제어를 참조하세요.
알림 구성 적용
다음 단계에서는 모든 지원되는 이벤트의 알림을 보내는 알림 구성을 버킷에 추가합니다.
콘솔
Google Cloud 콘솔에서는 Pub/Sub 알림을 관리할 수 없습니다. 대신 gcloud CLI 또는 사용 가능한 클라이언트 라이브러리 중 하나를 사용합니다.
명령줄
gcloud storage buckets notifications create
명령어를 사용합니다.
gcloud storage buckets notifications create gs://BUCKET_NAME --topic=TOPIC_NAME
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 관련 버킷의 이름입니다. 예를 들면my-bucket
입니다.TOPIC_NAME
은 알림을 보낼 Pub/Sub 주제입니다. 프로젝트에 없는 주제를 지정하면 명령어가 자동으로 생성합니다.
일부 이벤트에 대한 알림을 보내려면 --event-types
플래그를 포함합니다.
클라이언트 라이브러리
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에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP를 사용하여 버킷의 알림 구성을 만들려면 Google Cloud 클라이언트 라이브러리 참고 문서를 참조하세요.Python
자세한 내용은 Cloud Storage Python API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Terraform
Terraform 리소스를 사용하여 버킷에 알림 구성을 추가할 수 있습니다.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.다음 정보를 포함하는 JSON 파일을 만듭니다.
{ "topic": "projects/PROJECT_ID/topics/TOPIC_NAME", "payload_format": "JSON_API_V1" }
각 항목의 의미는 다음과 같습니다.
PROJECT_ID
는 알림을 보낼 Pub/Sub 주제와 연결된 프로젝트의 ID입니다. 예를 들면my-pet-project
입니다.TOPIC_NAME
은 알림을 보낼 Pub/Sub 주제입니다. 예를 들면my-topic
입니다.
일부 이벤트에 대한 알림을 보내려면 JSON 요청 본문에
event_types
필드를 포함합니다.cURL
을 사용하여POST notificationConfigs
요청으로 JSON API를 호출합니다.curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
각 항목의 의미는 다음과 같습니다.
JSON_FILE_NAME
은 2단계에서 만든 파일의 경로입니다.BUCKET_NAME
은 알림을 생성할 버킷의 이름입니다. 예를 들면my-bucket
입니다.
XML API
XML API로 Pub/Sub 알림을 관리할 수 없습니다.
알림 구성 가져오기
버킷과 연결된 특정 알림 구성을 가져오려면 다음 단계를 완료합니다.
콘솔
Google Cloud 콘솔에서는 Pub/Sub 알림을 관리할 수 없습니다. 대신 Google Cloud CLI 또는 사용 가능한 클라이언트 라이브러리 중 하나를 사용합니다.
명령줄
gcloud storage buckets notifications describe
명령어를 사용합니다.
gcloud storage buckets notifications describe projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 알림 구성을 검색할 버킷의 이름입니다(예:my-bucket
).NOTIFICATION_ID
는 관련 구성의 ID 번호입니다. 예를 들면5
입니다.
성공하면 다음 예시와 비슷한 응답이 표시됩니다.
etag: '132' id: '132' kind: storage#notification payload_format: JSON_API_V1 selfLink: https://www.googleapis.com/storage/v1/b/my-bucket/notificationConfigs/132 topic: //pubsub.googleapis.com/projects/my-project/topics/my-bucket
클라이언트 라이브러리
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에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP를 사용하여 버킷의 알림 구성을 가져오려면 Google Cloud 클라이언트 라이브러리 참고 문서를 참조하세요.Python
자세한 내용은 Cloud Storage Python API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여GET notificationConfigs
요청으로 JSON API를 호출합니다.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 알림 구성을 검색하려는 버킷의 이름입니다. 예를 들면my-bucket
입니다.NOTIFICATION_ID
는 검색하려는 알림 구성의 ID 번호입니다. 예를 들면5
입니다.
XML API
XML API로 Pub/Sub 알림을 관리할 수 없습니다.
버킷의 알림 구성 나열
특정 버킷과 연결된 모든 알림 구성을 나열하려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서는 Pub/Sub 알림을 관리할 수 없습니다. 대신 gcloud CLI 또는 사용 가능한 클라이언트 라이브러리 중 하나를 사용합니다.
명령줄
gcloud storage buckets notifications list
명령어를 사용합니다.
gcloud storage buckets notifications list gs://BUCKET_NAME
여기서 BUCKET_NAME
은 알림 구성을 나열할 버킷의 이름입니다. 예를 들면 my-bucket
입니다.
클라이언트 라이브러리
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에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP를 사용하여 버킷과 연결된 알림 구성을 나열하려면 Google Cloud 클라이언트 라이브러리 참고 문서를 참조하세요.Python
자세한 내용은 Cloud Storage Python API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여GET notificationConfigs
요청으로 JSON API를 호출합니다.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
여기서
BUCKET_NAME
은 알림 구성을 나열할 버킷의 이름입니다. 예를 들면my-bucket
입니다.
XML API
XML API로 Pub/Sub 알림을 관리할 수 없습니다.
알림 구성 삭제
버킷에서 기존 알림 구성을 삭제하려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서는 Pub/Sub 알림을 관리할 수 없습니다. 대신 gcloud CLI 또는 사용 가능한 클라이언트 라이브러리 중 하나를 사용합니다.
명령줄
gcloud storage buckets notifications delete
명령어를 사용합니다.
gcloud storage buckets notifications delete projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 알림 구성을 삭제하려는 버킷의 이름입니다. 예를 들면my-bucket
입니다.NOTIFICATION_ID
는 삭제하려는 구성의 ID 번호입니다. 예를 들면5
입니다.
성공하면 다음 예시와 비슷한 응답이 표시됩니다.
Completed 1
전송 후 알림 구성에서 트리거한 모든 알림이 중지하는 데 최대 30초가 걸릴 수 있습니다.
클라이언트 라이브러리
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에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP를 사용하여 버킷의 알림 구성을 삭제하려면 Google Cloud 클라이언트 라이브러리 참고 문서를 참조하세요.Python
자세한 내용은 Cloud Storage Python API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Terraform
만든 알림 구성을 삭제하려면 Terraform 파일이 포함된 폴더에서 terraform destroy
를 실행합니다.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여DELETE notificationConfigs
요청으로 JSON API를 호출합니다.curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 알림 구성을 삭제하려는 버킷의 이름입니다. 예를 들면my-bucket
입니다.NOTIFICATION_ID
는 삭제하려는 알림 구성의 ID 번호입니다. 예를 들면5
입니다.
전송 후 알림 구성에 의해 트리거된 모든 알림이 중지하는 데 최대 30초까지 걸릴 수 있습니다.
XML API
XML API로 Pub/Sub 알림을 관리할 수 없습니다.
다음 단계
- Cloud Storage용 Pub/Sub 알림 자세히 알아보기
- Pub/Sub에 구독을 만들어 Cloud Storage에서 보낸 알림 보기
- GitHub에서 알림을 폴링하는 Python 예시 앱을 참조하세요.
- Cloud Run 함수를 사용하여 Cloud Storage 트리거로 이벤트를 전송