이 문서에서는 pull 구독을 만드는 방법을 설명합니다. 콘솔 Google Cloud , Google Cloud CLI, 클라이언트 라이브러리, Pub/Sub API를 사용하여 pull 구독을 만들 수 있습니다.
시작하기 전에
필수 역할 및 권한
pull 구독을 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Pub/Sub 편집자 (roles/pubsub.editor) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 pull 구독을 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
pull 구독을 만들려면 다음 권한이 필요합니다.
-
pubsub.subscriptions.create프로젝트에 대한 -
pubsub.topics.attachSubscription주제에 대한
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
프로젝트 간 구독
한 프로젝트에서 다른 프로젝트의 주제에 대한 구독을 만드는 경우 구독을 만드는 프로젝트에 대한 pubsub.subscriptions.create 권한과 주제에 대한 pubsub.topics.attachSubscription 권한이 있어야 합니다.
풀 구독 만들기
콘솔
pull 구독을 만들려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 구독 페이지로 이동합니다.
구독 만들기 를 클릭합니다.
구독 ID 필드에 이름을 입력합니다.
구독 이름 지정 방법은 주제 또는 구독 이름 지정 안내를 참조하세요.
Pub/Sub 주제 목록에서 구독이 읽을 주제를 선택합니다.
**전송 유형** 에서 **가져오기** 를 선택합니다.
선택사항: 변환 섹션에서 단일 메시지 변환 (SMT)을 하나 이상 추가합니다. 자세한 내용은 SMT로 구독 만들기를 참조하세요.
선택사항: 필터 필드에 구독에서 메시지를 필터링하는 필터 표현식을 입력합니다. 자세한 내용은 구독에서 메시지 필터링을 참조하세요.
재시도 정책에서 옵션을 선택합니다. 자세한 내용은 구독 재시도 정책을 참조하세요.
선택사항: 전달할 수 없는 메시지를 수신하도록 데드 레터 주제를 사용 설정합니다.
데드 레터 처리 체크박스를 선택합니다.
데드 레터 주제 목록에서 데드 레터 주제를 선택하거나 만듭니다.
최대 전송 시도 횟수 필드에 최대 전송 시도 횟수를 입력합니다.
선택사항: 전송 속성 섹션에서 다음 전송 옵션을 사용 설정하거나 사용 중지합니다.
선택사항: 확인 기한 섹션에서 구독자가 메시지를 처리하고 확인하는 기한을 설정합니다. 자세한 내용은 임대 기간 관리로 확인 시간 연장을참조하세요.
선택사항: 수명 옵션 섹션에서 구독이 메시지를 보관하는 기간을 구성합니다.
메시지 보관 기간 섹션에서 확인되지 않은 메시지가 보관되는 기간을 지정합니다.
확인되지 않은 메시지뿐만 아니라 확인된 메시지도 보관하려면 확인된 메시지 보관 체크박스를 선택합니다.
자세한 내용은 구독의 메시지 보관 구성을 참조하세요.
선택사항: 만료 기간에서 옵션을 선택합니다.
구독 만료를 설정하려면 비활성 상태가 된 후 구독이 만료되는 경과 일수 체크박스를 선택합니다. Pub/Sub에서 구독을 삭제하기 전에 구독이 비활성 상태로 유지될 수 있는 일수를 입력합니다.
구독 만료를 사용 중지하려면 만료되지 않음 체크박스를 선택합니다.
자세한 내용은 구독 만료를 참조하세요.
만들기 를 클릭합니다.
주제 섹션에서도 구독을 만들 수 있습니다. 이 단축키는 주제를 구독과 연결하는 데 유용합니다.
콘솔 Google Cloud 에서 주제 페이지로 이동합니다.
구독을 만들 주제 옆에 있는 more_vert를 클릭합니다.
컨텍스트 메뉴에서 구독 만들기 를 선택합니다.
주제에 구독 추가 페이지에서 이전 절차에 설명된 단계를 완료합니다. 주제 ID가 자동으로 입력됩니다.
gcloud
-
Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.
콘솔 Google Cloud 하단에 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.
-
pull 구독을 만들려면
gcloud pubsub subscriptions create명령어를 실행합니다.gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_ID
다음을 바꿉니다.
SUBSCRIPTION_ID: 새 pull 구독의 이름 또는 IDTOPIC_ID: 주제의 이름 또는 ID
REST
풀 구독을 만들려면
projects.subscriptions.create 메서드를 사용합니다.
요청:
요청은 Authorization 헤더의 액세스 토큰으로 인증해야 합니다. 현재 애플리케이션 기본 사용자 인증 정보의 액세스 토큰을 얻으려면
gcloud auth application-default print-access-token을 실행합니다.
PUT https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID Authorization: Bearer ACCESS_TOKEN
요청 본문:
{ "topic": "projects/PROJECT_ID/topics/TOPIC_ID" }
각 항목의 의미는 다음과 같습니다.
- PROJECT_ID: 프로젝트 ID
- SUBSCRIPTION_ID: 구독 ID
- TOPIC_ID: 주제 ID
응답:
{
"name": "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID",
"topic": "projects/PROJECT_ID/topics/TOPIC_ID",
"pushConfig": {},
"ackDeadlineSeconds": 10,
"messageRetentionDuration": "604800s",
"expirationPolicy": {
"ttl": "2678400s"
}
}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
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Java API 참고 문서를 참조하세요.
Node.js
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Node.js API 참고 문서를 참조하세요.
Node.ts
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Node.js API 참고 문서를 참조하세요.
PHP
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 PHP 설정 안내를 따르세요. 자세한 내용은 Pub/Sub PHP API 참고 문서를 참조하세요.
Python
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Python API 참고 문서를 참조하세요.
Ruby
다음 샘플은 Ruby Pub/Sub 클라이언트 라이브러리 v3을 사용합니다. 아직 v2 라이브러리를 사용하고 있는 경우 v3으로의 마이그레이션 가이드를 참조하세요. Ruby v2 코드 샘플 목록을 보려면 지원 중단된 코드 샘플을 참조하세요.
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 Ruby 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Ruby API 참고 문서를 참조하세요.
pull 구독 모니터링
Cloud Monitoring은 구독을 모니터링하기 위한 여러 측정항목을 제공합니다.
Pub/Sub와 관련하여 사용 가능한 모든 측정항목 및 설명 목록은 Pub/Sub 모니터링 문서를 참조하세요.
Pub/Sub 내에서도 구독을 모니터링할 수 있습니다.
다음 단계
- pull 구독에서 메시지를 수신합니다.
gcloud명령어로 구독을 만들거나 수정합니다.- REST API로 구독을 만들거나 수정하기