Salesforce Bulk API Sink Connector 構成プロパティ¶
このコネクターを使用するには、connector.class
構成プロパティでそのコネクタークラスの名前を指定します。
connector.class=io.confluent.connect.salesforce.SalesforceBulkApiSinkConnector
コネクター固有の構成プロパティについて、以降で説明します。
認証¶
salesforce.username
コネクターで使用される Salesforce ユーザー名。
- 型: string
- 指定可能な値: 空ではない文字列
- 重要度: 高
salesforce.password
コネクターで使用される Salesforce パスワード。
- 型: password
- 重要度: 高
salesforce.password.token
ユーザー名に関連付けられた Salesforce セキュリティトークン。
- 型: password
- 重要度: 高
Salesforce インスタンス¶
salesforce.instance
使用する Salesforce エンドポイントの URL。これにより、コネクターは、認証応答の中で指定されたエンドポイントを使用します。
- 型: string
- デフォルト : https://login.salesforce.com
- 指定可能な値 :
https
とhttp
のいずれかのスキームを使用した URI - 重要度: 高
salesforce.version
Salesforce のバージョン
- 型: string
- デフォルト: 48.0
- 重要度: 高
Salesforce SObject¶
salesforce.object
Salesforce オブジェクト名。
- 型: string
- 指定可能な値: 空ではない文字列
- 重要度: 高
salesforce.sink.object.operation
SObject に対して実行する Salesforce シンク操作。挿入、アップデート、アップサート、削除のいずれかです。デフォルトは挿入です。この機能は、
override.event.type
が true の場合に機能します。- 型: string
- デフォルト: insert
- 指定可能な値: [upsert, insert, update, delete] のいずれか
- 重要度: 低
override.event.type
salesforce.sink.object.operation 構成設定で指定された操作を使用するために、Kafka SObject ソースレコードの EventType(create、update、delete)がオーバーライドされることを示すフラグ。
- 型: boolean
- デフォルト: false
- 重要度: 低
salesforce.custom.id.field.name
挿入およびアップサート操作の Rest API 呼び出しを構成するための、SObject 内のカスタムの外部 ID フィールドの名前。
salesforce.use.custom.id.field=true
の場合。- 型: string
- デフォルト: null
- 重要度: 低
salesforce.use.custom.id.field
挿入およびアップサートのシンクコネクター操作に
salesforce.custom.id.field.name
を使用するかどうかを示すフラグ。- 型: boolean
- デフォルト: false
- 重要度: 低
salesforce.ignore.fields
Salesforce にレコードをプッシュする際に無視する、ソースの Kafka レコードのフィールドのコンマ区切りリスト。
- 型: List
- デフォルト: ""
- 重要度: 低
salesforce.ignore.reference.fields
Salesforce SObject でリファレンスタイプのフィールドに対するアップデートまたは挿入を回避するためのフラグ。
- 型: boolean
- デフォルト: false
- 重要度: 低
プロキシ¶
http.proxy
コネクターが Salesforce との通信で使用する必要がある HTTP(S)プロキシホストおよびポート。このデフォルトは空白の文字列で、プロキシを使用しないことを意味します。
- 型: string
- デフォルト: null
- 指定可能な値 :
<host> :<port>
形式で指定。<host>
は有効なホスト名または IP アドレス、<port>
は有効なポート番号です。 - 重要度: 低
http.proxy.auth.scheme
HTTP(S)プロキシでコネクターを認証する際に使用される認証スキーム。基本および NTLM 認証スキームがサポートされています。
- 型: string
- デフォルト: NONE
- 指定可能な値: [NTLM, NONE, BASIC] のいずれか
- 重要度: 低
http.proxy.user
Salesforce に接続するための Salesforce プロキシのユーザー名。
- 型: string
- デフォルト: ""
- 重要度: 低
http.proxy.password
Salesforce に接続するための Salesforce プロキシのパスワード。
- 型: password
- デフォルト: [hidden]
- 重要度: 低
http.proxy.auth.ntlm.domain
NTLM スキーマが使用される場合に認証するドメイン。
- 型: string
- デフォルト: null
- 重要度: 低
エラー処理¶
behavior.on.api.errors
これは、Salesforce に対する Rest API 呼び出しのエラー処理の動作を設定します。
fail
、ignore
、log
のいずれかにする必要があります。fail
はコネクターを停止します。ignore
は次のレコードに進みます。log
はエラーをログに記録し、次のレコードに進みます。- 型: string
- デフォルト: fail
- 指定可能な値: [fail, log, ignore] のいずれか
- 重要度: 低
Connect Reporter¶
Reporter の詳細については、「Connect Reporter 」を参照してください。
reporter.result.topic.name
シンクレコードの処理が成功した後にレコードを生成するトピックの名前。現行コネクターの名前を指定するには、パターン内で
${connector}
を使用します。エラーレポートの動作を無効にする場合は空白にします。- 型: string
- デフォルト: ${connector}-success
- 指定可能な値 : ${connector} を置き換える場合は、ASCII 英数字、
+
、.
、_
、-
の文字から 1 ~ 249 個を使用して有効なトピック名を指定する必要があります。 - 重要度: 中
reporter.result.topic.replication.factor
このコネクターで自動的に作成される結果トピックのレプリケーション係数。これは、許容可能なブローカー障害数を指定するものです。これを超えるとデータが失われます。これは、開発環境では 1、本稼働環境では "必ず" 3 以上にする必要があります。
- 型: short
- デフォルト: 3
- 指定可能な値: [1,…]
- 重要度: 中
reporter.result.topic.partitions
このコネクターで自動的に作成される結果トピックのパーティション数。このパーティション数は、潜在的なスループットを処理するために入力パーティション数と同じ数にする必要があります。
- 型: int
- デフォルト: 1
- 指定可能な値: [1,…]
- 重要度: 中
reporter.error.topic.name
レコードのシンクの試行に失敗するたびにレコードを生成するトピックの名前。現行コネクターの名前を指定するには、パターン内で
${connector}
を使用します。エラーレポートの動作を無効にする場合は空白にします。- 型: string
- デフォルト: ${connector}-error
- 指定可能な値 : ${connector} を置き換える場合は、ASCII 英数字、
+
、.
、_
、-
の文字から 1 ~ 249 個を使用して有効なトピック名を指定する必要があります。 - 重要度: 中
reporter.error.topic.replication.factor
このコネクターで自動的に作成されるエラートピックのレプリケーション係数。これは、許容可能なブローカー障害数を指定するものです。これを超えるとデータが失われます。これは、開発環境では 1、本稼働環境では "必ず" 3 以上にする必要があります。
- 型: short
- デフォルト: 3
- 指定可能な値: [1,…]
- 重要度: 中
reporter.error.topic.partitions
このコネクターで自動的に作成されるエラートピックのパーティション数。このパーティション数は、潜在的なスループットを処理するために、入力パーティション数と同じにする必要があります。
- 型: int
- デフォルト: 1
- 指定可能な値: [1,…]
- 重要度: 中
reporter.bootstrap.servers
Kafka クラスターとの初期接続の確立に使用するホストとポートのペアのリスト。どのブートストラップサーバーをここに指定しようと、クライアントはすべてのサーバーを使用します。このリストは、一連のサーバーをすべて検出するために使用する初期ホストを決定するだけのものです。このリストは、
host1:port1,host2:port2,..
の形式で指定します。これらのサーバーは、初期接続ですべてのクラスターメンバーシップを検出するためにのみ使用されます。これは動的に変わる可能性があるので、このリストにすべてのサーバーセットを含める必要はありません。ただし、サーバーの障害に備えて、複数指定しておくこともできます。- 型: List
- 指定可能な値: 空ではないリスト
- 重要度: 高
フォーマッター¶
reporter.result.topic.key.format
結果レポートキーをシリアル化するフォーマット。
- 型: string
- デフォルト: json
- 指定可能な値: [string, json] のいずれか
- 重要度: 中
- 依存関係 :
reporter.result.topic.key.format.schemas.enable
、reporter.result.topic.key.format.schemas.cache.size
reporter.result.topic.value.format
結果レポート値をシリアル化するフォーマット。
- 型: string
- デフォルト: json
- 指定可能な値: [string, json] のいずれか
- 重要度: 中
- 依存関係 :
reporter.result.topic.value.format.schemas.cache.size
、reporter.result.topic.value.format.schemas.enable
reporter.error.topic.key.format
エラーレポートキーをシリアル化するフォーマット。
- 型: string
- デフォルト: json
- 指定可能な値: [string, json] のいずれか
- 重要度: 中
- 依存関係 :
reporter.error.topic.key.format.schemas.cache.size
、reporter.error.topic.key.format.schemas.enable
reporter.error.topic.value.format
エラーレポート値をシリアル化するフォーマット。
- 型: string
- デフォルト: json
- 指定可能な値: [string, json] のいずれか
- 重要度: 中
- 依存関係 :
reporter.error.topic.value.format.schemas.cache.size
、reporter.error.topic.value.format.schemas.enable
JSON フォーマッター¶
reporter.result.topic.key.format.schemas.cache.size
JSON フォーマッターでキャッシュできる最大スキーマ数。
- 型: int
- デフォルト: 128
- 指定可能な値: [0,…,2048]
- 重要度: 中
reporter.result.topic.key.format.schemas.enable
シリアル化された値とキーのそれぞれにスキーマを含めます。
- 型: boolean
- デフォルト: false
- 重要度: 中
reporter.result.topic.value.format.schemas.cache.size
JSON フォーマッターでキャッシュできる最大スキーマ数。
- 型: int
- デフォルト: 128
- 指定可能な値: [0,…,2048]
- 重要度: 中
reporter.result.topic.value.format.schemas.enable
シリアル化された値とキーのそれぞれにスキーマを含めます。
- 型: boolean
- デフォルト: false
- 重要度: 中
reporter.error.topic.key.format.schemas.cache.size
JSON フォーマッターでキャッシュできる最大スキーマ数。
- 型: int
- デフォルト: 128
- 指定可能な値: [0,…,2048]
- 重要度: 中
reporter.error.topic.key.format.schemas.enable
シリアル化された値とキーのそれぞれにスキーマを含めます。
- 型: boolean
- デフォルト: false
- 重要度: 中
reporter.error.topic.value.format.schemas.cache.size
JSON フォーマッターでキャッシュできる最大スキーマ数。
- 型: int
- デフォルト: 128
- 指定可能な値: [0,…,2048]
- 重要度: 中
reporter.error.topic.value.format.schemas.enable
シリアル化された値とキーのそれぞれにスキーマを含めます。
- 型: boolean
- デフォルト: false
- 重要度: 中
Confluent ライセンス¶
confluent.license
Confluent では、各契約者にライセンスキーを発行します。ライセンスキーは、コピーアンドペーストできる短いテキストです。このコネクターは、ライセンスキーがなくても 30 日間試用できます。既にご契約されている場合は、詳細について Confluent サポートにお問い合わせください。
- 型: string
- デフォルト: ""
- 指定可能な値: Confluent Platform ライセンス
- 重要度: 高
confluent.topic.bootstrap.servers
ライセンス供与に使用される Kafka クラスターとの初期接続を確立するために使用するホストとポートのペアのリスト。初期接続から、クラスター内のすべてのサーバーが検出されます。このリストは、
host1:port1,host2:port2,...
という形式にする必要があります。これらのサーバーは、初期接続ですべてのクラスターメンバーシップを検出するためにのみ使用されます。これは動的に変わる可能性があるので、このリストにすべてのサーバーセットを含める必要はありません。サーバーの障害に備えて、複数指定しておくこともできます。- 型: List
- 重要度: 高
confluent.topic
Confluent Platform の構成(ライセンス情報など)で使用される Kafka のトピックの名前。
- 型: string
- デフォルト: _confluent-command
- 重要度: 低
confluent.topic.replication.factor
Confluent Platform の構成(ライセンス情報など)で使用される Kafka のトピックのレプリケーション係数。これは、トピックがまだ存在しない場合にのみ使用されます。デフォルトの 3 は、本稼働環境での使用に適しています。ブローカー数が 3 未満の開発環境を使用する場合は、そのブローカー数をこのプロパティに設定する必要があります(多くの場合、1 です)。。
- 型: int
- デフォルト: 3
- 重要度: 低
Confluent ライセンスのプロパティ¶
ちなみに
コネクターの構成にライセンス関連のプロパティを含めることができますが、Confluent Platform バージョン 6.0 以降では、各コネクターの構成ではなく、Connect ワーカーの構成 でライセンス関連のプロパティを設定できるようになりました。
注釈
このコネクターはプロプライエタリであり、ライセンスが必要です。ライセンス情報は、_confluent-command
トピックに格納されています。ブローカーが SSL 接続を必要とする場合は、以下で説明するセキュリティ関連の confluent.topic.*
プロパティを含める必要があります。
confluent.license
Confluent では、各契約者にエンタープライズライセンスキーを発行します。ライセンスキーはテキストであるため、コピーアンドペーストで
confluent.license
の値として使用できます。試用ライセンスでは、コネクターを 30 日間使用できます。開発者ライセンスでは、ブローカーが 1 つの開発環境で、コネクターを無期限に使用できます。既にご契約されている場合は、詳細について Confluent サポートにお問い合わせください。
- 型: string
- デフォルト: ""
- 指定可能な値: Confluent Platform ライセンス
- 重要度: 高
confluent.topic.ssl.truststore.location
トラストストアファイルの場所。
- 型: string
- デフォルト: null
- 重要度: 高
confluent.topic.ssl.truststore.password
トラストストアファイルのパスワード。パスワードを設定しなくてもトラストストアにアクセスできますが、整合性チェックは無効になります。
- 型: password
- デフォルト: null
- 重要度: 高
confluent.topic.ssl.keystore.location
キーストアファイルの場所。クライアントでは省略可能です。クライアントの相互認証に使用できます。
- 型: string
- デフォルト: null
- 重要度: 高
confluent.topic.ssl.keystore.password
キーストアファイルのストアパスワード。クライアントでは省略可能です。ssl.keystore.location を構成した場合にのみ必要となります。
- 型: password
- デフォルト: null
- 重要度: 高
confluent.topic.ssl.key.password
キーストアファイル内のプライベートキーのパスワード。クライアントでは省略可能です。
- 型: password
- デフォルト: null
- 重要度: 高
confluent.topic.security.protocol
ブローカーとの通信に使用されるプロトコル。指定可能な値は、PLAINTEXT、SSL、SASL_PLAINTEXT、SASL_SSL です。
- 型: string
- デフォルト: "PLAINTEXT"
- 重要度: 中
ライセンストピックの構成¶
Confluent エンタープライズライセンスは、_confluent-command
トピックに格納されます。このトピックは、デフォルトで作成され、confluent.license
プロパティで指定されたライセンスキーに対応するライセンスが含まれます。
注釈
パブリックキーは Kafka のトピックには格納されません。
以下では、デフォルトの _confluent-command
トピックがさまざまなシナリオでどのように生成されるかを説明します。
confluent.license
プロパティを追加していない場合、またはこのプロパティを(confluent.license=
などで)空にした場合は、_confluent command
トピックに、30 日間の試用ライセンスが自動的に生成されます。- 有効なライセンスキーを(たとえば、
confluent.license=<valid-license-key>
)追加すると、有効なライセンスが_confluent-command
トピックに追加されます。
以下は、開発およびテスト用の最小限のプロパティの例です。
_confluent-command
トピックの名前は confluent.topic
プロパティを使用して変更できます(たとえば、環境に厳格な命名規則がある場合など)。以下の例は、この変更と、構成される Kafka ブートストラップサーバーを示しています。
confluent.topic=foo_confluent-command
confluent.topic.bootstrap.servers=localhost:9092
上の例は、開発およびテストで使用できる、ブートストラップサーバーの必要最小限のプロパティを示しています。本稼働環境の場合は、プレフィックスとして confluent.topic.
を付けて、通常のプロデューサー、コンシューマー、およびトピックの各構成プロパティをコネクターのプロパティに追加します。
デフォルトの構成プロパティのオーバーライド¶
confluent.topic.replication.factor
を使用することにより、レプリケーション係数をオーバーライドできます。たとえば、(開発およびテスト用の)ブローカー数 3 未満の環境で送信先として Kafka クラスターを使用する場合、confluent.topic.replication.factor
プロパティに 1
を設定する必要があります。
プロデューサー固有のプロパティは、confluent.topic.producer.
プレフィックスを使用することによりオーバーライドできます。コンシューマー固有のプロパティは、confluent.topic.consumer.
プレフィックスを使用することによりオーバーライドできます。
デフォルト値を使用することも、他のプロパティをカスタマイズすることもできます。たとえば、confluent.topic.client.id
プロパティのデフォルトは、コネクターの名前に -licensing
サフィックスを付けたものです。クライアント接続に SSL または SASL を必要とするブローカーの構成設定では、このプレフィックスを使用します。
トピックのクリーンアップのポリシーはオーバーライドできません。トピックは、常に 単一パーティションであり、圧縮されるからです。また、このプレフィックスを使用してシリアライザーおよびデシリアライザーを指定しないでください。追加しても無視されます。