이 페이지에서는 객체 변경사항에 대한 알림을 Pub/Sub 주제로 보내도록 버킷을 구성하는 방법을 설명합니다. 알림을 수신하는 Pub/Sub 주제 구독에 대한 정보는 구독 유형 선택을 참조하세요.
시작하기 전에
이 기능을 사용하려면 다음 요건을 충족해야 합니다.
알림을 수신할 프로젝트에서 Pub/Sub API를 사용 설정합니다.
모니터링할 버킷에 대한
storage.buckets.update
및storage.buckets.get
권한이 있어야 합니다. 자세한 방법은 IAM 권한 사용을 참조하세요. 버킷이 포함된 프로젝트를 소유하고 있다면 필요한 권한을 가지고 있을 가능성이 높습니다.알림을 수신할 프로젝트에서 충분한 권한이 있어야 합니다.
알림을 수신할 프로젝트를 소유하고 있다면 필요한 권한을 가지고 있을 가능성이 높습니다.
알림을 수신할 주제를 만들려면
pubsub.topics.create
권한이 있어야 합니다.신규 또는 기존 주제 중 무엇을 사용하더라도
pubsub.topics.setIamPolicy
권한이 있어야 합니다. 주제를 만들면 일반적으로 주제에 대해pubsub.topics.setIamPolicy
를 갖습니다.이러한 Pub/Sub 권한을 얻는 방법은 Pub/Sub 액세스 제어를 참조하세요.
-
알림을 보내려는 기존 Pub/Sub 주제가 있어야 합니다.
Cloud Storage 버킷을 포함하고 있는 프로젝트와 연관된 서비스 에이전트의 이메일 주소를 확인합니다.
이전 단계에서 가져온 이메일 주소를 사용하여 관련된 Pub/Sub 주제의 IAM 역할
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
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
다음 정보를 포함하는 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 OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
각 항목의 의미는 다음과 같습니다.
JSON_FILE_NAME
은 2단계에서 만든 파일의 경로입니다.OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.BUCKET_NAME
은 알림을 생성할 버킷의 이름입니다. 예를 들면my-bucket
입니다.
XML API
XML API로 Pub/Sub 알림을 관리할 수 없습니다.
알림 구성 가져오기
버킷과 연결된 특정 알림 구성을 가져오려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서는 Pub/Sub 알림을 관리할 수 없습니다. 대신 gcloud 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
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
cURL
을 사용하여GET notificationConfigs
요청으로 JSON API를 호출합니다.curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.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
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
cURL
을 사용하여GET notificationConfigs
요청으로 JSON API를 호출합니다.curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.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
- OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. 자체 OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다. 자세한 내용은 API 인증을 참조하세요.
cURL
을 사용하여DELETE notificationConfigs
요청으로 JSON API를 호출합니다.curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/notificationConfigs/NOTIFICATION_ID"
각 항목의 의미는 다음과 같습니다.
OAUTH2_TOKEN
은 1단계에서 생성한 액세스 토큰입니다.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 Functions를 사용하여 Cloud Storage 트리거로 이벤트를 전송