Google Cloud Managed Service for Apache Kafka コンシューマー グループを一覧表示する

クラスタ内のコンシューマー グループを一覧表示するには、 Google Cloud コンソール、Google Cloud CLI、クライアント ライブラリ、Managed Kafka API、またはオープンソースの Apache Kafka API を使用します。

コンシューマー グループを一覧表示するために必要なロールと権限

コンシューマー グループを一覧表示するために必要な権限を取得するには、プロジェクトに対する Managed Kafka 閲覧者 roles/managedkafka.viewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、コンシューマー グループのリストに必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

コンシューマー グループを一覧表示するには、次の権限が必要です。

  • コンシューマー グループを一覧表示する: managedkafka.consumerGroups.list
  • コンシューマ グループの詳細を取得します。 managedkafka.consumerGroups.get

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

Managed Kafka 閲覧者のロールの詳細については、Managed Service for Apache Kafka の事前定義ロールをご覧ください。

コンシューマー グループを一覧表示する

特定のクラスタのすべてのコンシューマー グループを一覧表示する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[クラスタ] ページに移動します。

    クラスタに移動

  2. コンシューマー グループを表示するクラスタをクリックします。

    クラスタの詳細ページが表示されます。クラスタの詳細ページの [リソース] タブに、コンシューマー グループが表示されます。

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    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.

  2. gcloud managed-service-for-apache-kafka consumer-groups list コマンドを実行します。

    gcloud managed-kafka consumer-groups list CLUSTER_ID \
        --location=LOCATION \
        --limit=LIMIT

    このコマンドは、指定されたクラスタとロケーション内のすべての Managed Service for Apache Kafka コンシューマー グループを一覧表示します。

    次のように置き換えます。

    • CLUSTER_ID: クラスタの ID または名前。

    • LOCATION: クラスタのロケーション。

    • LIMIT: 一覧表示するコンシューマー グループの最大数。

  3. Go

    このサンプルを試す前に、 クライアント ライブラリをインストールするにある Go の設定手順を行ってください。詳細については、 Managed Service for Apache Kafka Go API のリファレンス ドキュメントをご覧ください。

    Managed Service for Apache Kafka に対する認証を行うには、アプリケーションのデフォルト認証情報(ADC)を設定します。詳細については、ローカル開発環境の ADC の設定をご覧ください。

    import (
    	"context"
    	"fmt"
    	"io"
    
    	"cloud.google.com/go/managedkafka/apiv1/managedkafkapb"
    	"google.golang.org/api/iterator"
    	"google.golang.org/api/option"
    
    	managedkafka "cloud.google.com/go/managedkafka/apiv1"
    )
    
    func listConsumerGroups(w io.Writer, projectID, region, clusterID string, opts ...option.ClientOption) error {
    	// projectID := "my-project-id"
    	// region := "us-central1"
    	// clusterID := "my-cluster"
    	ctx := context.Background()
    	client, err := managedkafka.NewClient(ctx, opts...)
    	if err != nil {
    		return fmt.Errorf("managedkafka.NewClient got err: %w", err)
    	}
    	defer client.Close()
    
    	clusterPath := fmt.Sprintf("projects/%s/locations/%s/clusters/%s", projectID, region, clusterID)
    	req := &managedkafkapb.ListConsumerGroupsRequest{
    		Parent: clusterPath,
    	}
    	consumerGroupIter := client.ListConsumerGroups(ctx, req)
    	for {
    		res, err := consumerGroupIter.Next()
    		if err == iterator.Done {
    			break
    		}
    		if err != nil {
    			return fmt.Errorf("consumerGroupIter.Next() got err: %w", err)
    		}
    		fmt.Fprintf(w, "Got consumer group: %v", res)
    	}
    	return nil
    }
    

    Java

    このサンプルを試す前に、 クライアント ライブラリをインストールするにある Java の設定手順を行ってください。詳細については、 Managed Service for Apache Kafka Java API リファレンス ドキュメントをご覧ください。

    Managed Service for Apache Kafka に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、 ローカル開発環境の ADC の設定をご覧ください。

    import com.google.api.gax.rpc.ApiException;
    import com.google.cloud.managedkafka.v1.ClusterName;
    import com.google.cloud.managedkafka.v1.ConsumerGroup;
    import com.google.cloud.managedkafka.v1.ManagedKafkaClient;
    import java.io.IOException;
    
    public class ListConsumerGroups {
    
      public static void main(String[] args) throws Exception {
        // TODO(developer): Replace these variables before running the example.
        String projectId = "my-project-id";
        String region = "my-region"; // e.g. us-east1
        String clusterId = "my-cluster";
        listConsumerGroups(projectId, region, clusterId);
      }
    
      public static void listConsumerGroups(String projectId, String region, String clusterId)
          throws Exception {
        try (ManagedKafkaClient managedKafkaClient = ManagedKafkaClient.create()) {
          ClusterName clusterName = ClusterName.of(projectId, region, clusterId);
          // This operation is being handled synchronously.
          for (ConsumerGroup consumerGroup :
              managedKafkaClient.listConsumerGroups(clusterName).iterateAll()) {
            System.out.println(consumerGroup.getAllFields());
          }
        } catch (IOException | ApiException e) {
          System.err.printf("managedKafkaClient.listConsumerGroups got err: %s", e.getMessage());
        }
      }
    }
    

    Python

    このサンプルを試す前に、 クライアント ライブラリをインストールするの Python の設定手順を行ってください。詳細については、 Managed Service for Apache Kafka Python API リファレンス ドキュメントをご覧ください。

    Managed Service for Apache Kafka に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の ADC の設定をご覧ください。

    from google.cloud import managedkafka_v1
    
    # TODO(developer)
    # project_id = "my-project-id"
    # region = "us-central1"
    # cluster_id = "my-cluster"
    
    client = managedkafka_v1.ManagedKafkaClient()
    
    request = managedkafka_v1.ListConsumerGroupsRequest(
        parent=client.cluster_path(project_id, region, cluster_id),
    )
    
    response = client.list_consumer_groups(request=request)
    for consumer_group in response:
        print("Got consumer group:", consumer_group)
    

次のステップ

Apache Kafka® は、Apache Software Foundation または米国その他の諸国における関連会社の商標です。