הצגת רשימה של אשכולי Connect

כשמציגים את רשימת האשכולות של Connect, אפשר לראות את הפרטים של כל האשכולות של Connect בחלונית אחת, כולל פרטים כמו תקינות האשכולות, מיקומים, זמן פעולה רציפה של האשכולות, גודל המחשוב, אשכול משויך של שירות מנוהל של Google Cloud ל-Apache Kafka ותוויות.

כדי להציג את רשימת אשכולי Connect, אפשר להשתמש במסוף Google Cloud , ב-CLI של gcloud, בספריית הלקוח או ב-Managed Kafka API. אי אפשר להשתמש ב-API של Apache Kafka בקוד פתוח כדי להציג רשימה של אשכולות Connect.

תפקידים והרשאות שנדרשים כדי להציג רשימה של אשכולי Connect

כדי לקבל את ההרשאות שנדרשות להצגת רשימת אשכולי Connect, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Managed Kafka Viewer (roles/managedkafka.viewer) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות להצגת רשימה של אשכולי Connect. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי להציג את רשימת האשכולות של Connect, נדרשות ההרשאות הבאות:

  • מעניקים את ההרשאה list clusters במיקום שצוין: managedkafka.connectClusters.list
  • נותנים את ההרשאה לקבלת פרטי אשכול במיקום שצוין: managedkafka.connectClusters.get

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

צפייה באשכולות של Connect

המסוף

  1. נכנסים לדף Connect Clusters במסוף Google Cloud .

    מעבר אל Connect Clusters

  2. מוצגת רשימה של האשכולות שיצרתם בפרויקט. בדף אפשר לראות את מאפייני האשכול הבאים:

    • Name: המזהה הייחודי של אשכול Connect. אפשר להשתמש בו כדי להפנות אל אשכול Connect בפעולות שונות.
    • State: מציין את הסטטוס התפעולי הנוכחי של אשכול Connect, כמו Active.
    • מיקום: המיקום הגיאוגרפי שבו מתארח אשכול Connect.
    • שעת העדכון: השעה שבה עודכן לאחרונה אשכול Connect.
    • vCPUs: מספר יחידות ה-vCPU שהוקצו לאשכול Connect.
    • זיכרון: כמות הזיכרון הכוללת שהוקצתה לאשכול Connect.
    • אשכול Kafka ראשי: אשכול השירות המנוהל ל-Apache Kafka שמשויך לאשכול Connect.
    • Labels: צמדי מפתח/ערך שאפשר לצרף לאשכול Connect למטרות ארגון, סינון ואוטומציה.

gcloud

  1. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

    בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

  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 במאמר התקנת ספריות הלקוח. מידע נוסף מופיע ב מאמרי העזרה של ה-API של שירות מנוהל ל-Apache Kafka Go.

כדי לבצע אימות לשירות המנוהל ל-Apache Kafka, צריך להגדיר את Application Default Credentials‏(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.

כדי לבצע אימות לשירות המנוהל ל-Apache Kafka, מגדירים את ה-Application Default Credentials. מידע נוסף זמין במאמר הגדרת 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 במאמר התקנת ספריות הלקוח. מידע נוסף מופיע ב מאמרי העזרה של ה-API בשפת Python של שירות מנוהל ל-Apache Kafka.

כדי לבצע אימות לשירות המנוהל ל-Apache Kafka, מגדירים את ה-Application Default Credentials. מידע נוסף זמין במאמר הגדרת 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®‎ הוא סימן מסחרי רשום של The Apache Software Foundation או של השותפים העצמאיים שלה בארצות הברית או במדינות אחרות.