このドキュメントでは、Pub/Sub トピックを削除する方法について説明します。トピックを削除するには、Google Cloud コンソール、Google CLI、クライアント ライブラリ、または Pub/Sub API を使用します。
準備
- トピックとメッセージのパブリッシュ ワークフローについて学習します。
- トピックを作成します。
必要なロールと権限
トピックの削除と管理に必要な権限を取得するには、トピックまたはプロジェクトに対する Pub/Sub 編集者(roles/pubsub.editor
)の IAM ロールを付与するように管理者に依頼してください。ロールの付与の詳細については、アクセスの管理をご覧ください。
この事前定義ロールには、トピックを削除して管理するために必要な権限が含まれています。必要な権限を正確に確認するには、[必要な権限] セクションを開いてください。
必要な権限
トピックを削除して管理するには、次の権限が必要です。
-
トピックを作成する:
pubsub.topics.create
-
トピックを削除する:
pubsub.topics.delete
-
トピックからサブスクリプションの接続を解除する:
pubsub.topics.detachSubscription
-
トピックを取得する:
pubsub.topics.get
-
トピックを一覧表示する:
pubsub.topics.list
-
トピックに公開する:
pubsub.topics.publish
-
トピックを更新する:
pubsub.topics.update
-
トピックの IAM ポリシーを取得する:
pubsub.topics.getIamPolicy
-
トピックの IAM ポリシーを構成する:
pubsub.topics.setIamPolicy
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
アクセス制御は、プロジェクト レベルと個々のリソースレベルで構成できます。あるプロジェクトにサブスクリプションを作成し、別のプロジェクトにあるトピックにアタッチできます。プロジェクトごとに必要な権限があることを確認します。
トピックの削除
トピックを削除しても、サブスクリプションは削除されません。サブスクリプションのメッセージ バックログはサブスクライバーが利用できます。トピックが削除されると、そのサブスクリプションのトピック名は _deleted-topic_
になります。削除したトピックと同じ名前のトピックを作成しようとすると、短時間エラーが発生します。
コンソール
Google Cloud コンソールで、Pub/Sub の [トピック] ページに移動します。
トピックを選択して、
(その他の操作)をクリックします。[削除] をクリックします。
[トピックを削除] ウィンドウが表示されます。
「
delete
」と入力して、[削除] をクリックします。
gcloud
-
Google Cloud コンソールで、「Cloud Shell をアクティブにする」をクリックします。
Google Cloud コンソールの下部で Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。
-
トピックを削除するには、
gcloud pubsub topics delete
コマンドを使用します。gcloud pubsub topics delete TOPIC_ID
REST
ドキュメントを削除するには、projects.topics.delete
メソッドを使用します。
リクエスト:
リクエストは、Authorization
ヘッダー内のアクセス トークンにより認証を受ける必要があります。現在のアプリケーションのデフォルト認証情報のアクセス トークンを取得する場合は、gcloud auth application-default print-access-token
を使用します。
DELETE https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_ID Authorization: Bearer ACCESS_TOKEN
ここで
レスポンス:
リクエストが成功した場合のレスポンスは空の 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
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 に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のステップ
トピックのサブスクリプションの種類を選択する。
gcloud CLI を使用してトピックを作成または変更する。
REST API を使用してトピックを作成または変更する。