Skip To Content

Kafka Topic に接続してテキストで受信

Kafka Topic に接続してテキストで受信入力コネクタを使用すると、区切りテキストとして書式設定されたイベント データ レコードを Apache Kafka Topic から取得して適合させることができます。 テキスト区切り記号は、一般的にはカンマであるため、このタイプのテキスト データはカンマ区切り値データと呼ばれることもあります。ただし、ArcGIS GeoEvent Server では、印刷可能な ASCII 文字を区切り記号として使用し、データ属性値を区切ることができます。 Apache Kafka の基本操作の詳細については、「Apache Kafka の概要」をご参照ください。

使用上の注意

Kafka Topic に接続してテキストで受信入力コネクタを使用する際には、以下の点に注意してください。

  • この入力コネクタは、Kafka Topic からデータを書式設定されたテキストまたは区切りテキストとして受信する場合に使用します。 この入力コネクタは、Kafka の Consumer です。
  • この入力コネクタは、テキスト インバウンド アダプターと Kafka インバウンド トランスポートを組み合わせます。
  • 区切りテキストには、ジオメトリを表すデータを含める必要はありません。 したがって、この入力コネクタで、Kafka から非空間データを取得して処理することができます。
  • アダプターは、X、Y、Z 属性フィールドからポイント ジオメトリを構築することができます。
  • Kafka から区切りテキストを解析するには、[メッセージの区切り記号] パラメーターと [属性の区切り記号] パラメーターが必要です。 メッセージの区切り記号はデータ レコードの末尾を表す文字であり、デフォルト値は改行 (\n) です。 属性の区切り記号は 1 行のテキストで属性値を区切るための文字であり、デフォルト値はカンマ (,) です。 文字値または Unicode 値として指定された印刷可能な ASCII 文字をメッセージまたは属性の区切り記号として使用できます。
  • Kafka インバウンド トランスポートは、Kafka クラスターまたは Broker で認証するために、TLS 1.2 および SASL セキュリティ プロトコルをサポートしています。

パラメーター

Kafka Topic に接続してテキストで受信入力コネクタのパラメーターを次に示します。

パラメーター説明

名前

GeoEvent Manager で参照用として使用される入力コネクターの記述名。

カスタム Kafka プロパティでオーバーライド

デフォルトの GeoEvent Server Kafka クライアント プロパティをオーバーライドするかどうかを指定します。 デフォルトは [いいえ] です。

  • [はい] – トランスポートにより表示されるデフォルトの Kafka クライアント プロパティはオーバーライドされます。 有効な Kafka 構成が正しく書式設定された Kafka .properties ファイルを含む、GeoEvent Server に登録されたフォルダーを指定する必要があります。 サポートされている構成のリストと指定された .properties ファイルの推定される書式設定については、「Apache Kafka の構成」をご参照ください。
  • [いいえ] – トランスポートにより表示されるデフォルトの Kafka クライアント プロパティはオーバーライドされません。 [Kafka Bootstrap Servers][Consumer のグループ ID] の値を指定する必要があります。

Kafka Bootstrap Servers

(条件)

hostname:port クラスターへの初期接続を確立するために使用される Kafka ペアのリスト。 Hostname:port ペアは、カンマ区切りである必要があります (例: broker0.example.com:9092,broker1.example.com:9092,broker2.example.com:9092)。

このパラメーターは、[カスタム Kafka プロパティでオーバーライド][いいえ] に設定されている場合に表示されます。

Topic 名

対象データが使用される Kafka Topic 名または Kafka Topic のリスト。 複数の Topic はセミコロンで区切ります。 以下に例を示します。

  • topic1
  • topic1;topic2;topic3;topic4

注意:

複数の Kafka Topic の指定は、ArcGIS GeoEvent Server 10.8 以降でサポートされます。

注意:

特定の Topic からのデータ順序は保証されません。

Consumer 数

Consumer グループごとの Consumer 数。 Consumer 数のデフォルトは 1 です。

注意:

Consumer 数は、Kafka トピックのパーティション数によって制限されます。 Consumer グループの詳細については、「Apache Kafka の概要」をご参照ください。

Consumer のグループ ID

(条件)

一連の Consumer の Consumer グループを一意に識別するオプションの文字列。 これは Consumer グループ名とも呼ばれます。

Consumer のグループ ID を指定しない場合、GeoEvent Server は、geoevent-consumer と呼ばれる静的な Consumer のグループ ID を割り当てます。 この静的な Consumer のグループ ID は、Consumer のグループ ID が指定されていない Kafka コネクターのすべてのインスタンスで共有されます。

