Salesforceコンテンツのファイルを取得する
Salesforceアダプタを利用してコンテンツのファイルを取得することが可能ですが、Salesforceアダプタが利用するSOAP APIの場合、ファイルサイズが40-50MB程度を超えるとOutOfMemoryErrorが発生する場合があります。
SalesforceではSOAP APIのほかにREST APIが提供されており、ファイルサイズが大きいことが想定される場合は、REST APIを使うことが適切です。
ここではRESTアダプタを使ってコンテンツを取得するスクリプトについて説明します。
設定手順
次の手順にそって設定します。
グローバルリソースの設定
コントロールパネルのグローバルリソースの設定を開き、ネットワーク > REST > REST接続設定 を選択します。REST APIでSalesforceに接続するために次の設定を行います。
xxxの部分には組織のインスタンスを指定します。(例:ap、na1、cs1)
スクリプトの作成
スクリプトの完成イメージは次の通りです。
以下に手順を説明します。
スクリプト変数を作成します。
ContentVersionID 取得するコンテンツのバージョンIDを格納します SessionID SalesforceのセッションIDを格納します - 完成イメージ中①となっている部分の設定を行います。
ここではSalesforceアダプタでコンテンツを検索し、最新のバージョンIDを取得します。説明を簡単にするために今回はタイトルがxxxというコンテンツを検索し、結果が1件返される前提とします。(実際にはタイトルが一致せず、結果が返されない場合の処理も必要です。)
設定は次の通りです。 - 完成イメージ中②となっている部分の設定を行います。
取得したコンテンツ最新のバージョンIDをスクリプト変数へセットします。また、Salesforceアダプタが使用したセッションIDをスクリプト変数へセットします。 - 完成イメージ中③となっている部分の設定を行います。
RESTアダプタのGET実行処理を次のように設定します。
「レスポンス設定」タブの設定を行います。この例では/data/Sample.csvとしてダウンロードしたファイルを出力します。
「ヘッダ設定」タブでリクエストヘッダを設定します。Bearerと${SessionID}の間は半角スペースが必要です。 - 以上でフローの作成は完了です。
テラスカイ管理番号 C-00008902