이 문서에서는 pull 구독을 만드는 방법을 설명합니다. Google Cloud 콘솔, Google Cloud CLI, 클라이언트 라이브러리, Pub/Sub API를 사용하여 pull 구독을 만들 수 있습니다.
시작하기 전에
필수 역할 및 권한
구독을 만들려면 프로젝트 수준에서 액세스 제어를 구성해야 합니다. 또한 이 섹션의 뒷부분에서 설명하는 것처럼 구독과 주제가 다른 프로젝트에 있는 경우 리소스 수준 권한도 필요합니다.
pull 구독을 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Pub/Sub 편집자(roles/pubsub.editor
) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 pull 구독을 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
pull 구독을 만들려면 다음 권한이 필요합니다.
-
구독에서 가져오기:
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
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
한 프로젝트에서 다른 프로젝트의 주제와 연결된 pull 구독을 만들어야 하는 경우 주제 관리자에게 주제에 대한 Pub/Sub 편집자 (roles/pubsub.editor)
IAM 역할도 부여해 달라고 요청하세요.
pull 구독 속성
pull 구독을 구성할 때 다음 속성을 지정할 수 있습니다.
일반 속성
모든 구독에 설정할 수 있는 일반적인 구독 속성에 대해 알아봅니다.
1회만 전송
1회만 전송. 설정되면 Pub/Sub는 1회만 전송 보장을 이행합니다. 지정하지 않으면 구독은 각 메시지에 최소 1회 전송을 지원합니다.
pull 구독 만들기
다음 샘플은 제공된 기본 설정을 사용하여 pull 전송으로 구독을 만드는 방법을 보여줍니다.
콘솔
pull 구독을 만들려면 다음 단계를 완료하세요.
Google Cloud 콘솔에서 구독 페이지로 이동합니다.
- 구독 만들기를 클릭합니다.
구독 ID 필드에 이름을 입력합니다.
구독 이름 지정 방법은 주제 또는 구독 이름 지정 안내를 참조하세요.
- 드롭다운 메뉴에서 하나의 주제를 선택하거나 만듭니다. 구독은 주제에서 메시지를 수신합니다.
- 전송 유형을 pull로 유지합니다.
- 다른 모든 기본값을 유지합니다.
- 만들기를 클릭합니다.
주제 섹션에서도 구독을 만들 수 있습니다. 이 단축키는 주제를 구독과 연결하는 데 유용합니다.
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
- 구독을 만들 주제 옆에 있는 more_vert를 클릭합니다.
- 컨텍스트 메뉴에서 구독 만들기를 선택합니다.
구독 ID를 입력합니다.
구독 이름 지정 방법은 주제 또는 구독 이름 지정 안내를 참조하세요.
- 전송 유형을 pull로 유지합니다.
- 다른 모든 기본값을 유지합니다.
- 만들기를 클릭합니다.
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.
- pull 구독을 만들려면
gcloud pubsub subscriptions create
명령어를 실행합니다.gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_ID
다음을 바꿉니다.
SUBSCRIPTION_ID
: 새 pull 구독의 이름 또는 IDTOPIC_ID
: 주제의 이름 또는 ID
REST
pull 구독을 만들려면 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" }
각 항목의 의미는 다음과 같습니다.
응답:
{ "name": "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID", "topic": "projects/PROJECT_ID/topics/TOPIC_ID", "pushConfig": {}, "ackDeadlineSeconds": 10, "messageRetentionDuration": "604800s", "expirationPolicy": { "ttl": "2678400s" } }
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
PHP
이 샘플을 사용해 보기 전에 Pub/Sub 빠른 시작: 클라이언트 라이브러리 사용의 PHP 설정 안내를 따르세요. 자세한 내용은 Pub/Sub PHP API 참고 문서를 확인하세요.
Pub/Sub에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Pub/Sub 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Python API 참고 문서를 확인하세요.
Pub/Sub에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
Ruby
이 샘플을 사용해 보기 전에 Pub/Sub 빠른 시작: 클라이언트 라이브러리 사용의 Ruby 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Ruby API 참고 문서를 확인하세요.
Pub/Sub에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
pull 구독 모니터링
Cloud Monitoring은 구독을 모니터링하기 위한 여러 측정항목을 제공합니다.
Pub/Sub와 관련하여 사용 가능한 모든 측정항목 및 설명 목록은 Pub/Sub 모니터링 문서를 참조하세요.
Pub/Sub 내에서도 구독을 모니터링할 수 있습니다.
다음 단계
gcloud
명령어로 구독을 만들거나 수정합니다.- REST API로 구독을 만들거나 수정하기