はじめてのASTERIA でGoogle スプレッドシート連携！

こんにちは、對馬です。
今回は、人生で初めてASTERIA を触ってみよう！！！ということで、Google スプレッドシートのデータをCSV に出力する処理をASTERIA で作っていきたいと思います！！

#インストール
人生で初めてなので、もちろんインストールから始めていきます。
まずは、トライアルの申し込み。1日くらいとかでライセンスが発行されるよ。
https://www.asteria.com/jp/contact/asteria/trial/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/db9371f1-a6c7-585b-4df5-591a0a1fb123.png)


発行できたよ！って連絡が届いたら、ASTERIA Warp Standard/Enterprise for Windows をダウンロードして、インストールします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/c0b5d692-378a-c1da-cd6a-b09d0f39da90.png)

サーバーを開始します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/fcf60900-1fb8-eca9-5f8c-4d8483bb350e.png)

まずはサーバーの初期設定が必要らしく、http://[server]:28080/index.html にアクセスして！って言われます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/92eb29ea-b894-d943-d342-d680faa9c8ea.png)

そして私は拒否された。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/c37cf46c-1349-5b69-c3d3-6055bd51168e.png)

先輩に聞いてみたらロックファイルを削除してくださいー！と言われました。
正解なのかわからないけど削除してもっかいやり直したら拒否されなかったので正解です。（詳しい人がいたら教えてください…。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/f6b1be28-5a21-5d73-7663-3f9bf27ab96e.png)

無事に受け入れてもらえたので、初期設定を進めていく！まずはログイン。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/25c6fa5b-45d3-8cdd-de58-1c8f23e3e216.png)

ここでライセンスキーを指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/0d3f16bd-f5d8-84c1-dcd4-4c60a960fa32.png)

ユーザー設定をします。
スーパーユーザーアカウントとディベロッパーアカウントを設定。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/19345087-98a3-2c9f-9250-33a690cb67e4.png)

ユーザー設定が終わるとサーバーが起動してくれます。ありがとう！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/62f5ad6f-03ae-0379-8357-1494cbb14f88.png)

初期設定から管理コンソール画面に変わります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/4f96315b-d79b-0b39-750e-3c3f1dffe205.png)

コンソールはスタート画面のここからも開けます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/32f5a7c5-85b2-d4d3-d339-486e04d914a7.png)


#デザイナーインストール
ASTERIA では、フローを開発するためにデザイナーが別途必要ということで！

トライアルの画面からデザイナーをダウンロード&インストールします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/cf44a99e-cc93-ddb6-86fd-5113d8b06c8b.png)

完了したら、デザイナー側でサーバーの接続していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/3166b77b-af73-f56e-3da7-294591b088b3.png)

ちなみにユーザー作成のところでサンプルも取り込む指定をしておくと、この段階でサンプルを見ることができるのでフロー作成が進めやすいです。
種類も豊富なので助かります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/ffb988e8-5565-67f0-cad9-6d35d513e52e.png)

#フロー開発
今回はGoogle スプレッドシートのデータをCSV に出力する処理を作っていこうと思います。
Northwind のOrders シートを使うよ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/0e16e9e9-5f78-1d68-9795-8a20cabd86af.png)

完成イメージはこちら。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/9f6a0f9f-91d1-dcdc-45d6-9fcbb813cbdf.png)

##Google スプレッドシート連携
オプションなので管理画面で追加していく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/036cd412-72e1-e983-d394-7d192abadecd.png)

追加後再起動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/f409e475-4621-6767-dc03-1a946deed11e.png)

デザイナー起動時、追加する処理アイコンを指定します。画面を撮れなかった…。
マルチセレクトはサーバーにアダプタをダウンロード、そしてデザイナーにもアダプタを反映、という流れて追加することができます。

##コネクション作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/2487a90a-680b-ee1d-8412-13789878a98a.png)

イニシエートOAuth を GETANDREFRESH 選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/22dfb2af-607e-1794-63df-9a925f3278b4.png)

設定を保存すると、接続テストができるようになります。
赤枠のアイコンを押下。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/eb08c7fe-c4c5-f880-dbc4-e57860250ef6.png)

