DataSpiderでは、RESTのPOST実行をRESTアダプタの「POST実行処理」アイコンを使用することが実現できます。これにより、パラメータやデータをサーバへ送信、またサーバ上のリソースの新規作成や、更新をノーコードで実現することができます。
今回はクラウドストレージサービス「Box」に対し、「POST実行処理」アイコンを用いて、DataSpiderからBoxへファイルをアップロードする方法を説明します。
処理フローと処理内容は以下の通りです。
接続 |
|
---|---|
設定 |
|
アップロード |
|
今回連携するCSVファイル「/data/work/test/在庫データ.csv」の内容は以下の通りです。
また、今回アップロード先として設定しているBoxフォルダは以下の通りです。
[プロジェクト名]:任意のプロジェクト名
[スクリプト名]:任意のスクリプト名
OAuth認証を設定し、データアップロード先であるBoxへのアクセス権限の許可を行います。
【4-1】
Studioの左下にある、「コントロールパネル」アイコンをダブルクリックし、「グローバルリソースの設定」を選択します。
【4-2】
メニューの[ファイル] - [新規グローバルリソース作成]を選択します。
【4-3】
リソースの種類の選択画面から、[認証]-[OAuth2.0]-[OAUTH2.0]を選択し、[次へ]ボタンを押下します。
【4-4】
接続設定の画面が表示されるので、[必須設定]タブの内容を設定します。
◎必須設定
[接続名]:接続先の設定名
[クライアントID]:接続先のクライアントID
[クライアントシークレット]:接続先のクライアントシークレット
[リダイレクトURI]:接続先のリダイレクトURI
[認可エンドポイント]:接続先の認可エンドポイント
[トークエンドポイント]:接続先のトークンエンドポイント
[クライアント認証方式]:トークンリクエストでのクライアント認証方式を選択
【4-5】
次に、[リフレッシュトークン]の発行と[アクセストークン有効期間]を取得します。
[トークンを発行する]を押下し、「認可コードの設定」ダイアログを起動させます。
【4-6】
「認可コードの設定」ダイアログが起動したら、[認可コード取得]を押下します。
押下すると、Boxへのアクセス許可設定ページが開きます。
【4-7】
Boxへのアクセス許可設定ページが開いたら、[Boxへのアクセスを許可]を押下します。
認証コードページが表示されるので、認可コードをコピーし、ページを閉じます。
【4-8】
コピーした認証コードを、「認可コードの設定」ダイアログの[認可コード]に貼り付けます。
貼り付けたら、[OK]を押下します。
「トークンを取得しました。」のダイアログが表示されたら取得成功です。
【4-9】
接続設定の画面で、[リフレッシュトークン]と[アクセストークン有効期間]が設定されていることを確認します。
以上で、OAuth認証設定が完了しました。
グローバルリソースにて、BoxAPIへREST接続をします。
【5-1】
リソースの種類の選択画面から、[ネットワーク]-[REST]-[REST]を選択し、[次へ]ボタンを押下します。
【5-2】
接続設定の画面が表示されるので、POST用のBoxAPIのURLを設定します。
[名前]:接続先の設定名
[URL]:アクセスしたいBoxAPIのURL
【5-3】
[接続テスト]を押下して、接続に成功することを確認します。
「接続に成功しました。」のダイアログが表示されたら[OK]を押下します。
以上で、REST接続の設定が完了しました。
BoxへCSVファイルをアップロードするために、「POST実行」の設定を行います。
※BOXAPIに関しての詳細は下記をご参照ください。
ファイルをアップロード - APIリファレンス - Box Developerドキュメント
【6-1】
ツールパレットから[ネットワーク] - [REST] -
[POST実行]をスクリプトキャンバスにドラッグ&ドロップします。
【6-2】
「POST実行処理」プロパティ設定ダイアログで、以下の通り設定を行います。
◎必須設定
[名前] : コンポーネント名
[接続先] : グローバルリソースで設定済みの接続先
[パス] : [接続先]の[URL]に入力したURLからの相対パス
[エンコード] : URLエンコーディングに使用するエンコード
◎リクエスト設定
[データ入力元]:リクエストボディの入力元を選択
[データ形式]:リクエストボディのデータ形式を選択
[マルチパートフォーム設定]:リクエストボディとなるマルチパートを設定
◎レスポンス設定
[データ出力先]:レスポンスボディの出力先を選択
[ファイルパス]:レスポンスボディを出力するファイルのパスを選択または入力
◎認証設定
[認証]:リクエスト送信時の認証方式を選択
[グローバルリソース]:認証に使用するグローバルリソースを選択
【6-3】
[完了]を押下すると、プロパティ設定ダイアログが閉じ、「RESTAPI
POST実行処理」アイコンがキャンパスに配置されます。
アップロードCSVファイルの設定を、マッピング内で行います。
【7-1】
ツールパレットから[変換] - [基本] -
[マッピング]をスクリプトキャンバスにドラッグ&ドロップします。
【7-2】
「mapping」アイコンと「RESTAPI
POST実行処理」アイコンの間に、プロセスフローとデータフローを引きます。
【7-3】
配置された「mapping」アイコンをダブルクリックし、Mapperエディタを開きます。
出力先には、「RESTAPI
POST実行処理」アイコンの設定から、スキーマが読み込まれています。
(「RESTAPI
POST実行処理」アイコンのリクエスト設定で、データ形式を「マルチパートフォーム」で設定したため、マルチパート形式のスキーマが表示されます。)
【7-4】
スキーマへ値を設定していきます。
今回設定するのは、【6-2】で設定した「attributes」と「file」です。
まず「attributes」です。「attributes」には、アップロードに関する設定値を入力します。
Mapperエディタのツールパレットから[文字列]-[基本]-[単一行文字列定数]をマッピングキャンバスにドラッグ&ドロップします。
配置された「単一行文字列定数」ロジックアイコンをダブルクリックし、「単一行文字列定数ロジック」プロパティ設定ダイアログで、以下の通り設定を行います。
◎必須設定
[一行文字列]:アップロードの設定値
“name”:Boxアップロード後のファイル名
“parent”:ファイルアップロード先の親フォルダID
[完了]を押下し、「value」へリンクを引きます。
【7-5】
次に「file」です。「file」には、アップロードファイルの絶対パスを入力します。
Mapper
エディタのツールパレットから[文字列]-[基本]-[単一行文字列定数]をマッピングキャンバスにドラッグ&ドロップし、以下の通り設定を行います。
◎必須設定
[一行文字列]:アップロードファイルのファイルパス
[完了]を押下し、「path」へリンクを引きます。
以上で、マッピング内でのスキーマ値の設定は完了です。
【8-1】
処理の順番にプロセスフローを引きます。
(「Start」→「mapping」→「RESTAPI
POST実行処理」→「End」の順)
【8-2】
[デバッグ実行の開始/再開]を押下して処理を実行します。
【8-3】
まず、「RESTAPI
POST実行」アイコンのレスポンス設定にて指定したファイルに、レスポンスデータが格納されていることを確認します。
【8-4】
次に、指定したBox内のフォルダに、指定した名前でファイルがアップロードされているかを確認します。
正常にファイルがアップロードされていることを確認できました。
以上が、クラウドストレージサービス「Box」に対して「POST実行処理」をリクエストし、DataSpiderからBoxへファイルをアップロードする手順の説明になります。
何でもお気軽にご質問ください