CData Arcとkintone コネクターを活用 シンプルな一括Upsert設定のやり方
本記事はCDataが提供する「CData Software Blog」に掲載された「CData Arc - kintone コネクタ - よりシンプルな一括Upsert 設定」を再編集したものです。
こんにちは。CData Software Japan の色川です。
先日リリースされたCData Arc 2025.Q2(25.2)アップデートでは、「B2B 連携をもっとシンプルに」をコンセプトにするArc に相応しく、新コネクタの搭載や主要コネクタの機能強化により「応用的な連携シナリオでも、もっとシンプルに」構成できるように進化しています。
Arc 25.2 でリリースされた数多くのアップデートの中で「応用的な連携シナリオでも、もっとシンプルに」実現する機能強化の1つが、kintone コネクタでの「よりシンプルな一括Upsert 設定」です。この記事では、Arc 25.2 でサポートされた「kintone コネクタでの、よりシンプルな一括Upsert 設定」についてご紹介します。
CData Arc のUpsert アクションとkintone のUPSERT モード
CData Arc のDatabase Connectors や、Salesforce やkintone など多くのApplication Connectors が提供する「Upsert アクション」は「レコード単位に指定したkey で既にデータが存在していれば更新(Update)なければ追加(Insert)の処理を、Arc のコネクタの中で自動的に検索・判断・実行」してくれる利便性の高い機能です。
このArc のUpsert アクションの基本的な振舞いは、様々な更新シナリオにおいて利便を発揮しますが、kintone のようにUPSERT モードが用意されているSaaS においては、SaaS 側(kintone 側)が提供するUpsert の機構を利用して連携(更新)したいケースも発生します。分かりやすい例としては、一定数以上のデータ件数を扱う場合の実行パフォーマンスやAPI コール数制限への考慮が必要なケースです。まさに「応用的な連携シナリオ」と言えるかと思います。
Arc のkintone コネクタが利用しているCData kintone Driver では、近年kintone API でサポートされたUPSERT モードに対していち早く対応しました。これにより、Arc のkintone コネクタでもCData kintone Driver が提供するUpsert 構文をコードモードで指定することで、kintone のUPSERT モードを利用した一括Upsert リクエストのシナリオを実現できていましたが、今回のアップデートにより『コードモードでの複雑なSQL 記述を必要とせず、デザインモードでの「よりシンプルな設定」で一括Upsert リクエストを構成』できるようになりました。
以下では、Arc 25.2 から可能になった「よりシンプルな設定」でkintone への一括Upsert リクエストを構成していきます。
なお、この記事では、デザインモードを利用した「よりシンプルな設定」の流れを中心にご紹介しています。kintone のUPSERTモードを利用した一括Upsert リクエストの原理や留意すべきポイントについては、以前に紹介したこちらの記事をあわせてごらんください。
・CData Arc 2025 リリース - Kintone コネクタのアップデート(UPSERT モードサポート)
kintone コネクタでの、よりシンプルな一括Upsert 設定の流れ
それでは、実際にデザインモードを利用した「よりシンプルな設定」で一括Upsert リクエストを構成していきます。
従来との違いを確認しやすいように、この記事でも『「顧客リスト」の「メールアドレス」をUpdate 判断のkey(updateKey)として利用するために「メールアドレス」フィールドを「重複禁止」に構成した状態で、「メールアドレスをupdateKey」「会社名をUpsert 対象のフィールド」として指定して一括Upsert を行う場合』を例に設定していきます。
kintone コネクタ - enablebulkupsert プロパティの有効化
kintone コネクタの「Upsert アクション」におけるデフォルトの振舞いは、25.2 でも従来と変わらず「レコード単位に指定したkey で既にデータが存在していれば更新(Update)なければ追加(Insert)の振舞い」です。
Upsert アクションにおけるデフォルトの振舞いでなく「デザインモードを利用して一括Upsert リクエストを構成」する場合は、kintone コネクタの「高度な設定」にある「その他の設定」で「enablebulkupsert プロパティを明示的に有効化(enablebulkupsert=true)」します。
これにより、従来はkintone コネクタでコードモードを利用して記述が必要だった「一時テーブルへのInsert」と「一時テーブルをソースにしたターゲットテーブル(アプリ)へのUpsert」が、kintone コネクタの中で自動的に組み立てられ、実行されるようになります。
kintone コネクタ - カラムリストの明示的な選択
Arc のUpsert アクションにおけるデフォルトの振舞いで、利便の高いポイントの1つに「カラムリストで更新対象として選択されているカラムに対する値が、空やNull の場合は登録・更新対象から自動的に除外」してくれる点があります。この点があることで「数多くのカラムリスト(プロパティ)を持つオブジェクトに対する更新処理(Upsert アクション)でも、カラムリストを細かく事前に選択しなくても連携された必要なデータのみが登録・更新される」という振舞いが実現されます。
しかし「複数のレコードを一括Upsert リクエスト」する場合、レコードにより空やNull 値を持つカラムが異なる可能性がありますので「一括Upsert リクエストでは、カラムリストで選択したカラムは連携された値の内容に関わらずリクエスト対象に含まれます」、この点はポイントの1つと言えるでしょう。
そのため、カラムリストでは、マッピングするカラム(連携対象とするカラム)のみを明示的に選択します。
これで、kintone コネクタで一括Upsert をリクエストするための準備は完了です。
一括Upsert リクエスト結果の確認
Upsert アクションにおけるデフォルトの振舞いでなく「デザインモードを利用して一括Upsert リクエストを構成」した場合、挙動としては「kintone コネクタの内部的な振舞いの違い」として作用しますので、一括Upsert でリクエストされているかどうかは、kintone コネクタのコネクタログで確認することができます。コネクタログを見てみると、一時テーブル(顧客リスト#Temp)にInsert した後、顧客リストへUpsert リクエストされていることが確認できます。
またkintone 側でも顧客リストアプリの更新結果とともに、「1日のAPIリクエスト数」などを利用して期待どおりのリクエスト数(削減)になっているか、などを確認することもできるでしょう。
まとめ
この記事では、Arc 25.2 でサポートされた「kintone コネクタでの、よりシンプルな一括Upsert 設定」についてご紹介しました。
今回のArc 25.2 では「応用的な連携シナリオも、もっとシンプルに」実現できる、数多くのアップデートを実施していますが、kintone への一括Upsert 連携のようなシナリオは、まさに「応用的で高度な連携シナリオ」の1つと言えるかと思います。
従来は、コードモードでの「一時テーブルへのInsert」と「一時テーブルをソースにしたターゲットテーブル(アプリ)へのUpsert」構文の記述が必要でしたが、今回のアップデートで、よりシンプルな設定で一括Upsert リクエストを構成できるようになったことが確認いただけたかと思います。もちろん、従来の設定方法でも変わらず一括Upsert を構成することはできますので、コードモードを好んでいただいている方は引き続きそちらの設定方法も活用してください。
CData Arc 25.2 では、他にも多くの機能強化・機能改善が施されています。詳しく知りたい方はリリースノートをあわせてごらんください。数多くのアップデートで、より使いやすくなったCData Arc をぜひ試してみてください。
CData Arc - セキュアなデータ連携とマネージドファイル転送(MFT)
今回リリースされた新たなバージョンに限らず、今ご利用されているバージョンについても、設定や利用方法などご不明な点があれば、お気軽にテクニカルサポートまでお問い合わせください。
CData Software Japan - Support Form
この記事では CData Arc™ 2025 - 25.2.9349.0 を利用しています







