Skip To Content

Kafka Topic を GeoJson で取得

[Kafka Topic を GeoJson で取得] 入力コネクタは、GeoJSON として書式設定されたイベント データ レコードを Apache Kafka® Topic から取得し、適合させるために使用されます。Apache Kafka® の基本操作の詳細については、「Apache Kafka の概要」をご参照ください。GeoJSON データ レコードの書式設定の詳細の例については、「GeoJSON の仕様」をご参照ください。

使用上の注意

  • この入力コネクタは、Kafka Topic から GeoJSON データを受信する場合に使用します。この入力コネクタは Kafka の Consumer です。
  • この入力コネクタは、GeoJSON インバウンド アダプターと Kafka インバウンド トランスポートを組み合わせます。
  • フィーチャ JSON と同様、GeoJSON は汎用 JSON のサブタイプです。これらの特有の形式を処理するには、異なる GeoEvent Server アダプターが使用されます。
  • 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 以降でサポートされます。

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 の構成」をご参照ください。

ジオイベント定義の作成

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

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

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

(条件)

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

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

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

(条件)

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

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

デフォルト空間参照

座標値が、想定されている 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 が日付/時間値を適合する方法を把握できるよう、[推定される日付形式] を指定する必要があります。

認証が必要です

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 を GeoJson で取得] 入力コネクタはデータを取得できなくなります。Consumer グループ内の Consumer 数は、Kafka トピックのパーティション数によって制限されます。Consumer グループ内の Consumer 数が Kafka トピックで利用できるパーティション数を超えると、超過する Consumer はデータを受信しません。Consumer 数を最適化して、Kafka トピック上のパーティションの数に最適な数にすることを検討するか、コネクタごとに異なる Consumer グループを実装して、これを回避してください。Consumer と Consumer グループの詳細については、「Kafka のドキュメント」をご参照ください。
  • [Kafka Topic を GeoJson で取得] 入力コネクタは Kafka のクライアント Consumer です。この入力コネクタにも、Kafka の他のクライアント Consumer に要求されるものと同じ懸念事項が適用されます。たとえば、この入力コネクタは Kafka トピックからデータを受信していないが Kafka の別のクライアント Consumer は受信している場合、2 つのクライアント Consumer に関連する要因を検討します。これには、構成された Consumer グループ ID、トピックで使用可能なパーティションの数、既存の Consumer の数が含まれますが、これらに限定されません。または、入力コネクタが立て続けに停止され開始される場合、Consumer の視点から Kafka の影響を検討します。Kafka トピックのパーティションを再調整すると、入力コネクタが同じ Consumer グループの Consumer としてすぐに再結合することができなくなる可能性があります。