コラム

2021.04.28

【データ連携担当のトラブルメモ】#1.データ連携失敗時にチェックしたいこと

● はじめに

 本シリーズでは「データ連携担当のトラブルメモ」と題して、DataCurrent社データ連携担当として携わってきた、データ連携にまつわる様々なトラブルやヒヤリ・ハットを振り返り、その原因究明のポイントや対策などを備忘録的に整理してまいります。

 非常に基礎的な内容も含まれると思いますが、それゆえにこれからデータ連携領域を担当されるという方々の一助になるようなものにできればと思います。

● 今回のデータ連携担当(プロフィール)

田中 芳樹
2008年4月に株式会社サイバー・コミュニケーションズ(CCI)入社。Google Analyticsを始めとしたアクセス解析ツールやKrux、BlueKaiなどのDMPの実装・運用領域を担務。2021年2月よりデータの利活用を推進するコンサルティング会社「株式会社DataCurrent」に出向し、事業会社の基盤構築・運用やオーディエンスデータの連携を担当。

● 第1回 データは渡っているはずなのに

ある日の出来事

「え、データが連携されていない、ですか?」

 とある取引先とのデータ連携の初回セットアップ時に頂いた指摘に、つい意外そうな声をあげてしまいました。なぜならこちらからのデータ出力は問題なく完了していたはずだからです。出力ログを見てもエラーはなく、十分な件数のデータが含まれたファイルが出力されて、先方の環境に納品されていました。

 にもかかわらず、先方のシステムのユーザーインターフェース上で、そのデータが数字としてあがってこないというのです。

 これは困ったことになった、と思いました。

環境情報

弊社出力元: Treasure Data
出力先環境: SFTP
出力ファイル: json.gz

チェックしたいこと

 すぐさま同僚のTさんに相談しました。Tさんはこういった連携の経験が豊富で、今回も的確に原因の切り分けを手助けしてくれました。

 最初の切り分けは、

 ・こちら側のデータ出力プロセスが失敗し、データを渡せていない
 ・データ連携先で正しくデータが取り込まれていない

 になるのですが、今回は既にこちら側のプロセスは確認していたので、後者が強く考えられるところです。

 後者をさらに分解していくと、以下の可能性が考えられるそうでした。

 1.先方のデータフォーマットルールに反している
   - 拡張子、文字コード、デリミター(区切り文字)などが指定通りになっていない可能性

 2.先方指定のファイル名規則に反している
   - ファイル名に含める日時などの情報が間違っている、あるいは禁則文字が使われている可能性

 3.先方環境のファイル容量規則に反している
   - ファイルごとの容量制限が設けられている場合がある

 4.先方システム側のトラブル

原因

「あっ」

 原因はすぐに見つかりました。2です。実に初歩的なところでした。

 どうやら先方のファイル受取り環境(SFTP)では、ファイル名に含まれる日付情報(YYYYMMDD)をもとに過去日付のファイルを見つけ出し、自動でデータを取り込む処理が働いていているようでした。

 そんな中で、こちらからはファイル名に「YYYYMDD」を入れたものを連携してしまっていたのです。そうです。「M」が1つ足りていません。それゆえに先方の取り込み処理の対象になっていなかったのでした。

「すぐに修正しますっ!」

 ということで修正自体はすぐにできる内容ではありましたが、ファイルの中身だけでなくファイルそれ自体の形式についても注意しなければいけない、というのが今回の反省点でした。ファイル名も実は連携が動く仕組みに深く関わることがあるのだと、強く意識する機会になりました。

まとめ

 データを出力したにもかかわらず、連携がうまくいかないときは
 1. データフォーマットルール
 2. ファイル名規則
 3.ファイル容量制限
 に反しているところがないか気を付ける。