Mencantumkan semua konektor

Mencantumkan semua konektor yang berjalan di cluster Connect memberikan ringkasan integrasi data yang dikonfigurasi. Anda dapat memantau kondisi dan status konektor, mengidentifikasi potensi masalah, dan mengelola alur data secara efektif.

Untuk mencantumkan semua konektor di cluster Connect, Anda dapat menggunakan Google Cloud konsol, gcloud CLI, library klien Managed Service untuk Apache Kafka, atau Managed Kafka API. Anda tidak dapat menggunakan API Apache Kafka open source untuk mencantumkan konektor.

Peran dan izin yang diperlukan untuk mencantumkan semua konektor

Untuk mendapatkan izin yang diperlukan untuk mencantumkan semua konektor, minta administrator untuk memberi Anda peran IAM Managed Kafka Viewer (roles/managedkafka.viewer) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk mencantumkan semua konektor. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mencantumkan semua konektor:

  • Berikan izin list connectors di cluster Connect induk: managedkafka.connectors.list
  • Berikan izin untuk mendapatkan detail konektor di cluster Connect induk: managedkafka.connectors.get

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Lihat semua konektor

Tampilan ini memberikan cara cepat untuk memantau status konektor Anda dan mengidentifikasi konektor yang memerlukan perhatian. Kemudian, Anda dapat melihat perincian setiap konektor untuk melihat detail dan konfigurasinya jika diperlukan.

Konsol

  1. Di konsol Google Cloud , buka halaman Connect clusters.

    Buka Connect Clusters

  2. Klik cluster Connect yang ingin Anda cantumkan konektornya.

    Halaman Connect cluster details akan ditampilkan.

  3. Tab Resources menampilkan daftar semua konektor yang berjalan di cluster. Daftar ini mencakup informasi berikut untuk setiap konektor:

    • Nama: Nama konektor.
    • Status: Status operasional konektor. Misalnya, Berjalan, Gagal.
    • Jenis konektor: Jenis plugin konektor.

    Anda dapat menggunakan opsi Filter untuk menelusuri konektor tertentu menurut nama.

gcloud

  1. Di konsol Google Cloud , aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.

  2. Gunakan perintah gcloud managed-kafka connectors list untuk mencantumkan konektor:

    gcloud managed-kafka connectors list CONNECT_CLUSTER_ID \
        --location=LOCATION
    
  3. Untuk lebih menyaring daftar konektor, Anda dapat menggunakan tanda tambahan:

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

    Ganti kode berikut:

    • CONNECT_CLUSTER_ID: Wajib diisi. ID cluster Connect yang berisi konektor yang ingin Anda buat daftarnya.
    • LOCATION: Wajib diisi. Lokasi Connect cluster yang berisi konektor yang ingin Anda cantumkan.
    • EXPRESSION: (Opsional) Ekspresi filter Boolean untuk diterapkan ke daftar. Jika ekspresi bernilai True, item akan disertakan dalam daftar. Untuk mengetahui detail dan contoh selengkapnya, jalankan gcloud topic filters.

      Contoh:

      • Untuk mencantumkan hanya konektor yang berstatus 'BERJALAN':

        --filter="state=RUNNING"
        
      • Untuk mencantumkan hanya konektor 'Pub/Sub Sink':

        --filter="connector_plugin='Pub/Sub Sink'"
        
      • Untuk mencantumkan konektor dengan nama yang berisi 'prod':

        --filter="name ~ 'prod'"
        
      • Untuk mencantumkan konektor yang 'GAGAL' atau merupakan plugin 'Pub/Sub Source':

        --filter="state=FAILED OR connector_plugin='Pub/Sub Source'"
        
    • LIMIT: (Opsional) Jumlah maksimum konektor yang akan ditampilkan. Jika tidak ditentukan, semua konektor akan dicantumkan.

    • PAGE_SIZE: (Opsional) Jumlah hasil yang akan ditampilkan per halaman. Jika tidak ditentukan, layanan akan menentukan ukuran halaman yang sesuai.

    • SORT_BY: (Opsional) Daftar kolom yang dipisahkan koma untuk diurutkan. Urutan pengurutan default adalah menaik. Untuk mengurutkan dalam urutan menurun, beri awalan kolom dengan ~. Kolom yang didukung kemungkinan adalah name dan state.

Contoh perintah dengan pengurutan:

gcloud managed-kafka connectors list test-connect-cluster \
    --location=us-central1 \
    --sort-by=~state,name

Contoh perintah dengan pemfilteran dan pembatasan:

gcloud managed-kafka connectors list test-connect-cluster \
    --location=us-central1 \
    --filter="state=RUNNING AND connector_plugin='Pub/Sub Sink'" \
    --limit=5

Contoh output:

NAME                                    STATE     CONNECTOR_PLUGIN
pubsub-sink-connector                   RUNNING   Pub/Sub Sink
another-pubsub-sink                     RUNNING   Pub/Sub Sink
prod-pubsub-sink                        RUNNING   Pub/Sub Sink

Go

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Menginstal library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Managed Service for Apache Kafka Go API.

Untuk melakukan autentikasi ke Managed Service untuk Apache Kafka, siapkan Kredensial Default Aplikasi(ADC). Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal.

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

	parent := fmt.Sprintf("projects/%s/locations/%s/connectClusters/%s", projectID, region, connectClusterID)
	req := &managedkafkapb.ListConnectorsRequest{
		Parent: parent,
	}
	connectorIter := client.ListConnectors(ctx, req)
	for {
		connector, err := connectorIter.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			return fmt.Errorf("connectorIter.Next() got err: %w", err)
		}
		fmt.Fprintf(w, "Got connector: %v", connector)
	}
	return nil
}

Java

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Menginstal library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Managed Service untuk Apache Kafka.

Untuk melakukan autentikasi ke Managed Service untuk Apache Kafka, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.managedkafka.v1.ConnectClusterName;
import com.google.cloud.managedkafka.v1.Connector;
import com.google.cloud.managedkafka.v1.ManagedKafkaConnectClient;
import java.io.IOException;

public class ListConnectors {

  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-connect-cluster";
    listConnectors(projectId, region, clusterId);
  }

  public static void listConnectors(String projectId, String region, String clusterId)
      throws IOException {
    try (ManagedKafkaConnectClient managedKafkaConnectClient = ManagedKafkaConnectClient.create()) {
      ConnectClusterName parent = ConnectClusterName.of(projectId, region, clusterId);
      // This operation is handled synchronously.
      for (Connector connector : managedKafkaConnectClient.listConnectors(parent).iterateAll()) {
        System.out.println(connector.getAllFields());
      }
    } catch (IOException | ApiException e) {
      System.err.printf("managedKafkaConnectClient.listConnectors got err: %s\n", e.getMessage());
    }
  }
}

Python

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Menginstal library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Managed Service for Apache Kafka Python API.

Untuk melakukan autentikasi ke Managed Service untuk Apache Kafka, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal.

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_cluster_id = "my-connect-cluster"

connect_client = ManagedKafkaConnectClient()

request = managedkafka_v1.ListConnectorsRequest(
    parent=connect_client.connect_cluster_path(project_id, region, connect_cluster_id),
)

try:
    response = connect_client.list_connectors(request=request)
    for connector in response:
        print("Got connector:", connector)
except GoogleAPICallError as e:
    print(f"Failed to list connectors with error: {e}")

Apache Kafka® adalah merek dagang terdaftar milik The Apache Software Foundation atau afiliasinya di Amerika Serikat dan/atau negara lainnya.