こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。
Twitter:@exturekwon
以前、AdobeAnalyticsのデータフィードをGoogle Compute EngineにSFTPアップロードする方法について書きました。
今回はその応用です。
実はAdobe Analyticsから直接Cloud StorageにDWHのレポートファイルをアップロード出来ません。
しかし、LinuxにCloud Storageをファイルシステムとしてマウントする事が可能なGCS Fuseというツールを使えば解決します。
このGCS Fuseがあれば、AdobeからCompute EngineのVM経由でCloud StorageにリアルタイムでDWHファイルをアップロード出来ます。
GCS Fuseとは、Google Cloud StorageのバケットをLinuxのネットワークドライブとしてマウントするツールです。
というわけで以下手順です。
1. まずはGCSFuseをセットアップします。
GCEでLinuxVMを作成して、それからgithubに書いてある手順のとおりにGCSFuseのインストールを実行します。
2. 続いて、Cloud Storageのバケットを作成して、LinuxVM上に空のディレクトリを作成します。
それからGCSFuseを使ってバケットをマウントします。
例えばホームディレクトリにfilesというディレクトリを作成して、そこにexture-hogehogeというバケットをマウントします。
$ mkdir ~/files $ gcsfuse exture-hogehoge ~/files
gcsfuseコマンドの引数で、バケット名にgs://をつける必要はありません。
ここで試しにfilesディレクトリに何かファイルを作成すると、Cloud Storageのバケットに同じファイルが生成される事が確認出来ます。
$ touch ~/files/foobar.txt
foobar.txtがバケットの中に出てきました。
3. Adobeの公開鍵を入手します。
以前、この記事に書いたように、Adobe Analyticsのデータフィード作成画面から公開鍵(RSA)をダウンロードします。
4. 入手したAdobe公開鍵を、SFTPアップロード先のLinuxサーバー(GCEのVMなど)のアカウントの .ssh/authorized_keys の末尾に追記します。
※authorized_keysファイルが存在しない場合は作成して、chmod 600 でアクセス権を変更
5. Adobe AnalyticsのDWHをSFTPで配信する設定を作成します。
DWHをSFTPで配信する場合は、アドバンス配信設定でFTPを選び下記の情報を入力します。
・ホスト名にsftp://から始まるホスト名を入れる。ここではVMインスタンスのIPアドレスを使う。
・ポート番号 22番
・GCS Fuseバケットをマウントしたディレクトリ
・ログインアカウント
・パスワードは不要
レポートが生成されると、Cloud StoraageにDWHのファイルが出てきます。
下記のexture_20180104.csvというファイルがDWHから配信されたファイルです。
今回は、Adobe AnalyticsのDWHレポートをGoogle Cloud Storageのバケットにアップロードするための小細工について紹介しました。
弊社ではAdobe AnalayticsやGoogle Analyticsのレポートを活用するための分析基盤構築支援などを行っております。
お問い合わせはこちらからどうぞ。
ブログへの記事リクエストはこちらまで