今回は、Google SpreadsheetのデータをS3に上げる方法について、記載していきます。主に、Google側が提供しているGoogle Apps Scripts(これ以降はGASと記載する)を使用して、S3に上げる方法を記載していきます。
概要

Google Spreadsheet上の帯から、スクリプトを実行する。
→ GASのスクリプトが実行されて、AWSのSTSに接続の認証を受け取りに行く。
→認証ができたら、指定のS3にデータをバイナリで送信する。
という流れになっている。
今回は、なるべく楽に構築したかったため、認証・S3アップロードをGASのみで行えるようにしている。(STS認証してるから、IAMでユーザーの作成は必要になるぞ!)
構築
IAMロールの作成
AWSのアカウントにログインして、IAMを開く。
IAM > Usersのページに移動して、Create Usersを押す。

ロールに適当な名前をつける。

Nextをおして、Permissions Options の項目をAttach policies directlyにする。
そして、必要な権限を付与。(今回は、S3だけで良さそう。実運用するなら、バケットの制限とかもする方がよい。)
Review and Createのページまで進んだら、Create Usersを押して、IAMユーザーの作成を完了させる。
表示される、アクセスキーとシークレットアクセスキーをしっかりと手元で保管する。
GAS側の実装
今回は、この人のブログに記載されていたOSSを参考に作成させていただいた。
「GASでS3にファイルをアップロードする」 @kijukyさん
https://qiita.com/kijuky/items/4ec852fbef5d3fad6a6a
この記事の中に紹介されていた、以下のリンクのブログの内容を使用しました。
https://engetc.com/projects/amazon-s3-api-binding-for-google-apps-script/
このプログで公開されているものは、GAS上のライブラリで使用することが可能になっています。

MB4837UymyETXyn8cv3fNXZc9ncYTrHL9
上記のスクリプトIDコードを、GASのライブラリの追加で入力することで、簡単に使用することができます。
もし、このOSSのコードを少し改変して使用したい部分があれば、以下のgithubのコードからコードをコピーして改変したい部分を改変することもできます。(OSS的には問題ないはず。。。)
https://github.com/eschultink/S3-for-Google-Apps-Script
自分の場合は、csvで連携したいものがApplication/jsonで配信されてしまっていたため、その部分のみ改変しました。(もしかしたら、機能はそもそもついていたかもしれないが、コードを見てもわからなかった。。。)

ちゃんと連携できている。
最後に
今回は、Google SpreadsheetのデータをGASを用いて、S3にアップロードするための方法を記述していきました。Google Spreadsheetのデータを、バイナリ形式にする方法などは説明していないが、一番手間がかかる部分の説明はすることができたと考えています。このコード(GAS)をもちいて、Spreadsheetの可能性をさらに広めていきましょう!
ということで、tokitoからのブログでした。
