tyoshikawa1106のブログ

- Force.com Developer Blog -

AppExchange:FileExporterつかってみました

添付ファイルオブジェクトを簡単にエクスポートする方法はないか調べてみたら面白そうなブログを見つけました。

HOW TO MIGRATE ATTACHMENTS FROM ONE SALESFORCE.COM ORG TO ANOTHER
http://www.madronasg.com/blog/how-migrate-attachments-one-salesforcecom-org-another#.UhTNyJJUG2Z

AppExchangeのFileExporterを使うとSOQLで特定のレコードのみエクスポートできますといった内容みたいでした。なんか便利そうなので下記サイトからインストールして試してみました。

FileExporter
https://appexchange.salesforce.com/listingDetail?listingId=a0N30000003Iz0jEAC&revId=a0S3000000HesElEAJ&tab=r

f:id:tyoshikawa1106:20130821233043p:plain

ひとまず通常どおりインストールしてみようとした所、次のような画面が...。
f:id:tyoshikawa1106:20130821233207p:plain

Try out the latest toy: FileExporterのリンクからZipファイル一式をダウンロードできます。対象のデータローダのバージョンは17.0になるとのことです。

Zipの中はこんな感じです。
f:id:tyoshikawa1106:20130821233452p:plain

ファイルが一杯ありますが、実行するのは +FileExporter.bat になります。
実行するとコマンドプロンプトが立ち上がります。
f:id:tyoshikawa1106:20130821233620p:plain


最初はデータローダのパスを指定するみたいです。
こんな感じに指定します。
f:id:tyoshikawa1106:20130821233814p:plain

次にユーザIDとパスワード、必要に応じてセキュリティトークンを指定します。
f:id:tyoshikawa1106:20130821234040p:plain

その次は本番かSandbox環境かを選択し、プロキシの設定が必要な場合は入力します。
f:id:tyoshikawa1106:20130821234257p:plain

Main Menuでエクスポートしたい対象を選択します。
今回は添付ファイルの a を選択して実行します。
f:id:tyoshikawa1106:20130822193411p:plain

実行後にExported Attachmentsフォルダが追加されています。
f:id:tyoshikawa1106:20130822193655p:plain

フォルダ内に添付ファイルがエクスポートされています。
f:id:tyoshikawa1106:20130822203851p:plain

エクスポート時のファイル名は次の構成になるようです。
"添付ファイルID" + "#" + 添付ファイル名

ちゃんと拡張子もついています。

標準のデータのエクスポート機能だと元の添付ファイル名が書き換わってしまったと思うのでこのように出力されるのはすごく便利だと思います。

上記リンク先のブログに説明があったのですが、エクスポートする際のSOQLについては"FileExporter"フォルダ内の"beans.xml"で定義されているみたいです。
f:id:tyoshikawa1106:20130822204716p:plain

f:id:tyoshikawa1106:20130822205009p:plain

これをカスタマイズすれば任意のレコードをエクスポートできると思います。
FileExporterの使い方についてはだいたいこんな感じです。