カスタム Consumer グループ ID を指定することをおすすめします。 Consumer グループの詳細については、「Apache Kafka の概要」をご参照ください。

このパラメーターは、[カスタム Kafka プロパティでオーバーライド][いいえ] に設定されている場合に表示されます。

Kafka プロパティ ファイルの登録済みフォルダー

(条件)

GeoEvent Server Kafka ファイルを含む .properties に登録されたフォルダー。 Kafka .properties ファイルは、[カスタム Kafka プロパティでオーバーライド][はい] に設定されている場合にカスタム Kafka プロパティを定義します。 GeoEvent Server に登録されたフォルダーが、Kafka .properties ファイルが配置された場所への絶対パスであることを確認してください。

このパラメーターは、[カスタム Kafka プロパティでオーバーライド][はい] に設定されている場合に表示されます。

Kafka プロパティ ファイル名

(条件)

クライアント構成のカスタム Kafka プロパティを含む .properties Kafka ファイルの名前。 ファイル拡張子が .properties のファイルの名前を指定します。

  • カスタム Kafka プロパティ ファイルの名前が sample.properties の場合、このパラメーターの値を sample と指定します。

このパラメーターは、[カスタム Kafka プロパティでオーバーライド][はい] に設定されている場合に表示されます。

最初から開始

レコードが最初のオフセットで始まる Topic から消費されるか、または Consumer にコミットした最後のオフセットから消費されるかを指定します。 デフォルトは [はい] です。

  • [はい] – レコードは最初のオフセットで始まる Topic から消費されます。
  • [いいえ] – レコードはコミットした最後のオフセットから消費されます。

注意:

オフセットの詳細については、「Apache Kafka の構成」をご参照ください。

イベントの区切り記号

イベント データ レコードの末尾を表す文字リテラル。 区切り文字を指定するには、Unicode 値が使用されることがあります。 文字を引用符で囲まないでください。 一般的なレコード末尾区切り文字は、改行 (\n) です。

フィールドの区切り記号

メッセージ内で属性値を区切るために使われるリテラル記号。 区切り文字を指定するには、Unicode 値が使用されることがあります。 文字を引用符で囲まないでください。 一般的な属性区切り記号はカンマです。

ジオイベント定義の作成

インバウンド イベント データに新しいジオイベント定義を使用するか、既存のジオイベント定義を使用するかを指定します。 GeoEvent Server がインバウンド データ属性フィールドおよびデータ タイプを解釈するには、ジオイベント定義が必要です。

  • [はい] – 最初に受信したイベント レコードのスキーマに基づき、新しいジオイベント定義が作成されます。
  • [いいえ] - ジオイベント定義は作成されません。 インバウンド イベント データのスキーマに一致する、既存のジオイベント定義が選択されます。

ジオイベント定義名 (新規)

(条件)

新しいジオイベント定義に与えられる名前。 指定した名前を持つジオイベント定義がすでに存在する場合、既存のジオイベント定義が使用されます。 最初に受信したデータ レコードを使用し、後続のデータ レコードで予期されるスキーマを決定します。新しいジオイベント定義は、最初のデータ レコードのスキーマに基づいて作成されます。

