Connect クラスタを一覧表示する

Managed Service for Apache Kafka を使用すると、すべての Connect クラスタの運用ステータス、リソース割り当て、構成の詳細を表示できます。この統合ビューを使用すると、Connect クラスタを 1 か所で管理できます。

Connect クラスタを一覧表示するには、 Google Cloud コンソール、gcloud CLI、クライアント ライブラリ、または Managed Kafka API を使用します。オープンソースの Apache Kafka API を使用して Connect クラスタを一覧表示することはできません。

Connect クラスタを一覧表示するために必要なロールと権限

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

この事前定義ロールには、Connect クラスタを一覧表示するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

Connect クラスタを一覧表示するには、次の権限が必要です。

  • 指定したロケーションに対するクラスタの一覧表示権限を付与します。 managedkafka.connectClusters.list
  • 指定されたロケーション(managedkafka.connectClusters.get)に対するクラスタの詳細取得権限を付与します。

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

Connect クラスタを表示する

コンソール

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

    [Connect クラスタ] に移動

  2. プロジェクトで作成したクラスタが一覧表示されます。このページでは、次のクラスタ プロパティを表示できます。

    • 名前: Connect クラスタの固有識別子。これを使用して、さまざまなオペレーションで Connect クラスタを参照できます。
    • 状態: Connect クラスタの現在の動作ステータス(アクティブなど)を示します。
    • ロケーション: Connect クラスタがホストされている地理的位置。
    • 更新時刻: Connect クラスタが最後に更新された時刻。
    • vCPUs: Connect クラスタに割り当てられた vCPU の数。
    • メモリ: Connect クラスタに割り当てられたメモリの合計量。
    • プライマリ Kafka クラスタ: Connect クラスタに関連付けられている Managed Service for Apache Kafka クラスタ。
    • ラベル: 整理、フィルタリング、自動化のために Connect クラスタに適用できる Key-Value ペア。

gcloud

  1. Google Cloud コンソールで Cloud Shell をアクティブにします。

    Cloud Shell をアクティブにする

    Google Cloud コンソールの下部で Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。

  2. gcloud managed-kafka connect-clusters list コマンドを使用して、Connect クラスタを一覧表示します。

    gcloud managed-kafka connect-clusters list \
        --location=LOCATION
    
  3. Connect クラスタのリストをさらに絞り込むには、追加のフラグを使用します。

    gcloud managed-kafka connect-clusters list \
        --location=LOCATION \
        [--filter=EXPRESSION] \
        [--limit=LIMIT] \
        [--page-size=PAGE_SIZE] \
        [--sort-by=SORT_BY]
    

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

    • LOCATION: 必須。一覧表示する Connect クラスタのロケーション。

    • EXPRESSION: (省略可)リストに適用するブール値フィルタ式。式が True と評価された場合、そのアイテムがリストに含まれます。詳細と例については、gcloud topic filters を実行してください。

    • LIMIT: (省略可)表示する Connect クラスタの最大数。指定しない場合は、すべての Connect クラスタが一覧表示されます。

    • PAGE_SIZE:(省略可)ページごとに表示する結果の数。指定しない場合、サービスは適切なページサイズを決定します。

    • SORT_BY: (省略可)並べ替えに使用するフィールドのカンマ区切りのリスト。デフォルトの並べ替え順は昇順です。降順で並べ替えるには、フィールドの先頭に ~ を付けます。

出力例:

NAME                   VCPU  MEMORY_BYTES  STATE   NETWORK
connect-cluster-alpha  3     3221225472    ACTIVE
connect-cluster-beta   3     3221225472    ACTIVE

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 listConnectClusters(w io.Writer, projectID, region string, opts ...option.ClientOption) error {
	// projectID := "my-project-id"
	// region := "us-central1"
	ctx := context.Background()
	client, err := managedkafka.NewManagedKafkaConnectClient(ctx, opts...)
	if err != nil {
		return fmt.Errorf("managedkafka.NewManagedKafkaConnectClient got err: %w", err)
	}
	defer client.Close()

	locationPath := fmt.Sprintf("projects/%s/locations/%s", projectID, region)
	req := &managedkafkapb.ListConnectClustersRequest{
		Parent: locationPath,
	}
	clusterIter := client.ListConnectClusters(ctx, req)
	for {
		res, err := clusterIter.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			return fmt.Errorf("clusterIter.Next() got err: %w", err)
		}
		fmt.Fprintf(w, "Got connect cluster: %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.ConnectCluster;
import com.google.cloud.managedkafka.v1.LocationName;
import com.google.cloud.managedkafka.v1.ManagedKafkaConnectClient;
import java.io.IOException;

public class ListConnectClusters {

  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
    listConnectClusters(projectId, region);
  }

  public static void listConnectClusters(String projectId, String region) throws Exception {
    try (ManagedKafkaConnectClient managedKafkaConnectClient = 
        ManagedKafkaConnectClient.create()) {
      LocationName locationName = LocationName.of(projectId, region);
      // This operation is being handled synchronously.
      for (ConnectCluster connectCluster : managedKafkaConnectClient
          .listConnectClusters(locationName).iterateAll()) {
        System.out.println(connectCluster.getAllFields());
      }
    } catch (IOException | ApiException e) {
      System.err.printf("managedKafkaConnectClient.listConnectClusters got err: %s\n", 
          e.getMessage());
    }
  }
}

Python

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

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

from google.cloud import managedkafka_v1
from google.cloud.managedkafka_v1.services.managed_kafka_connect import (
    ManagedKafkaConnectClient,
)
from google.api_core.exceptions import GoogleAPICallError

# TODO(developer)
# project_id = "my-project-id"
# region = "us-central1"

connect_client = ManagedKafkaConnectClient()

request = managedkafka_v1.ListConnectClustersRequest(
    parent=connect_client.common_location_path(project_id, region),
)

response = connect_client.list_connect_clusters(request=request)
for cluster in response:
    try:
        print("Got Connect cluster:", cluster)
    except GoogleAPICallError as e:
        print(f"Failed to list Connect clusters with error: {e}")

次のステップ

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