구독을 만든 후에는 전송 방법을 푸시, 풀, 내보내기로 변경할 수 있습니다.
시작하기 전에
- 지원되는 구독 중 하나를 만듭니다.
필수 역할 및 권한
구독 유형을 변경하는 데 필요한 권한을 얻으려면 관리자에게 구독에 대한 Pub/Sub 편집자 (roles/pubsub.editor) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는
권한이 포함되어 있습니다.
구독 유형을 변경하는 데 필요합니다.
pubsub.subscriptions.update
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 가져올 수도 있습니다.
프로젝트 수준 및 개별 리소스 수준에서 액세스 제어를 구성할 수 있습니다. 한 프로젝트에서 구독을 만들고 이를 다른 프로젝트에 있는 주제에 연결할 수 있습니다. 각 프로젝트에 필요한 권한이 있는지 확인합니다.
구독의 전송 유형 변경
구독의 전송 유형을 변경하려면 다음 단계를 수행합니다.
콘솔
콘솔에서 구독 페이지로 이동합니다. Google Cloud
업데이트할 구독의 이름을 클릭합니다.
구독 세부정보 페이지에서 수정 을 클릭합니다.
전송 유형에서 새 전송 유형을 선택합니다.
새 구독 유형의 속성을 입력합니다. 자세한 내용은 다음 항목을 참조하세요.
선택사항입니다. 필요에 따라 다른 구독 속성을 업데이트합니다.
업데이트 를 클릭합니다.
gcloud
전송 유형을 변경하려면
gcloud pubsub subscriptions update
명령어를 사용합니다. 다음과 같이 현재 전송 유형의 구성을 지우고 새 유형의 구성을 설정합니다.
gcloud pubsub subscriptions update SUBSCRIPTION_ID \
CLEAR_CONFIG_FLAG \
NEW_CONFIG_FLAGS
다음을 바꿉니다.
SUBSCRIPTION_ID: 업데이트할 구독의 이름입니다.
CLEAR_CONFIG_FLAG: 전송 유형의 기존 구성을 지우는 플래그입니다. 현재 전송 유형에 따라 다음 플래그 중 하나를 사용합니다.
pull 구독:
--no-enable-exactly-once-deliverypush 구독:
--push-endpoint=""BigQuery 구독:
--clear-bigquery-configCloud Storage 구독:
--clear-cloud-storage-config
NEW_CONFIG_FLAGS: 새 전송 유형을 구성하는 플래그입니다. 자세한 내용은
gcloud pubsub subscriptions update명령어 문서를 참조하세요.
예시
BigQuery 구독을 pull 구독으로 변경합니다.
gcloud pubsub subscriptions update SUBSCRIPTION_ID \
--clear-bigquery-config
push 구독을 BigQuery 구독으로 변경합니다.
gcloud pubsub subscriptions update SUBSCRIPTION_ID \
--push-endpoint="" \
--bigquery-table=BIGQUERY_TABLE
push 구독 엔드포인트 업데이트
push 구독의 엔드포인트 URL을 업데이트하려면 다음 단계를 수행합니다.
콘솔
엔드포인트 URL을 수정하려면 다음 단계를 완료하세요.
- 콘솔에서 구독 페이지로 이동합니다. Google Cloud
- 업데이트할 구독 옆에 있는 more_vert를 클릭합니다.
- 전송 유형에서 전송 옵션을 선택합니다.
- 필요에 따라 다른 구독 속성을 입력합니다.
- 업데이트를 클릭합니다.
gcloud
-
콘솔에서 Cloud Shell을 활성화합니다. Google Cloud
콘솔 하단에 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Google Cloud Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.
-
엔드포인트 URL을 수정하려면
gcloud pubsub subscriptions modify-push-config명령어를 실행합니다.gcloud pubsub subscriptions modify-push-config SUBSCRIPTION_ID \ --push-endpoint=PUSH_ENDPOINT
구독이 이미 가져오기 전송을 사용 중인 경우, 푸시 엔드포인트 를 설정하면 전송 방법이 내보내기 전송으로 전환됩니다.
푸시 엔드포인트를 빈 문자열로 변경하면 내보내기에서 가져오기 전송으로 전환할 수 있습니다.
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++
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 C++ 설정 안내를 따르세요. 자세한 내용은 Pub/Sub C++ API 참고 문서를 확인하세요.
C#
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 C# 설정 안내를 따르세요. 자세한 내용은 Pub/Sub C# API 참고 문서를 확인하세요.
Go
다음 샘플은 Go Pub/Sub 클라이언트 라이브러리 (v2)의 주 버전을 사용합니다. 아직 v1 라이브러리를 사용 중인 경우 v2로의 마이그레이션 가이드를 참조하세요. v1 코드 샘플 목록을 보려면 지원 중단된 코드 샘플을 참조하세요.
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Go API 참고 문서를 참조하세요.
자바
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Pub/Sub 자바 API 참고 문서를 참조하세요.
Node.js
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Node.js API 참고 문서를 참조하세요.
Node.ts
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Node.js API 참고 문서를 참조하세요.
Python
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Python API 참고 문서를 참조하세요.
Ruby
다음 샘플은 Ruby Pub/Sub 클라이언트 라이브러리 v3을 사용합니다. 아직 v2 라이브러리를 사용 중인 경우 v3으로의 마이그레이션 가이드를 참조하세요. Ruby v2 코드 샘플 목록을 보려면 지원 중단된 코드 샘플을 참조하세요.
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 Ruby 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Ruby API 참고 문서를 참조하세요.
다음 단계
gcloud명령어로 구독을 만들거나 수정합니다.- REST API로 구독을 만들거나 수정하기