deta.shに登録してみた@Windows (作業日:2022/09/25)

data.shを登録するきっかけからアプリ動作確認までを書く予定。
作業日に年月を書いたのはこの手の登録・構築系作業は時がたつと手順が変わっていることがあり、ググった時に正しい更新日時が表示されるわけでもないので明記することにした。
今後もこの手の記事には付けようと思う。忘れてなければ。

使おうと思ったキッカケ

色んな事情によりサクッとWebサービス作れる環境ないかなと前から思っていてよし作るかという気分が来た。
ちょっと前にHerokuに登録してみて使ってみようかなと思ったまましばらく時がたち……気づいたら無料枠終了のお知らせ。
ということで、代わりになるサービスを探していたら以下の二つを見つけた。

Herokuの無料枠が廃止になるのでDeta.shへ移行する - Qiita
https://qiita.com/namachan/items/b8c1ee89dc091d656d4f
Deta.shの無料枠が廃止になったらCyclic.shへ移行する - Qiita
https://qiita.com/relu/items/b60330ea3137f2f745c5

Cyclic.shの方が出来ることは多そうだったんだけれども、以下の理由からDeta.shにした

  • お試し的に使いたいだけだった
  • Cyclic.shは上位プランもあることからHerokuみたいになることもあり得ると感じた
  • 開発者向けでありエンタープライズ向けではないという点に惹かれた

まぁ、別サービスのマネタイズ失敗したわっていってサービス終了する可能性もあるんだけど無料だしその時はその時ということで。

構築作業

基本的には下記のページを参考に実施。
Getting Started | Deta Docs
https://docs.deta.sh/docs/micros/getting_started/

  • 登録は特に難しい手順はなかったので割愛。
iwr https://get.deta.dev/cli.ps1 -useb | iex
  • ログイン
deta login

このコマンドを実行するとブラウザで画面が開く。開いたブラウザでログイン済みだとそのまま認証される模様。恐らくログイン未済だとここでログインが求められると思われる。
Webシールドが有効だとダメな場合があるのでその手の拡張機能やブラウザ使ってる人は一時的に機能を切らないとダメかも。
私はエラーが出たのでそのページだけ一時的にオフにしたらイケた。

  • アプリの実行環境(DetaではMicroと呼ぶ)を作成
deta new --node deta-test

「--node」はnode.jsを使用の意味。現状だとnode.js14.*が使用される。
実行すると「Successfully created a new micro」というメッセージとJSONデータが出力される。
この時のJSONデータのendpointはアプリへのアクセスに使用される。
他には下記が指定できる。「--node」や「--python」を指定すると使用できる範囲の最新が使用され、「--runtime ~」でバージョン指定ができる。

Python: python3.7, python3.8, python3.9
Node: nodejs12, nodejs14
  • 依存関係のインストール

Microの作成でつけた名前のフォルダが作成されているのでそのフォルダに移動し、npmの初期化を行う。
この際、インストール済みのnpmが古いとバージョンアップを勧められる。とりあえず上げといた。

npm install -g npm
npm init -y
npm install express
  • デプロイ
deta deploy

Micro作成時に表示されたendpointにブラウザからアクセスすると無事Hello Worldのメッセージが表示されました。

あとはindex.jsを含めたプログラムを更新していけば開発できるはず。

その他

コマンドに困ったらヘルプ読めば大体想像つくよ!

deta -h

endpoint忘れたら詳細表示

deta details