■ はじめに
https://dk521123.hatenablog.com/entry/2024/05/09/144826
で、REST API によって、Confluent の Topic を作成する予定だったが ひょっとしたら、Confluent CLI で行う可能性がでてきたので、調べてみた
目次
【1】Confluent CLI 【2】インストール 1)前提条件 2)インストール方法 【3】Confluent CLI 接続の下準備 1)前提条件 2)設定手順 【4】CLIリファレンス 1)confluent environment 2)confluent api-key 3)confluent kafka
【1】Confluent CLI
* Confluent の様々なリソースをコマンドラインベースで操作する * サブコマンドが豊富、、、
https://docs.confluent.io/ja-jp/confluent-cli/2.4/command-reference/index.html
【2】インストール
* 以下の公式ドキュメントに詳しく載っている
https://docs.confluent.io/ja-jp/confluent-cli/2.4/install.html
1)前提条件
* JDK8 or 11
https://docs.confluent.io/ja-jp/confluent-cli/2.4/install.html#java-versions
2)インストール方法
* 以下の2点。
[1] スクリプトによるインストール
https://docs.confluent.io/ja-jp/confluent-cli/2.4/install.html#scripted-installation
# Step0: [Optional] 使用可能バージョンの表示 curl -sL --http1.1 https://cnfl.io/cli | sh -s -- -l # Step1: 最新バージョンでのインストール curl -sL --http1.1 https://cnfl.io/cli | sh -s -- latest # [Version指定] # curl -sL --http1.1 https://cnfl.io/cli | sh -s -- -b <path-to-cli> v<version> # curl -sL --http1.1 https://cnfl.io/cli | sh -s -- -b /usr/local/bin v2.4.0 # Step2: ダウンロードしたディレクトリを PATH 環境変数に設定 export PATH=$(pwd)/bin:$PATH # export PATH=<path-to-cli>:$PATH
[2] Tarball または Zip によるインストール
https://docs.confluent.io/ja-jp/confluent-cli/2.4/install.html#tarball-or-zip-installation
# Step1: ダウンロード # curl -OL {ダウンロードするURL} $ curl -OL https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/latest/confluent_latest_linux_amd64.tar.gz # Step2: インストール $ tar -xzf confluent_latest_linux_amd64.tar.gz $ ls confluent < があるはず $ sudo mv confluent /usr/local/bin/ # Step3: Path を通す (下記の関連記事「Linux ~ 環境変数あれこれ ~」を参照) vi ~/.bash_profile ~~~~~~~~~~~ # Add /usr/local/bin/confluent: export PATH=/usr/local/bin/confluent/:$PATH ~~~~~~~~~~~ source ~/.bash_profile # Step4: 確認 confluent --version # confluent version v3.61.0
Linux ~ 環境変数あれこれ ~
https://dk521123.hatenablog.com/entry/2015/07/16/103501
【3】Confluent CLI 接続の下準備
* 以下の公式ドキュメントに記載されている
https://docs.confluent.io/ja-jp/confluent-cli/2.4/connect.html
1)前提条件
* Confluent Cloud で有効な ユーザーアカウント を持っている必要がある
2)設定手順
# Step1: confluent login コマンドを使用してクラスターにログイン $ confluent login # Step2: Confluent Cloud 環境 を設定 ## 2-1) 環境 ID を取得 $ confluent environment list Id | Name +----------+----------------+ * a-542 | dev a-4985 | prod a-2345 | jdoe-gcp-env a-9012 | jdoe-aws-env ## 2-2) ID(<env-id>)を使用して環境を設定 # confluent environment use <env-id> $ confluent environment use a-4985 # Step3: 使用するクラスターを設定 ## 3-1) クラスター ID を取得 $ confluent kafka cluster list Id | Name | Provider | Region | Durability | Status +-------------+-------------------+----------+-------------+------------+--------+ ekg-rr8v7 | dev-aws-oregon | aws | us-west-2 | LOW | UP ## 3-2) API キーとシークレットを作成 # confluent api-key create --resource <resource-id> $ confluent api-key create --resource ekg-rr8v7 Save the API key and secret. The secret is not retrievable later. +---------+------------------------------------------------------------------+ | API Key | LD35EM2YJTCTRQRM | | Secret | 67JImN+9vk+Hj3eaj2/UcwUlbDNlGGC3KAIOy5JNRVSnweumPBUpW31JWZSBeawz | +---------+------------------------------------------------------------------+ ## 3-3) API キーとシークレットを保存 # confluent api-key store <api-key> <api-secret> --resource <resource-id> $ confluent api-key store LD35EM2YJTCTRQRM 67JImN+9vk+Hj3eaj2/UcwUlbDNlGGC3KAIOy5JNRVSnweumPBUpW31JWZSBeawz --resource ekg-rr8v7 ## 3-4) API キーの選択 # confluent api-key use <api-key> --resource <resource-id> $ confluent api-key use LD35EM2YJTCTRQRM --resource ekg-rr8v7
【4】CLIリファレンス
* 以下の公式リファレンスから辿るといい。
https://docs.confluent.io/ja-jp/confluent-cli/2.4/command-reference/index.html
1)confluent environment
* Confluent Cloud 環境を管理
# Confluent Cloud 環境を一覧表示 confluent environment list [flags]
# 指定した Confluent Cloud 環境に切り替え confluent environment use <id> [flags]
[1] confluent environment list
# onfluent Cloud 環境を一覧表示 confluent environment list [flags]
2)confluent api-key
* API キーを管理
[1] confluent api-key create
* 指定したリソースに API キーを作成
confluent api-key create [flags] # クラスター "lkc-123456" へのフルアクセス権限を持つ API キーを作成 confluent api-key create --resource lkc-123456
[2] confluent api-key store
* 別のプロセスで作成された API シークレットを登録し、ローカルで保管する場合に使用
confluent api-key store [api-key] [secret] [flags]
[3] confluent api-key use
* アクティブな API キーを設定
confluent api-key use <api-key> [flags]
1)confluent kafka
* Apache Kafka を操作
https://docs.confluent.io/ja-jp/confluent-cli/2.4/command-reference/kafka/index.html
[1] confluent kafka cluster
* Kafka クラスターを管理
# Kafka クラスターを一覧表示 confluent kafka cluster list [flags] confluent kafka cluster list --output "json" | jq
[2] confluent kafka topic
https://docs.confluent.io/ja-jp/confluent-cli/2.4/command-reference/kafka/topic/index.html#confluent-kafka-topic
# Topic作成 confluent kafka topic create <topic> [flags]
関連記事
Confluent ~ Local環境構築 ~
https://dk521123.hatenablog.com/entry/2024/05/10/000325
Confluent ~ REST API ~
https://dk521123.hatenablog.com/entry/2024/05/09/144826
Apache Kafka ~ 環境構築 / Linux編 ~
https://dk521123.hatenablog.com/entry/2024/02/05/153202
Apache Kafka ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/04/26/103421
Apache Kafka ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/05/01/000000
Apache Kafka ~ Kafkaコマンド ~
https://dk521123.hatenablog.com/entry/2023/05/16/000000
curl コマンド
https://dk521123.hatenablog.com/entry/2017/12/05/233100
jq コマンド ~ JSON を扱う ~
https://dk521123.hatenablog.com/entry/2020/02/01/000000
Linux ~ 環境変数あれこれ ~
https://dk521123.hatenablog.com/entry/2015/07/16/103501