Skip To Content

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

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

使用上の注意

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

パラメーター

パラメーター説明

名前

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

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

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

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

Kafka Bootstrap Servers

(条件)

Kafka クラスターへの初期接続を確立するために使用されるホスト名とポートのペアのリスト。ホスト名とポートのペアは、次の例のようにカンマ区切りである必要があります。

  • broker0.example.com:9092,broker1.example.com:9092,broker2.example.com:9092

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

Topic 名

対象データが使用される Kafka Topic 名または Kafka Topic のリスト。複数のトピックは、セミコロンで区切る必要があります。

  • topic1
  • topic1;topic2;topic3;topic4

メモ:

複数の 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 プロパティ ファイルの登録済みフォルダー

(条件)

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

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

Kafka プロパティ ファイル名

(条件)

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

  • カスタム Kafka *.properties ファイルの名前が「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 時間形式)。

受信した日付/時間の値が、上記の 5 つ以外の形式で表される場合は、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 セットアップ/構成内のキータブ ファイルへの読み取りアクセス権があることを確認してください。

このプロパティは、[認証が必要です][はい] に設定されている場合に表示されます。

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

(条件)

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

このプロパティは、[認証が必要です][はい] に設定されている場合に表示されます。このプロパティは、TLS 1.2 にのみ適用できます。

認証情報の構成ファイル

(条件)

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

  • my_kafka_certificate.pfx
  • my_other_kafka_certificate.p12

メモ:

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

このプロパティは、[認証が必要です][はい] に設定されている場合に表示されます。このプロパティは、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 にのみ適用できます。

検討事項および制限事項

  • Consumer の管理と最適化が不十分な場合、[Kafka Topic に接続してテキストで受信] 入力コネクタはデータを取得できなくなります。Consumer グループ内の Consumer 数は、Kafka Topic のパーティション数によって制限されます。Consumer グループ内の Consumer 数が Kafka Topic で利用できるパーティション数を超えると、超過する Consumer はデータを受信しません。Consumer 数を最適化して、Kafka Topic 上のパーティションの数に最適な数にすることを検討するか、コネクタごとに異なる 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 としてすぐに再結合することができなくなる可能性があります。