9日目のエントリーです静的ファイルと私マイクロダイエットでハードダイエット中のa2cです、GoogleDeveloperExpert(Apps)を担当しています。GAS(GoogleAppsScirpt)を使えば、公開Webサーバが作れるのでスプレッドシート上の情報を元にJSON返したり、HTML返したり結構自由な公開ライフが送れたりします。遅い!大量アクセスさばけない(なさそう)のです。そのまま使える素敵な管理画面が出来ます。言え、GASには標準でGCSサービスが使えない為、利用するには若干敷居が高いです。本エントリーでは、スプレッドシートの行列をJSONとして吐き出す基本的な方法を説明します。最初にまとめ結構長くなってしまったので、このエントリーを読むとどうなるのか?何が嬉しいのか?Webアプリにありがちなちょっとした設定用のJSONファイル、公開されてたり、内部のサーバで利用されていたりするヤーツ。そんなファイル有りますよね?エンジニアで完結して生成できるなら、srcに入れたり自動生成したり出来ますが、コンテンツ絡んだりすると運用チームが設定内容をいじれるようにしなくてはいけません。JSON公開するだけなのに、CMSに仕組み作ったりバリデーション作ったりDBいじったり、カロリー高杉!!みたいな状態になったりしてちょっとした不幸&珍事です。本エントリーで紹介する、GoogleAppsとGCSを使うだけで、非公開のJSONから超大量トラフィックに耐えるJSON配信サーバがいとも簡単に作成できます。設定はスプレッドシートから行えるため誰が何時何に変更したのかの履歴閲覧やリストアも簡単にできるようになります。ソースはJSだけという手軽さ、まずコレから運用開始してみて、重要度が増してきてから、オレオレCMSに移行しても遅くはないかもしれません。いうのが少しでも伝わればと思います。本スクリプトの元はすでに某サービスに導入されており、ENG組からはコミットの手間が省け、運用組は誰に依頼することもなく自分のタイミングで更新でき、みんなハッピーになりました。https://cloud.google.com/storage/pricing?hl=ja#storage-pricing詳細は公式ページ見てください。S3と似たようなもんです。違うと感じるところは、アクセスが高頻度なオブジェクトは、自動的にGoogleさんのキャッシュに乗っていい感じに高速化されるので、なんとかクラウドフロントのようなCDNの設定が一切不要で利用可能なところです。パージ出来ないとか任意に載せられないとか有りますが、ただ配信するだけであれば、メリットのほうが多いと思います。このストレージに対して、GoogleAppsから簡単にファイルをDeploy出来るようになれば、Appsだけでは実現不可能な大量アクセスをさばけるようになります。それだけでなく、サーバーを一切立てること無く時限実行したり、各種Appsリソースに沿った情報出力や、管理画面を作成することも可能になります。GCP+Apps便利ですね。GogoleAppsでやることから始めますでは、GCSに出力する元ファイルを作成しましょう。今回は、スプレッドシートから、GCSにJSONを吐き出すようにしてみます。やることリストスプレッドシートの作成Configシート追加プロパティー設定Scriptソースコード追加ライブラリの登録スプレッドシートの作成Appsで新規スプレッドシートを作成する。シートを追加作成するStep2のシート内にバケット名と公開Pathの設定をするバケット名は、現時点では不明。B3)Configセルに対して、名前付き範囲を設定する。Bucket名セルとファイルPathセルにKeyNameを設定する。これで、GASからスプレッドシートにアクセスする準備が整いました。新規スクリプトを作成する。