このパラメーターは、[ジオイベント定義の作成][はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。

ジオイベント定義名 (既存)

(条件)

受信したデータを適合して、GeoEvent Service によって処理されるイベント データを作成する際に使用する、既存のジオイベント定義の名前。

このパラメーターは、[ジオイベント定義の作成][いいえ] に設定されている場合に表示され、[はい] に設定されている場合は非表示になります。

フィールドからジオメトリーを作成

入力コネクターが、属性として受信した座標値を使用してポイント ジオメトリーを作成するかどうかを指定します。 デフォルトは [いいえ] です。

  • [はい] – 指定したイベント属性の値を使用し、ポイント ジオメトリーを作成します。
  • [いいえ] – ポイント ジオメトリーは作成されません。 属性フィールドには、ジオメトリーとして解釈される値が含まれているか、イベント レコードが非空間である (ジオメトリーがない) と想定されます。

X ジオメトリー フィールド

(条件)

ポイント位置の X 座標部 (水平や経度など) を含むインバウンド イベント データの属性フィールド。

このパラメーターは、[フィールドからジオメトリーを作成][はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。

Y ジオメトリー フィールド

(条件)

ポイント位置の Y 座標部 (垂直や緯度など) を含むインバウンド イベント データの属性フィールド。

このパラメーターは、[フィールドからジオメトリーを作成][はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。

Z ジオメトリー フィールド

(条件)

ポイント位置の Z 座標部 (深さや高度など) を含むインバウンド イベント データの属性フィールド。 値が入力されなかった場合は、Z 値が省略されて、2D ポイント ジオメトリーが作成されます。

このパラメーターは、[フィールドからジオメトリーを作成][はい] に設定されている場合に表示され、[いいえ] に設定されている場合は非表示になります。

デフォルト空間参照

座標値が、想定されている WGS84 地理座標系システムの緯度と経度の値ではない属性フィールド値をもとにジオメトリーを作成するか、受信したジオメトリー文字列に空間参照が含まれない場合に使用される空間参照の Well-Known ID (WKID)。 WKID または Well-Known Text (WKT) を含む属性フィールドの WKT 値または名前が指定されることもあります。

推定される日付形式

日付時間値として予期される文字列表現を一致させ、それを Java Date 値に変換するために使用されるパターン。 パターンの形式は、Java SimpleDateFormat クラス変換に従います。

GeoEvent Server で推奨される日付/時間値のパターンは ISO 8601 標準ですが、日付値として一般的に認識されている日付/時間値の文字列表現のいくつかは、[推定される日付形式] の値を指定しなくても Java Date 値に変換することができます。 これらには以下のものが含まれます。

  • "2019-12-31T23:59:59" – ISO 8601 標準形式
  • 1577836799000 – Java Date (紀元からの時間を示す Long 型整数、UTC)
  • "Tue Dec 31 23:59:59 -0000 2019" – 一般的な Web サービス文字列形式
  • "12/31/2019 11:59:59 PM" – 米国で使用される一般的な形式 (12 時間形式)
  • "12/31/2019 23:59:59" – 米国で使用される一般的な形式 (24 時間形式)

受信した日付/時間の値が、上記のいずれとも異なる形式で表される場合は、GeoEvent Server が日付/時間値を適合できるよう、推定される日付形式パターンを指定する必要があります。

数値形式の言語

データ値から数値を書式設定する際、ロケール依存型の動作に使用されるロケール識別子 (ID)。 デフォルトは、GeoEvent Server がインストールされているコンピューターのロケールです。 詳細については、「Java Supported Locales」をご参照ください。

認証が必要

Kafka クラスターまたは Kafka Broker への接続に認証が必要かどうかを指定します。 デフォルトは [いいえ] です。

  • [はい]Kafka クラスターまたは Broker への接続に認証が必要です。
  • [いいえ]Kafka クラスターまたは Broker への接続に認証は不要です。

認証方法

(条件)

Kafka クラスターのセキュリティー保護に使用されるセキュリティ プロトコルを指定します。 セキュリティー プロトコル オプションは [TLS 1.2][SASL] です。

  • [TLS 1.2]Kafka クラスターが使用するセキュリティー プロトコルは TLS 1.2 です。 Kafka クラスターの PKI ファイル (x509 証明書) が、ArcGIS GeoEvent Server が構成されている ArcGIS Server コンピューターのトラスト ストアにインポートされていることを確認してください。 証明書のインポートに関する具体的な手順については、「既存の CA 署名証明書での ArcGIS Server の構成」の「ArcGIS Server への証明書のインポート」セクションをご参照ください。
  • [SASL]Kafka クラスターによって使用されるセキュリティー プロトコルは、SASL です。 SASL、SSL、および Kerberos のみがサポートされています。

注意:

Kerberos を使用する場合、ArcGIS GeoEvent Server を実行しているオペレーティング システムのユーザー アカウントに、Kerberos セットアップ/構成内の keytab ファイルへの読み取りアクセス権があることを確認してください。

このパラメーターは、[認証が必要][はい] に設定されている場合に表示されます。

認証情報ファイルの登録済みフォルダー

(条件)

GeoEvent Server クラスターの PKI ファイル (x509 証明書) を含む Kafka に登録されたフォルダー。 GeoEvent Server に登録されたフォルダーが、Kafka クラスターの証明書が配置された場所への絶対パスであることを確認してください。

このパラメーターは、[認証が必要][はい] に設定されている場合に表示されます。 これは TLS 1.2 にのみ適用されます。

認証情報の構成ファイル

(条件)

Kafka クラスターの PKI ファイル (x509 証明書) の名前。 この証明書とそれに関連するプライベート キーは、拡張子 .p12 または .pfx を持つファイルで表される PKCS#12 形式で保存する必要があります。 ファイルの名前と拡張子を指定します。

注意:

このパラメーターでは、証明書ファイル名と拡張子のみがサポートされます。 証明書への相対パスはこのパラメーターに指定しないでください。 [認証情報ファイルの登録済みフォルダー] パラメーターを使用して証明書ファイルへの絶対パスを登録します。

このパラメーターは、[認証が必要][はい] に設定されている場合に表示されます。 これは TLS 1.2 にのみ適用されます。

キーストアのパスワード

(条件)

Kafka クラスターの PKI ファイル (x509 証明書) のパスワード。 これは証明書のプライベート キーとも呼ばれます。

このパラメーターは、[認証が必要][はい] に設定されている場合に表示されます。 このパラメーターは、TLS 1.2 にのみ適用されます。

SASL 認証タイプ

(条件)

Kafka クラスターがサポートする SASL 認証メカニズムのタイプを指定します。 SASL 認証タイプ オプションには、[SASL GSSAPI (Kerberos)][SASL PLAIN] があります。

  • [SASL/GSSAPI (Kerberos)]Kafka クラスターは SASL/GSSAPI Kerberos 認証を使用します。
  • [SASL/PLAIN]Kafka クラスターは SASL/PLAIN 認証を使用します。

このパラメーターは、[認証が必要][はい] に設定されている場合に表示されます。 これは SASL にのみ適用されます。

Kerberos プリンシパル

(条件)

特定ユーザーの Kerberos プリンシパル (例: GeoEventKafkaClient1@example.com)。

このパラメーターは、[認証が必要][はい] に設定されている場合に表示されます。 このパラメーターは、SASL/GSSAPI (Kerberos) にのみ適用されます。

キー タブの使用

(条件)

Kerberos 設定でキー タブを使用するかどうかを指定します。 デフォルトは [はい] です。

  • [はい] – Kerberos 設定でキー タブが使用されます。
  • [いいえ] – Kerberos 設定でキー タブが使用されません。

このパラメーターは、[認証が必要][はい] に設定されている場合に表示されます。 これは SASL/GSSAPI (Kerberos) にのみ適用されます。

キーの保存

(条件)

Kerberos 設定にキーを保存するかどうかを指定します。 デフォルトは [はい] です。

  • [はい] – キーは Kerberos 設定に保存されます。
  • [いいえ] – キーは Kerberos 設定に保存されません。

このパラメーターは、[認証が必要][はい] に設定されている場合に表示されます。 これは SASL/GSSAPI (Kerberos) にのみ適用されます。

ユーザー名

(条件)

Kafka クラスターでの認証に使用されるユーザー名。 クラウド プロバイダーによっては、接続文字列とも呼ばれます。 正しい構文については選択したクラウド プロバイダーのドキュメントをご参照ください。

このパラメーターは、[認証が必要][はい] に設定されている場合に表示されます。 これは SASL/PLAIN にのみ適用されます。

パスワード

(条件)

Kafka クラスターでの認証に使用されるパスワード。 正しい構文については選択したクラウド プロバイダーのドキュメントをご参照ください。

このパラメーターは、[認証が必要][はい] に設定されている場合に表示されます。 このパラメーターは、SASL/PLAIN にのみ適用できます。

検討事項および制限事項

Kafka Topic に接続してテキストで受信入力コネクタを使用する際には、以下の点に注意してください。

  • Consumer の管理と最適化が十分でないと、Kafka Topic に接続してテキストで受信入力コネクタの特定のインスタンスでデータを取得できなくなります。 Consumer グループ内の Consumer 数は、Kafka トピックのパーティション数によって制限されます。 Consumer グループ内の Consumer 数が Kafka Topic のパーティション数を超えると、余った Consumer がデータを利用できなくなります。 これを防ぐには、Kafka Topic のパーティション数と最適に一致するように Consumer の数を最適化するか、コネクタごとに異なる Consumer グループを実装することを検討してください。 Consumer と Consumer グループの詳細については、「Kafka のドキュメント」をご参照ください。
  • Kafka Topic に接続してテキストで受信入力コネクタは Kafka のクライアント Consumer です。 Kafka の他のクライアント Consumer に必要な検討事項と同じ内容をこの入力コネクタに適用してください。 たとえば、この入力コネクタは Kafka Topic からデータを受信していないが Kafka の別のクライアント Consumer は受信している場合は、2 つのクライアント Consumer に関連する要因を検討します。 これには、構成された Consumer グループ ID、Topic で使用可能なパーティションの数、既存の Consumer の数が含まれますが、これらに限定されません。 また、この入力コネクタが立て続けに停止と開始を繰り返す場合は、Consumer の視点から Kafka の影響を検討します。 Kafka Topic のパーティションを再調整すると、この入力コネクタが同じ Consumer グループの Consumer としてすぐに再結合できなくなる可能性があります。