接続するGoogle アカウントを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/ef9ea016-9026-635e-69f0-bc63a591ac94.png)

認証成功画面！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/5466f6a5-017c-4817-e663-8235d6bda61f.png)

接続成功画面！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/8cd997e7-fd6a-d11e-d791-4f75bb37b92d.png)

やったぜ。
認証がいつも私は苦手なので、自動でやってくれるのは助かります。サクサク進めていきます。

##プロジェクト新規作成
ここでもテンプレートを選んで作ることができるので、１から作らなくても済んでしまう！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/f80d6d31-ea15-4ef9-2a1c-fc1d2ce44026.png)

##Google スプレッドシート データ取得処理
マルチセレクトにGoogle スプレッドシートの処理アイコンが追加されています。
上矢印が取得処理なので、ドラッグアンドドロップで画面に追加していく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/3cd9f643-256b-487e-538d-fe8b964efd2c.png)

先ほど作成したコネクションを選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/5c5e51d8-d065-c089-abe9-93bf6ae31aa9.png)

アイコンをダブルクリックでSQL ビルダーが開きます。
取得するデータを選択します。
左の一覧から取得したいファイルを右側にドラッグ、ファイル名（青枠）を右クリックで全選択が可能。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/9468e679-3b63-2091-088e-e381da2d8838.png)

下の画面にSQL が自動で作成される！！！私はSQL ほとんどわからないのでとても助かります…！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/9e0c7346-05bf-1ae5-33ea-f77ced9d43c5.png)

##CSV 出力処理
取得処理ができたので、データマッピングアイコンとファイル書き込みアイコンを追加していく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/b52b8657-54df-a037-6dfe-ea05f107291e.png)

CSV 出力がしたい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/58927b81-4561-d06e-1048-7e8c600200b8.png)

マッピングアイコンをダブルクリックでMapper 画面が別タブで開かれます。
右側が出力側（さっき配置したファイル書き込み処理）なので、右側のストリームで出力先の設定をしていく。
プロパティでストリーム型が選択可能。CSV を選択していく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/8fbf357e-4aa2-8de4-3b38-97adeb4498fd.png)

フィールド数は、2で設定しよう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/b5924145-f663-7e2c-3b70-6fcd11fc03bf.png)

ContactName とOrderPrice を出力しよう。
ドラッグアンドドロップでフローを設定できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/ade29d66-7dd2-1db9-f10c-922b7bb35479.png)


CSV 出力先の設定。
ダブルクリックで出力先、ファイル名を設定。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/ec46fa9e-caa6-2f36-2bb8-91406d7b022b.png)

この出力先どこ？ってなったけど、asteriahome5 > home > cdata  <- ココでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/bb50ef9a-1f4a-3ea4-c0da-0571438e6e61.png)


できた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/9f6a0f9f-91d1-dcdc-45d6-9fcbb813cbdf.png)


#実行
画面上で実行ボタンがあるので、早速やっていくぞ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/f7b3bb2a-6deb-d4d3-91f1-efe684d62e10.png)

ドキドキしながら実行ボタン押したら、フローの実行画面が出てきて、2段構えか！ってなった。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/b2a13009-d9f9-b525-f937-2e1542e4ed4a.png)

CSV できてる！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/4429ef76-ec91-24ea-5f8d-ea50e4ba80bd.png)
中身。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/c976e151-205c-f170-fb71-4db22965d544.png)

日時トリガーとか自動実行の処理は管理コンソール側で設定できます。
これで、Google スプレッドシートに書き込まれるデータを毎日自動でCSV 等好きな形で出力・連携することができますね！

#まとめ
認証が楽ちんだったりSQL が自動で作成できたり、連携処理を作成していて「助かる」ことが多い印象でした。
今回は単純に取得と出力だけでしたが、アイコンがたくさん用意されているので複雑な処理もできちゃいますね。マッピング画面も然り。

初めて触ってみたわけですが、これは勉強がたくさんできるぞ～！！
30日トライアルと、手ぶらでトライアル版もあるのでぜひ皆さんも体験してみてください。