구독을 만든 후에는 전송 방법을 푸시, 풀, 내보내기로 변경할 수 있습니다.
시작하기 전에
- 지원되는 구독 중 하나를 만듭니다.
 
필수 역할 및 권한
    
      구독 유형을 변경하고 관리하는 데 필요한 권한을 얻으려면 관리자에게 주제 또는 프로젝트에 대한 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.
 - 
  
푸시 엔드포인트 URL을 수정하려면
gcloud pubsub subscriptions modify-push-config명령어를 실행합니다.gcloud pubsub subscriptions modify-push-config SUBSCRIPTION_ID \ --push-endpoint=PUSH_ENDPOINT
구독이 이미 가져오기 전송을 사용 중인 경우, 푸시 엔드포인트를 설정하면 전송 방법이 내보내기 전송으로 전환됩니다.
푸시 엔드포인트를 빈 문자열로 변경하면 내보내기에서 가져오기 전송으로 전환할 수 있습니다.
 - PROJECT_ID: 프로젝트 ID
 - SUBSCRIPTION_ID: 구독 ID
 - PUSH_ENDPOINT는 새 푸시 엔드포인트로 적용하려는 수정된 URL입니다. 예를 들면 
https://myproject.appspot.com/myhandler입니다. 
REST
구독의 푸시 구성을 수정하려면 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"
}
}각 항목의 의미는 다음과 같습니다.
응답:
요청이 성공하면 응답은 빈 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로 구독을 만들거나 수정하기