なるべく薄く、シンプルな構成に a. AppSync はバックエンドのフィルタリングツールなんだ、と刷り込む b. パイプラインリゾルバーで色々やりたい!と思った時は危険 3. ログと仲良くなろう a. まずは、ログの種類を知るところから b. X-Ray を有効化しよう c. ログに対してクエリを書けるようになろう
https://docs.amplify.aws/cli/usage/mock/#function-mocking-with-graphql ii. https://github.com/bboure/serverless-appsync-simulator 2. 共有の開発環境を使うしかなければ、インフラをコード化しておこう a. 一部の関数を開発環境にデプロイして動作確認した後に、すぐに戻せるようにしておく b. これだけで動作確認の気楽さがかなり増す。(破壊的な処理を入れる時は注意がいるが...)
b. RESTなどのレスポンスをよしなにサーバーサイドでフィルタリングしているんだ、 くらいの認識でいた方がAPIをシンプルに保てる。 c. GraphQL か REST かではなく、GraphQL と REST で考える。 i. 相互補完はできる。あとは状況に応じて、利用割合を調整するだけ 2. パイプラインリゾルバーで色々やりたい!と思った時は危険。 a. パイプラインリゾルバーは、直列処理。 i. 時間のかかる処理が一つでもあると、全体のパフォーマンスが落ちる b. 途中で失敗した時のリカバリを考えるのが大変 i. Transaction をうまく活用したりする必要が出てくる
なるべく薄く、シンプルな構成に a. AppSync はバックエンドのフィルタリングツールなんだ、と刷り込む b. パイプラインリゾルバーで色々やりたい!と思った時は危険 3. ログと仲良くなろう a. まずは、ログの種類を知るところから b. X-Ray を有効化しよう c. ログにクエリをかけるようになっておく