구독을 만든 후에는 전송 방법을 푸시, 풀, 내보내기로 변경할 수 있습니다.
시작하기 전에
- 지원되는 구독 중 하나를 만듭니다.
필수 역할 및 권한
구독 유형을 변경하고 관리하는 데 필요한 권한을 얻으려면 관리자에게 주제 또는 프로젝트에 대한 Pub/Sub 편집자(roles/pubsub.editor
) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 구독 유형을 변경하고 관리하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
구독 유형을 변경하고 관리하려면 다음 권한이 필요합니다.
-
구독에서 가져오기:
pubsub.subscriptions.consume
-
구독 만들기:
pubsub.subscriptions.create
-
구독 삭제:
pubsub.subscriptions.delete
-
구독 가져오기:
pubsub.subscriptions.get
-
구독 나열:
pubsub.subscriptions.list
-
구독 업데이트:
pubsub.subscriptions.update
-
주제에 구독 연결하기:
pubsub.topics.attachSubscription
-
구독의 IAM 정책 가져오기:
pubsub.subscriptions.getIamPolicy
-
구독의 IAM 정책 구성:
pubsub.subscriptions.setIamPolicy
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
프로젝트 수준 및 개별 리소스 수준에서 액세스 제어를 구성할 수 있습니다. 한 프로젝트에서 구독을 만들고 이를 다른 프로젝트에 있는 주제에 연결할 수 있습니다. 각 프로젝트에 필요한 권한이 있는지 확인합니다.
전송 방법 수정
서로 다른 구독 유형 간에 전환할 수 있습니다.
콘솔
구독을 수정하려면 다음 단계를 수행합니다.
- Google Cloud 콘솔에서 구독 페이지로 이동합니다.
- 업데이트할 구독 옆에서 more_vert를 클릭합니다.
- 전송 유형에서 전송 옵션을 선택합니다.
- 필요에 따라 다른 구독 속성을 입력합니다.
- 업데이트를 클릭합니다.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
push 엔드포인트 URL을 수정하려면
gcloud pubsub subscriptions modify-push-config
명령어를 실행합니다.gcloud pubsub subscriptions modify-push-config SUBSCRIPTION_ID \ --push-endpoint=PUSH_ENDPOINT
구독이 이미 pull 전송을 사용 중인 경우, push 엔드포인트를 설정하면 전송 방법이 push 전송으로 전환됩니다.
push 엔드포인트를 빈 문자열로 변경하면 push에서 pull 전송으로 전환할 수 있습니다.
REST
구독의 push 구성을 수정하려면 projects.subscriptions.modifyPushConfig
메서드를 사용합니다.
요청:
요청은 Authorization
헤더의 액세스 토큰으로 인증해야 합니다. 현재 애플리케이션 기본 사용자 인증 정보의 액세스 토큰을 얻으려면 gcloud auth application-default print-access-token
을 실행합니다.
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID:modifyPushConfig Authorization: Bearer ACCESS_TOKEN
요청 본문:
{ "pushConfig": { "pushEndpoint": "PUSH_ENDPOINT" } }
각 항목의 의미는 다음과 같습니다.
https://myproject.appspot.com/myhandler
입니다.응답:
요청이 성공하면 응답은 빈 JSON 객체입니다.
C++
이 샘플을 사용해 보기 전에 Pub/Sub 빠른 시작: 클라이언트 라이브러리 사용의 C++ 설정 안내를 따르세요. 자세한 내용은 Pub/Sub C++ API 참고 문서를 확인하세요.
Pub/Sub에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
C#
이 샘플을 사용해 보기 전에 Pub/Sub 빠른 시작: 클라이언트 라이브러리 사용의 C# 설정 안내를 따르세요. 자세한 내용은 Pub/Sub C# API 참고 문서를 확인하세요.
Pub/Sub에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
이 샘플을 사용해 보기 전에 Pub/Sub 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Go API 참고 문서를 확인하세요.
Pub/Sub에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
이 샘플을 사용해 보기 전에 Pub/Sub 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Java API 참고 문서를 확인하세요.
Pub/Sub에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Node.js
Python
이 샘플을 사용해 보기 전에 Pub/Sub 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Python API 참고 문서를 확인하세요.
Pub/Sub에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
이 샘플을 사용해 보기 전에 Pub/Sub 빠른 시작: 클라이언트 라이브러리 사용의 Ruby 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Ruby API 참고 문서를 확인하세요.
Pub/Sub에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 단계
gcloud
명령어로 구독을 만들거나 수정합니다.- REST API로 구독을 만들거나 수정하기