他の方々がAWS LambdaやAzure Functionsで動かしていたので、穴場(?)のAlibaba CloudのFunction Computeでやってみました。
- daoka/nem-library_on_lambda: Sample for Using NEMLibrary on AWS lambda
- Azure Functionsを使ってサーバーレス環境でnem2-sdkによる定期送金をしてみる - Qiita
以下、ほとんどがFunction Compute画面での設定。
アップロードするファイルを用意
このソースを動かすこととします。
src/
に入って、npm install
でパッケージをインストールしておきます。
やっていることはただアカウントの残高を調べるだけですが、
これだけ動けば普通に使うことが出来るんじゃないでしょうか。
(トランザクションの発生は試してみないとな…)
以下Function Computeでの設定
任意の関数名をつけ、ランタイムはnodejs8
を選択して「次へ」を押下。
ここでファイルをアップロードしても良さそうでしたが、一旦作ることにしました。
サービスロールに「AliyunFCFullAccess」を選んで「次へ」を押下。
「フォルダーのアップロード」を選択して、「フォルダーの選択」をクリック。
ダイアログが表示されるので、src/
を選択してアップロードします。
「結果」の部分にcallback(null, data.amount.compact())
で返ってきたアカウントの残高が表示されました。
*
サーバレスのことをそんなに詳しくないですが、メモリを使う量が多いとそれだけ料金がかかるんですよね?
なので、処理をサーバレスへ寄せていくような場合はもっとフットプリントの少ないsdkのようなものがあるといいのかもしれません。
例えば、使いたいAPIだけピックアップして使うようにできるとか、RXを使わない、もっと軽量なnem-sdkだとか。
超ぼんやりとしたことしか言えませんが。