AdventCalendar2021
GraphQLでAND条件検索
昨日の続き。
AND以外に、ORも同様のエラーでNGだった。 ANDやORを使わなければ想定通りのフィルタになるので、間違ってないと思うんだけど。
何度目かの詰み。
キャンセル処理入れる
エントリー処理ができるようになったので、同じようなノリでキャンセル処理も実装する。
同じノリなのになぜかエラーが出る、と思ったらエントリーの方もエラーが出ていた。
Variable 'id' has coerced Null value for NonNull type 'ID!'
eventIDとuserIDをキーに検索したいのに、idを指定しろと言われている。 getEventUserではなくlistEventUserにfilter指定したらいけそう。 API (GraphQL) - Fetch data - JavaScript - AWS Amplify Docs と思ったけどand指定したらなんかエラー。。
Read moreデータ構造再考
リレーション張ろうとするからややこしくなるのであって、IDだけ持たせればとりあえずやりたいことは実現できるのでは?
ここまでのまとめ
やったこと
- Amplifyのチュートリアル
- Codespacesでの開発
- VSCode+WSLでの開発
- VSCode+EC2での開発
- VSCode+RaspberryPi4での開発
わかったこと
- AmplifyはFirebaseみたいなもの
- Vueはわかりやすい
- データベースはGraphQLわからないとつらい
- クラウド環境でAmplify mockを使うのは難しい
- ラズパイ(32bit)ではAmplify mockを使えない
- Surface Go 2ではこのレベルの開発作業は厳しい
- クラウドに開発環境を移行するにはまだ壁がある
つぎにやること
- 強いPCが欲しい
- GraphQLを理解する
EC2で開発
Surface Go2 で厳しいので、EC2インスタンス立ててやってみる。 とりあえず無料枠のt2.microでAmazonLinux。
gitが入ってなかったのでインストール。
$ sudo yum update
$ sudo yum install git
$ git --version
git version 2.32.0
npmも入っていなかった。 チュートリアル: Amazon EC2 インスタンスでの Node.js のセットアップ - AWS SDK for JavaScript
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
$ . ~/.nvm/nvm.sh
$ nvm install node
$ npm -v
8.3.0
作ったソースダウンロードしてきてAmplifyのセットアップ。
Read moreRaspberry pi 4でやってみる
寝る前にEC2で試してダメで、起きたらラズパイがあること思い出したので、ラズパイでも試してみる。
久しぶりの起動だし、OSクリーンインストールからやったら結構時間かかる。こんなにかかったっけ。
毎日のようにAmplify設定やっているとだいぶ慣れてくる。 JavaはWSLのときのコマンドで入れる。
add-apt-repository コマンドが見つかりません
エラーが出たので、インストールする。
ユーザーテーブルにデータ登録する
イベントにエントリーするときにユーザーテーブルとイベントテーブルの関連付けするので、それぞれのテーブルにデータがないといけない。
イベントテーブルの作成と編集はできるようになっているので、ユーザーテーブルにデータ登録するところを作る。
サインインのタイミングで登録できれば良いのだけれど、とりあえずログイン時にテーブルチェックして、なければ登録するようにする。
Read more壊れたファイルを取り戻す
最初に試したチュートリアルもCodespaceでやってたのを思い出して、まだ残っていたのでaws-exporter.jsを持ってくることができた。
で、aws_appsync_graphqlEndpoint はAWSコンソールから確認できるだろう、と見に行ったら、バックエンドの設定をもってくるっぽいコマンドが。
Read more