Leitfaden für die Schnellkonfiguration für Event Streams für IBM Cloud
Dieses Lernprogramm führt Sie durch die Schritte, mit denen Sie schnell mit der Verwendung von Event Streams beginnen können, indem Sie eine Instanz bereitstellen, ein Thema und einen Berechtigungsnachweis erstellen und anschließend Daten erstellen und verarbeiten. Darüber hinaus lernen Sie, wie Sie IBM Cloud® Monitoring und IBM Cloud® Activity Trackerverbinden und optional Kafka Connect oder ksqlDBverwenden können. Zum Schluss erfahren Sie auch, wie Sie Hilfe zu Event Streamsanfordern.
Wählen Sie Ihre Schnittstelle über die Registerkarten am Anfang der Seite aus.
Befolgen Sie diese Schritte, um das Tutorial abzuschließen:
- Vorbereitende Schritte
- Schritt 1: Plan auswählen
- Schritt 2: Event Streams-Instanz über die Konsole bereitstellen
- Schritt 3: Topic und Partitionen über die Konsole erstellen
- Schritt 4: Serviceberechtigungsnachweis über die Konsole erstellen
- Schritt 5: Daten über die Konsole erstellen
- Schritt 6: Daten über die Konsole verarbeiten
- Schritt 7: Verbindung herstellen Monitoring
- Schritt 8: Verbinden von Activity Tracker
- Schritt 9:(Optional)Verwenden Sie Kafka Connect oder ksqlDB
- Schritt 10: Wenn Sie weitere Hilfe benötigen
Befolgen Sie diese Schritte, um das Tutorial abzuschließen:
- Vorbereitende Schritte
- Schritt 1: Plan auswählen
- Schritt 2: Event Streams-Instanz über die Befehlszeilenschnittstelle bereitstellen
- Schritt 3: Thema und Partitionen über die Befehlszeilenschnittstelle erstellen
- Schritt 4: Serviceberechtigungsnachweis über die Befehlszeilenschnittstelle erstellen
- Schritt 5: Daten über die Befehlszeile erzeugen
- Schritt 6: Daten über die Befehlszeile verarbeiten
- Schritt 7: Verbindung herstellen Monitoring
- Schritt 8: Verbinden von Activity Tracker
- Schritt 9:(Optional)Verwenden Sie Kafka Connect oder ksqlDB
- Schritt 10: Wenn Sie weitere Hilfe benötigen
Befolgen Sie diese Schritte, um das Tutorial abzuschließen:
- Vorbereitende Schritte
- Schritt 1: Plan auswählen
- Schritt 2: Event Streams-Instanz über eine API bereitstellen
- Schritt 3: Erstellen eines Themas und von Partitionen mithilfe einer API
- Schritt 4: Serviceberechtigungsnachweis über die Befehlszeilenschnittstelle und eine API erstellen
- Schritt 5: Daten mithilfe einer API erstellen
- Schritt 6: Daten mithilfe einer API verarbeiten
- Schritt 7: IBM Cloud Monitoring verbinden
- Schritt 8: Verbinden von Activity Tracker
- Schritt 9:(Optional)Verwenden Sie Kafka Connect oder ksqlDB
- Schritt 10: Wenn Sie weitere Hilfe benötigen
Vorbereitende Schritte
Bevor Sie beginnen, sollten Sie unbedingt die folgenden Informationen lesen, um Apache Kafkabesser zu verstehen, auf dem Event Streams basiert:
Schritt 1: Wählen Sie Ihren Plan
Event Streams bietet drei verschiedene Pläne. Informationen zur Entscheidung, welcher Plan Ihren Anforderungen am besten entspricht, finden Sie unter Plan auswählen.
-
Der Lite-Plan bietet kostenlosen Zugriff auf eine einzelne Partition in einem Multi-Tenant-Cluster Event Streams. Verwenden Sie den Lite-Plan, um Event Streams auszuprobieren oder einen Konzeptnachweis zu erstellen.
-
Der Standardplan bietet nutzungsabhängigen gemeinsamen Zugriff auf den Multi-Tenant-Service Event Streams. Dieser Service wird nahtlos automatisch skaliert, wenn Sie die Anzahl der Partitionen erhöhen, die Sie für Ihre Workload verwenden. Der Standardplan hat eine Begrenzung von 100 Partitionen pro Instanz.
-
Der Enterprise-Plan bietet nutzungsabhängigen Zugriff auf einen isolierten Single-Tenant-Service von Event Streams. Neben einer Auswahl an Durchsatz-und Speicheroptionen bietet dieser Plan auch eine benutzerverwaltete Verschlüsselung privater Endpunkte, Schema-Registry-Unterstützung und erfüllt eine höhere Anzahl von Standards zur Einhaltung gesetzlicher Bestimmungen. Der Enterprise-Plan ist die beste Wahl, wenn Datenisolierung, garantierte Leistung und erhöhte Speicherkapazität wichtige Faktoren sind.
APIs verwenden
Sie können mehrere APIs verwenden, um mit Event Streamszu arbeiten. Dieses Tutorial verwendet die folgenden APIs:
- Die Ressourcencontroller-API zum Bereitstellen einer Instanz und Abrufen eines Zugriffstokens.
- Die REST-Verwaltungs-API zum Arbeiten mit Themen.
- Die REST-Producer-API zum Erstellen eines Serviceberechtigungsnachweises und zum Erstellen von Nachrichten.
Schritt 2: Event Streams-Instanz über die Konsole bereitstellen
-
Melden Sie sich bei der IBM Cloud-Konsole an.
-
Klicken Sie im Katalog auf den Service Event Streams.
-
Wählen Sie im Abschnitt Preistarif auswählen den Lite-Plan, den Standard-Plan oder den Enterprise-Plan aus.
-
Geben Sie einen Namen für den Service ein. Sie können den Standardwert verwenden.
-
Klicken Sie auf Erstellen. Die Seite Event Streams Ressourcenliste wird geöffnet.
-
Wenn Ihre Instanz erstellt wurde, klicken Sie auf den Instanznamen, um weitere Informationen anzuzeigen.
-
Optional. Sie können die Schritte im Lernprogramm zur Einführung ausführen, um eine Beispielstarter-App auszuführen.
Schritt 2: Event Streams-Instanz über die Befehlszeilenschnittstelle bereitstellen
Wenn Sie die Befehlszeilenschnittstelle zum ersten Mal verwenden, lesen Sie den Abschnitt Einführung in die Befehlszeilenschnittstelle.
Um eine Instanz von Event Streams Standard Plan mit der IBM Cloud CLI bereitzustellen, führen Sie die folgenden Schritte aus:
-
Installieren Sie die Befehlszeilenschnittstelle von IBM Cloud, indem Sie die Schritte in Einführung in die Befehlszeilenschnittstelle von IBM Cloud ausführen.
-
Melden Sie sich bei IBM Cloud an, indem Sie den folgenden Befehl ausführen:
ibmcloud login -a cloud.ibm.com -
Erstellen Sie unter Verwendung des Plans "Lite", "Standard" oder "Enterprise" eine Event Streams-Instanz in IBM Cloud.
Wählen Sie eines der folgenden Verfahren:
-
Führen Sie den folgenden Befehl aus, wenn Sie eine Instanz über die Befehlszeilenschnittstelle im Enterprise-Plan erstellen möchten:
ibmcloud resource service-instance-create <INSTANCE_NAME> messagehub enterprise-3nodes-2tb <REGION>Da der Enterprise-Plan über eigene dedizierte Ressourcen für jeden Cluster verfügt, ist für die Bereitstellung mehr Zeit erforderlich, sodass eine neue Enterprise-Instanz bis zu 3 Stunden dauern kann.
-
Führen Sie den folgenden Befehl aus, um eine Instanz über die Befehlszeilenschnittstelle im Standardplan zu erstellen:
ibmcloud resource service-instance-create <INSTANCE_NAME> messagehub standard <REGION>Die Bereitstellung einer neuen Standardplaninstanz erfolgt sofort, da die zugrunde liegenden Ressourcen bereits eingerichtet sind.
-
Schritt 2: Event Streams-Instanz mithilfe der Ressourcencontroller-API bereitstellen
Die bevorzugte Methode für die Bereitstellung einer Instanz ist die Verwendung der Befehlszeilenschnittstelle.
Alternativ können Sie die Ressourcencontroller-APIverwenden. Rufen Sie zuerst ein Zugriffstoken ab und führen Sie dann einen Ressourcencontroller-API-Befehl mit dem Zugriffstoken aus, um die Instanz zu erstellen.
Schritt 2a: Zugriffstoken mit der Ressourcencontroller-API abrufen
Sie können Ihr Zugriffstoken programmgesteuert abrufen, indem Sie zunächst einen Service-ID-API-Schlüssel für Ihre Anwendung erstellen und dann Ihren API-Schlüssel gegen einen IBM Cloud IAM-Token austauschen.
-
Melden Sie sich bei IBM Cloud mit der BefehlszeilenschnittstelleIBM Cloud.
ibmcloud loginWenn die Anmeldung fehlschlägt, führen Sie den Befehl
ibmcloud login --ssoaus, um es erneut zu versuchen. Der--ssoder Parameter ist erforderlich, wenn Sie sich mit einer Federated ID anmelden. Wenn diese Option verwendet wird, rufen Sie den Link auf, der in der Ausgabe der Befehlszeilenschnittstelle aufgelistet ist, um einen einmalig verwendbaren Kenncode zu generieren. -
Wählen Sie das Konto, die Region und die Ressourcengruppe aus, in denen Ihre eingerichtete Instanz von Event Streams enthalten ist.
-
Erstellen Sie eine Service-ID für Ihre Anwendung.
ibmcloud iam service-id-create SERVICE_ID_NAME [-d, --description DESCRIPTION] -
Informationen zur Service-ID finden Sie unter Zugriff auf Ressourcen verwalten.
Sie können Zugriffsberechtigungen für Ihre Service-ID zuweisen, indem Sie die Konsole IBM Cloud verwenden. Informationen darüber, wie die Zugriffsrollen "Manager ", "Writer " und "Reader" spezifischen Key Protect-Dienstaktionen zugeordnet sind, finden Sie unter yRoles und Berechtigungen.
Sie können Zugriffsberechtigungen für Ihre Service-ID zuweisen, indem Sie die Konsole IBM Cloud verwenden. Um zu erfahren, wie die Zugriffsrollen Manager, _Schreibberechtigter_und Leseberechtigter dem Benutzerzugriff auf Event Streams-Ressourcen, siehe Was kann ich schützen?
-
Erstellen Sie eine API-Schlüssel für Service-ID.
ibmcloud iam service-api-key-create API_KEY_NAME SERVICE_ID_NAME [-d, --description DESCRIPTION] [--file FILE_NAME]Ersetzen Sie
<service_ID_name>durch den eindeutigen Aliasnamen, den Sie Ihrer Service-ID im vorherigen Schritt zugewiesen haben. Speichern Sie Ihren API-Schlüssel, indem Sie ihn an einem sicheren Standort herunterladen. -
Rufen Sie die IAM Identity Services API auf, um Ihr Zugriffstoken abzurufen.
$ curl -X POST \ "https://iam.cloud.ibm.com/identity/token" \ -H "content-type: application/x-www-form-urlencoded" \ -H "accept: application/json" \ -d 'grant_type=urn%3Aibm%3Aparams%3Aoauth%3Agrant-type%3Aapikey&apikey=<API_KEY>' > token.jsonErsetzen Sie in der Anforderung
<API_KEY>durch den API-Schlüssel, den Sie im vorherigen Schritt erstellt haben. Das folgende gekürzte Beispiel zeigt den Inhalt des Dateitoken.json:{ "access_token": "b3VyIGZhdGhlc...", "expiration": 1512161390, "expires_in": 3600, "refresh_token": "dGhpcyBjb250a...", "token_type": "Bearer" }Verwenden Sie den vollständigen
access_token-Wert mit dem Präfix des Träger-Tokentyps, um die Schlüssel für Ihren Service programmgestützt über die Key Protect-API verfügbar. Um eine beispielhafte Key Protect API-Anforderung zu sehen, informieren Sie sich über Gestaltung Ihrer API-Anforderung.Zugriffstokens sind für einen Zeitraum von 1 Stunde gültig, können jedoch bei Bedarf neu generiert werden. Um den Zugriff auf den Dienst aufrechtzuerhalten, generieren Sie das Zugriffstoken für Ihren API-Schlüssel regelmäßig neu, indem Sie die IAM-Identitätsdienste-API aufrufen.
-
Verwenden Sie IBM Cloud Identity and Access Management (IAM)- Token, um authentifizierte Anforderungen an IBM Watson-Services zu stellen, ohne bei jedem Aufruf Serviceberechtigungsnachweise einzubetten.
-
Bei der IAM-Authentifizierung werden Zugriffstoken für die Authentifizierung verwendet, die Sie durch das Senden einer Anforderung mit einem API-Schlüssel anfordern.
-
Schritt 2b: Instanz erstellen
Führen Sie einen Befehl wie den folgenden aus, um eine Unternehmensinstanz im Süden der USA zu erstellen:
curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_instances -H "Authorization: ${token}" -H "Content-Type: application/json" \
-d '{ "name": "JG-test-curl", "target": "us-south", "resource_group":"9eba3cff1b0540b9ab7fb93829911da0", "resource_plan_id": "ibm.message.hub.enterprise.3nodes.2tb", "parameters":{"service-endpoints":"public","throughput":"150"}}'
Schritt 3: Thema erstellen und Anzahl der Partitionen über die Konsole auswählen
Eine Anleitung zu den Einstellungen, die Sie beim Erstellen von Themen ändern können, finden Sie unter Themenkonfiguration.
-
Navigieren Sie von Ihrer neu bereitgestellten Instanz aus über das Menü auf der linken Seite zu Themen.
-
Klicken Sie auf die Schaltfläche Thema erstellen und geben Sie einen Themennamen ein. Klicken Sie auf Weiter. Themennamen dürfen maximal 200 Zeichen lang sein.
-
Wählen Sie die Anzahl der Partitionen aus.
Ein Topic besteht aus mindestens einer Partition. Eine Partition ist eine geordnete Liste von Nachrichten. 1 Partition ist für den Einstieg ausreichend, aber Produktionssysteme haben oft mehr.
Die Trennwände werden auf die Makler verteilt, um die Skalierbarkeit Ihres Themas zu erhöhen. Sie können sie auch für das Verteilen von Nachrichten an die Mitglieder einer Consumergruppe verwenden.
Klicken Sie auf Weiter.
-
Legen Sie die Aufbewahrungsfrist für Nachrichten fest. Hier können Sie festlegen, wie lange Nachrichten aufbewahrt werden, bevor sie gelöscht werden. Wenn die Nachrichten in diesem Zeitraum nicht von einem Consumer gelesen werden, werden sie übersehen. Die Standard-Aufbewahrungsfrist für Nachrichten beträgt 24 Stunden. Der Mindestwert ist 1 Stunde und der Höchstwert ist 30 Tage. Geben Sie den Wert in Stunden an.
Klicken Sie auf "Thema erstellen ".
Mit Themen über die Konsole arbeiten
Nach der Erstellung von Themen können Sie die Konsole verwenden, um Themen aufzulisten.
Themen auflisten
Navigieren Sie von Ihrer Event Streams-Instanz aus über das Menü auf der linken Seite zu Themen.
Auf der Seite Themen können Sie die folgenden Informationen zu Ihren Themen anzeigen: Name, Partitionen, Aufbewahrungszeitraum, Aufbewahrungsgröße, Bereinigungsrichtlinie und Stream-Landing.
Schritt 3: Thema erstellen und Anzahl der Partitionen über die Befehlszeilenschnittstelle auswählen
Eine Anleitung zu den Einstellungen, die Sie beim Erstellen von Themen ändern können, finden Sie unter Themenkonfiguration.
Verwenden Sie den folgenden Befehl ibmcloud es topic-create, um ein neues Thema mit der ausgewählten Anzahl von Partitionen zu erstellen:
ibmcloud es topic-create [--name] TOPIC_NAME [--partitions PARTITIONS] [--config KEY=VALUE[;KEY=VALUE]* ]*
Voraussetzungen: Keine
Befehlsoptionen:
- --name wert, -n wert
-
Themaname. Themennamen dürfen maximal 200 Zeichen lang sein.
- --partitions wert, -p wert
-
Legt die Anzahl der Partitionen für das Topic fest.
Ein Topic besteht aus mindestens einer Partition. Eine Partition ist eine geordnete Liste von Nachrichten. 1 Partition ist für den Einstieg ausreichend, aber Produktionssysteme haben oft mehr.
Die Trennwände werden auf die Makler verteilt, um die Skalierbarkeit Ihres Themas zu erhöhen. Sie können sie auch für das Verteilen von Nachrichten an die Mitglieder einer Consumergruppe verwenden.
- --config SCHLÜSSEL=WERT, -c SCHLÜSSEL=WERT (optional)
-
Legt als Paar mit dem Format SCHLÜSSEL=WERT eine Konfigurationsoption für das Topic fest.
-
Sie können mehrere Optionen "--config" angeben. Jede Option "--config" kann eine durch Semikolons begrenzte Liste von Zuordnungen angeben. Die folgende Liste zeigt die gültigen Konfigurationsschlüssel:
- cleanup.policy
- retention.ms
- retention.bytes
- segment.bytes
- segment.ms
- segment.index.bytes
Der Standardaufbewahrungszeitraum für Nachrichten, wie durch den Schlüssel retention.ms angegeben, beträgt 24 Stunden. Der Mindestwert ist 1 Stunde und der Höchstwert ist 30 Tage. Geben Sie den Wert in Stunden an.
Mit Themen arbeiten
Nachdem Sie Themen erstellt haben, können Sie über die Befehlszeilenschnittstelle Themen auflisten und Details zu Ihrem Cluster anzeigen.
Thema mit dem Befehl ibmcloud es topics auflisten
Führen Sie den Befehl ibmcloud es topics aus, um Ihre Themen aufzulisten.
ibmcloud es topics [--filter FILTER] [--json]
Voraussetzungen: Keine
Befehlsoptionen:
- --filter wert, -f wert (optional)
- Themaname.
- --json (optional)
- Ausgabe im JSON-Format. Es werden maximal 1000 Topics zurückgegeben.
Clusterdetails mit dem Befehl ibmcloud es cluster anzeigen
Führen Sie den Befehl ibmcloud es cluster aus, um die Details des Clusters einschließlich der Kafka-Version anzuzeigen.
ibmcloud es cluster [--json]
Voraussetzungen: Keine
Befehlsoptionen:
- --json (optional)
- Als Ausgabeformat wird JSON verwendet.
Informationen zu anderen Event Streams-CLI-Befehlen für Themen finden Sie unter CLI-Referenz.
Schritt 3: Erstellen Sie ein Thema und wählen Sie die Anzahl der Partitionen mithilfe der Admin-REST-API aus.
Event Streams stellt eine REST-API für die Verwaltung bereit, mit der Sie Themen erstellen und auflisten können.
Sie können ein Kafka-Topic erstellen, indem Sie eine POST-Anforderung an den Pfad /admin/topics absetzen. Der Hauptteil der Anforderung muss ein JSON-Dokument enthalten. Beispiel:
{
"name": "topicname",
"partitions": 1,
"configs": {
"retentionMs": 86400000,
"cleanupPolicy": "delete"
}
}
Das JSON-Dokument muss ein Attribut name enthalten, das den Namen des zu erstellenden Kafka-Topics angibt. Topicnamen sind auf maximal 200 characters.The-JSON kann auch die Anzahl der Partitionen angeben, die dem Topic zugeordnet
werden sollen (mit der Eigenschaft partitions ). Wird die Anzahl der Partitionen nicht angegeben, wird das Topic mit einer einzigen Partition erstellt.
Ein Topic besteht aus mindestens einer Partition. Eine Partition ist eine geordnete Liste von Nachrichten. 1 Partition ist für den Einstieg ausreichend, aber Produktionssysteme haben oft mehr.
Die Trennwände werden auf die Makler verteilt, um die Skalierbarkeit Ihres Themas zu erhöhen. Sie können sie auch für das Verteilen von Nachrichten an die Mitglieder einer Consumergruppe verwenden.
Sie können auch ein optionales configs-Objekt in der Anforderung angeben. Auf diese Weise können Sie die Eigenschaft retentionMs angeben, die steuert, wie lange (in Millisekunden) Kafka im Topic veröffentlichte Nachrichten
aufbewahrt. Nach Ablauf dieser Zeit werden die Nachrichten automatisch gelöscht, um Speicherplatz freizugeben. Sie müssen den Wert der Eigenschaft retentionMs in einer ganzen Zahl von Stunden angeben (z. B. ein Vielfaches von
3600000). Die Standard-Aufbewahrungsfrist für Nachrichten beträgt 24 Stunden. Der Mindestwert ist 1 Stunde und der Höchstwert ist 30 Tage.
Eine Anleitung zu den Einstellungen, die Sie beim Erstellen von Themen ändern können, finden Sie unter Themenkonfiguration.
Die erwarteten HTTP-Statuscodes lauten wie folgt:
- 202: Anforderung zum Erstellen eines Themas wurde akzeptiert.
- 400: Ungültige Anforderungs-JSON.
- 403: Keine Berechtigung zum Erstellen eines Themas
- 422: Semantische ungültige Anforderung.
Wenn die Anfrage zur Erstellung eines Kafka-Themas erfolgreich ist, wird HTTP Statuscode 202 (Akzeptiert) zurückgegeben. Wenn der Vorgang fehlschlägt, wird ein HTTP-Statuscode von 422 (Unverarbeitbare Entität) zurückgegeben und ein JSON-Objekt mit zusätzlichen Informationen über den Fehler wird als Textkörper der Antwort zurückgegeben.
Beispiel
Sie können den REST-Endpunkt zum Erstellen eines Kafka-Topics mit dem folgenden Snippet von 'curl' ausführen. Sie müssen Ihren eigenen API-Schlüssel oder Token angeben und den richtigen Endpunkt für die ADMIN-API angeben. Weitere Informationen zum Abrufen eines Schlüssels oder eines Tokens finden Sie unter Zugriffstoken mit der API abrufen.
curl -i -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: Bearer ${TOKEN}' --data '{ "name": "newtopic", "partitions": 1}' ${ADMIN_URL}/admin/topics
Mit Themen über die REST-Verwaltungs-API arbeiten
Nach dem Erstellen von Themen können Sie die REST-Verwaltungs-API verwenden, um Themen aufzulisten. Informationen zu anderen themenbezogenen Befehlen, die Sie ausführen können, finden Sie unter Methoden der Admin-REST-API.
Themen auflisten
Sie können alle Ihre Kafka-Topics auflisten, indem Sie eine GET-Anforderung an die
/admin/topics-Pfad.
Der erwartete Statuscode lautet:
- 200: Die Themenliste wird als JSON im folgenden Format zurückgegeben:
[
{
"name": "topic1",
"partitions": 1,
"retentionMs": 86400000,
"cleanupPolicy": "delete"
},
{ "name": "topic2",
"partitions": 2,
"retentionMs": 86400000,
"cleanupPolicy": "delete"
}
]
Eine erfolgreiche Antwort hat den HTTP-Statuscode 200 (OK) und enthält eine Reihe von JSON-Objekten, wobei jedes Objekt ein Kafka-Thema darstellt und die folgenden Eigenschaften hat:
| Eigenschaftsname | Beschreibung |
|---|---|
| Name | Der Name des Kafka-Themas. |
| Partitionen | Die Anzahl der Partitionen, die dem Kafka-Topic zugewiesen sind |
| retentionsMs | Der Aufbewahrungszeitraum für Nachrichten zum Thema (in ms). |
| cleanupPolicy | Die Bereinigungsrichtlinie des Kafka-Topics. |
Beispiel für 'list topics'
Mit dem folgenden curl-Befehl können Sie alle Kafka-Topics auflisten:
curl -i -X GET -H 'Accept: application/json' -H 'Authorization: Bearer ${TOKEN}' ${ADMIN_URL}/admin/topics
Schritt 4: Serviceberechtigungsnachweis über die Konsole erstellen
Damit Sie eine Verbindung zu Ihrer Event Streams-Instanz herstellen können, erstellen Sie mithilfe der IBM Cloud-Konsole einen Serviceschlüssel:
- Suchen Sie Ihren Service Event Streams in der Ressourcenliste.
- Klicken Sie auf die Servicekachel.
- Klicken Sie auf Serviceberechtigungsnachweise.
- Klicken Sie auf Neuer Berechtigungsnachweis.
- Geben Sie die Details zu Ihrem neuen Berechtigungsnachweis, z. B. einen Namen und eine Rolle, ein und klicken Sie auf Hinzufügen. In der Berechtigungsnachweisliste wird ein neuer Berechtigungsnachweis angezeigt.
- Erweitern Sie den Abschnitt des neuen Berechtigungsnachweises, um die Details im JSON-Format anzuzeigen.
Schritt 4: Serviceberechtigungsnachweis über die Befehlszeilenschnittstelle erstellen
Erstellen Sie einen Serviceschlüssel über die IBM Cloud-CLI, sodass Sie eine Verbindung zu Ihrer Event Streams-Instanz herstellen können:
-
Suchen Sie Ihren Service:
ibmcloud resource service-instances -
Erstellen Sie einen Serviceschlüssel:
ibmcloud resource service-key-create <key_name> <key_role> --instance-name <your_service_name> -
Geben Sie den Serviceschlüssel aus:
ibmcloud resource service-key <key_name>Jeder Serviceschlüssel enthält eine einzelne Gruppe von Endpunktdetails. Für Serviceinstanzen, die für die Verbindung zu einem einzelnen Netztyp konfiguriert sind ( IBM Cloud Public-Netz (Standardeinstellung) oder IBM Cloud Private-Netz), enthält der Serviceschlüssel die für diesen Netztyp relevanten Details. Für Instanzen, die für die Unterstützung des privaten und des öffentlichen Netzes konfiguriert sind, werden Details für das öffentliche Netz zurückgegeben. Wenn Sie Details zum privaten Netz wünschen, müssen Sie den Parameter
--service-endpoint privatezum vorherigen CLI-Befehl service-key-create hinzufügen. Beispiel:ibmcloud resource service-key-create <private-key-name> <role> --instance-name <instance-name> --service-endpoint private
Schritt 4: Serviceberechtigungsnachweis über die Befehlszeilenschnittstelle und die REST-Producer-API erstellen
Für die Verbindung zu Ihrer Event Streams-Instanz verwendet das unterstützte Authentifizierungsverfahren ein Trägertoken. Um Ihren Token über die CLI IBM Cloud zu erhalten, melden Sie sich zunächst bei IBM Cloud an und führen dann den folgenden Befehl aus:
ibmcloud iam oauth-tokens
Fügen Sie dieses Token in den Berechtigungsheader der HTTP-Anforderung im Format Bearer<token> ein. Es werden sowohl API-Schlüssel als auch JWT-Token unterstützt.
Schritt 5: Daten über die Konsole erstellen
Sie können keine Daten über die Konsole erzeugen. Sie können Daten über die Befehlszeile, die REST-Producer-API oder die Kafka-API erstellen.
Sie können jedoch die Schritte für die Konsole im Lernprogramm zur Einführung ausführen, um eine Beispielstarter-App auszuführen und Nachrichten anzuzeigen, die durch ein Thema fließen.
Schritt 5: Daten über die Befehlszeile erzeugen
Sie können das Konsolenproduzententool Event Streams Kafka verwenden, um Daten zu erzeugen. Die Konsolentools befinden sich im Verzeichnis bin Ihres Kafka-Client-Downloads, die Sie von Apache Kafka downloadsherunterladen können. Wir empfehlen Ihnen, die neueste verfügbare stabile Binärversion herunterzuladen. Kafka-Client-Versionen sind abwärtskompatibel mit der Version von Kafka auf
dem Server.
Sie müssen eine Liste der Broker (mit der Eigenschaft BOOTSTRAP_ENDPOINTS) und SASL-Berechtigungsnachweise angeben.
Um die SASL-Zugangsdaten für dieses Tool bereitzustellen, erstellen Sie eine Eigenschaftendatei auf der Grundlage des folgenden Beispiels:
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="<user>" password="<api_key>";
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
ssl.protocol=TLSv1.2
ssl.enabled.protocols=TLSv1.2
ssl.endpoint.identification.algorithm=HTTPS
Verwenden Sie das Feld <user> aus dem Serviceschlüssel als Benutzernamen und das Feld <api_key> aus dem Serviceschlüssel als Kennwort. Sie finden diese Werte auf der Registerkarte Event Streams Serviceberechtigungsnachweise in der Konsole IBM Cloud.
Event Streams stellt Beispieldateien producer.properties und consumer.properties für den Java-Client bereit.
Nachdem Sie die Eigenschaftendatei erstellt haben, können Sie den Konsolenproduzenten wie folgt in einem Terminal ausführen:
kafka-console-producer.sh --broker-list BOOTSTRAP_ENDPOINTS --producer.config CONFIG_FILE --topic TOPIC_NAME
Ersetzen Sie die folgenden Variablen in dem Beispiel durch eigene Werte:
- BOOTSTRAP_ENDPOINTS mit dem Wert aus der Registerkarte Event Streams Serviceberechtigungsnachweise in der IBM Cloud-Konsole.
- Ersetzen Sie CONFIG_FILE durch den Pfad der Konfigurationsdatei.
- Verwenden Sie das Feld
<bootstrap_endpoints>aus dem Serviceschlüssel als Eigenschaftbootstrap.serversIhrer Kafka-Anwendung. - Verwenden Sie das Feld
<user>aus dem Serviceschlüssel als Benutzernamen und das Feld<api_key>aus dem Serviceschlüssel als Kennwort. Stellen Sie sicher, dass Ihre Anwendung ein Parsing der Details durchführt.
Sie können viele der anderen Optionen dieses Tools verwenden, mit Ausnahme derer, die Zugriff auf ZooKeeper erfordern. Weitere Informationen finden Sie unter Tools der Kafka-Konsole mit Event Streams.
Einstellungen für Producer-Konfiguration
Details zu einigen der wichtigsten Einstellungen, die Sie für den Producer konfigurieren können, enthalten die folgenden Informationen:
Schritt 5: Daten mithilfe der REST-Producer-API erstellen
Verwenden Sie den Endpunkt v2 der REST-Producer-API, um Nachrichten vom Typ text, binary, JSON oder avro an Themen zu senden. Mit dem Endpunkt v2 können Sie die Schema-Registrierung Event Streams
verwenden, indem Sie das Schema für den Datentyp avro angeben.
- Was sind Header? Sind sie optional? Im Nachrichtenhauptteil werden Header angezeigt. Das ist der Datenblock, der alles in der Anforderung oder Antwort enthält. Die Header stehen normalerweise hinter der Anforderungs-oder Antwortzeile. Wert der Farbe ist base64-wie geht das?
Der folgende Code zeigt ein Beispiel für das Senden einer Nachricht vom Typ text mithilfe von curl:
curl -v -X POST \
-H "Authorization: Bearer $token" -H "Content-Type: application/json" -H "Accept: application/json" \
-d '{
"headers": [
{
"name": "colour",
"value": "YmxhY2s="
}
],
"key": {
"type": "text",
"data": "Test Key"
},
"value": {
"type": "text",
"data": "Test Value"
}
}' \
"$kafka_http_url/v2/topics/$topic_name/records"
Weitere Informationen finden Sie unter Event Streams REST Producer v2 endpoint API reference.
Einstellungen für Producer-Konfiguration
Details zu einigen der wichtigsten Einstellungen, die Sie für den Producer konfigurieren können, enthalten die folgenden Informationen:
Schritt 6: Daten über die Konsole verarbeiten
Sie können Daten nicht über die Konsole verarbeiten. Sie können Daten mithilfe der Befehlszeile oder der Kafka API verarbeiten.
Sie können jedoch die Schritte im Lernprogramm 'Einführung' ausführen, um eine Beispiel-Starter-App auszuführen und Nachrichten anzuzeigen, die durch ein Thema fließen.
Schritt 6: Daten über die Befehlszeile verarbeiten
Sie können das Event Streams Kafka-Tool für Konsolenkonsumenten verwenden, um Daten zu verarbeiten.
Die Konsolentools befinden sich im Verzeichnis bin Ihres Kafka-Client-Downloads.
Sie müssen eine Liste mit Brokern und SASL-Berechtigungsnachweise angeben. Nachdem Sie die Eigenschaftendatei wie in Daten über die Befehlszeile erzeugen beschrieben erstellt haben, führen Sie den Konsolenkonsumenten wie folgt in einem Terminal aus:
kafka-console-consumer.sh --bootstrap-server BOOTSTRAP_ENDPOINTS --consumer.config CONFIG_FILE --topic TOPIC_NAME
Ersetzen Sie die folgenden Variablen in dem Beispiel durch eigene Werte:
- BOOTSTRAP_ENDPOINTS mit dem Wert aus der Registerkarte Event Streams Serviceberechtigungsnachweise in der IBM Cloud-Konsole.
- Ersetzen Sie CONFIG_FILE durch den Pfad der Konfigurationsdatei.
Sie können viele der anderen Optionen dieses Tools verwenden, mit Ausnahme derer, die Zugriff auf ZooKeeper erfordern. Weitere Informationen finden Sie unter Tools der Kafka-Konsole mit Event Streams.
Konfigurationseinstellungen für Konsumenten
Details zu einigen der wichtigsten Einstellungen, die Sie für den Konsumenten konfigurieren können, enthalten die folgenden Informationen:
Schritt 6: Daten mithilfe einer API verarbeiten
Sie können keine Daten mit einer Event Streams-API verarbeiten, obwohl die Nutzung von Daten aus Kafka mithilfe der nativen Kafka-Bibliotheken möglich ist. Weitere Informationen finden Sie unter Kafka-Konsumenten-API.
Alternativ können Sie die Befehlszeile verwenden.
Schritt 7: IBM Cloud Monitoring für operative Sichtbarkeit über die Konsole verbinden
Sie können IBM Cloud Monitoring verwenden, um Einblick in die Leistung und den Zustand Ihrer Anwendungen, Services und Plattformen zu erhalten. IBM Cloud Monitoring bietet Administratoren, DevOps-Teams und Entwicklern umfassende Stacktelemetrie mit erweiterten Funktionen zur Überwachung und Fehlerbehebung, zur Definition von Alerts und zum Entwurf angepasster Dashboards.
Weitere Informationen zur Verwendung von Monitoring mit Event Streams finden Sie unter:
Schritt 7: IBM Cloud Monitoring für operative Sichtbarkeit über die Befehlszeilenschnittstelle oder die Befehlszeile verbinden
Sie können IBM Cloud Monitoring nicht über die Befehlszeilenschnittstelle oder die Befehlszeile verbinden. Führen Sie diese Task mithilfe der Konsole aus.
Schritt 7: IBM Cloud Monitoring für operative Sichtbarkeit über eine API verbinden
Sie können IBM Cloud Monitoring nicht über eine API verbinden. Führen Sie diese Task mithilfe der Konsole aus.
Schritt 8: Verbindung zu IBM Cloud® Activity Tracker herstellen, um Serviceaktivität zu prüfen
IBM Cloud Activity Tracker ermöglicht Ihnen das Anzeigen, Verwalten und Prüfen von Serviceaktivitäten zur Einhaltung von Unternehmensrichtlinien und Branchenvorschriften. Activity Tracker zeichnet vom Benutzer eingeleitete Aktivitäten auf, die den Zustand eines Service in IBM Cloud. Verwenden Sie Activity Tracker, um zu verfolgen, wie Benutzer und Anwendungen mit dem Event Streams-Dienst im Rahmen der Standard- und Enterprise-Pläne interagieren.
Informationen zur Verwendung von Activity Trackerfinden Sie unter Erste Schritte mit Activity Tracker.
Pro Standort kann es nur eine einzige Instanz von Activity Tracker geben. Um die Ereignisse anzuzeigen, müssen Sie auf die Webbenutzerschnittstelle des Activity Tracker-Service an demselben Standort zugreifen, an dem Ihre Serviceinstanz verfügbar ist. Weitere Informationen finden Sie unter Webbenutzerschnittstelle starten.
Weitere Informationen zu spezifischen Ereignissen für Event Streamsfinden Sie unter:
Die Ereignisse werden gemäß dem CADF-Standard (Cloud Auditing Data Federation) formatiert. Weitere Details zu den darin enthaltenen Informationen finden Sie unter CADF-Standard.
Schritt 8: IBM Cloud® Activity Tracker über die Befehlszeilenschnittstelle oder Befehlszeile verbinden, um die Serviceaktivität zu prüfen
Sie können Activity Tracker nicht über die Befehlszeilenschnittstelle oder die Befehlszeile verbinden. Führen Sie diese Task mithilfe der Konsole aus.
Schritt 8: IBM Cloud® Activity Tracker über eine API verbinden, um die Serviceaktivität zu prüfen
Sie können Activity Tracker nicht über eine API verbinden. Führen Sie diese Task mithilfe der Konsole aus.
Schritt 9: (Optional) Kafka Connect oder ksqlDB verwenden
Kafka Connect
Kafka Connect ist Teil des Apache Kafka-Projekts und ermöglicht es Ihnen, externe Systeme mit Kafka zu verbinden. Kafka Connect umfasst eine Laufzeitumgebung, in der Connectors zum Kopieren von Daten aus dem Cluster und in den Cluster ausgeführt werden können.
Weitere Informationen finden Sie unter Kafka Connect mit Event Streams.
Kafka Connect ist nicht Teil des verwalteten Event Streams-Service.
ksqlDB
Sie können KSQL mit Event Streams Enterprise Plan für die Datenstromverarbeitung verwenden.
ksqlDB ist eine zweckgerichtete Datenbank für das Ereignisstreaming. Verwenden Sie sie, um End-to-End-Ereignisstreaming-Anwendungen schnell mit einer speziellen Datenstromverarbeitungsdatenbank für Apache Kafkazu erstellen.
Führen Sie zuerst diese Konfigurationsschritte durch. Dann ist die schnellste und einfachste Möglichkeit, ksqlDB mit Event Streams auszuführen, die Verwendung eines Docker-Containers, wie in ksqlDB quickstart beschrieben.
Schritt 10: Hilfe anfordern
Eine allgemeine Übersicht darüber, wie Sie Hilfe zu Event Streams anfordern können und wo Sie Unterstützung anfordern können finden Sie unter Hilfe und Unterstützung anfordern.
Häufig gestellte Fragen enthält detaillierte Antworten auf einige der häufig gestellten Fragen zu Event Streams.
Wenn ein Problem mit Event Streamsauftritt, finden Sie hier eine Liste der Informationen, die Sie zusammenstellen müssen, bevor Sie einen Fall öffnen Melden eines Problems an das Event Streams-Team-Standard-und Enterprise-Pläne.