2021年6月第3週レポート
インプット
📝 GraphQLを調べ始めた
先週までCosmosDBやデータモデリング周りを調べていました。ここまででAzure Functionsを使ってとあるデータを吸い上げて格納する、というデモを作ったので、今度は貯めたデータを取り出すAPIのデモを作ろうとしています。今やっていることは技術調査と習得が一番の目的なので、自分が触ったことがないものをどんどん取り込む方針で動いています。なのでAPIのインタフェースはRESTではなく、これまで使ったことがないGraphQLを使うことにしました。
まず最初に読んだ記事はこちら。
なんとなーくふんいきをはあく。要は必要十分なデータを取得するためのクエリインタフェースってかんじかな?利用者側で必要ないデータは取得しない済むし、しかも1回のリクエストで完結させることができるよ、ということですかね。
あと、あくまでもGraphQLはサーバ-クライアント間のインタフェースがターゲットなので、DB接続まわりのパフォーマンスについては考慮しないよ、ってのはそりゃそうだって感じですね。まだ、使う側の視点でしか理解できていないのですが、GraphQLのクエリの自由度が高そうなので、それを考慮した上でのDB側のデータモデリングやテーブル設計が重要になってきそうという感想を得ました。
もう少し実装よりのはなしも把握しておきたいので、今は以下のドキュメントを追っています。
こちらの書籍のGitHubリポジトリですね。
まだ読み始めたばかりですが、サーバサイドはNode.js、フロントはReactを使ったハンズオン形式の内容っぽいので自分にとって都合が良さそうです。
よりリッチなコンテンツが欲しい場合はこちらを見るのがよさそう(React版は買った)
アウトプット
🛠️ PromiseベースのTable Storage SDKについて記事を書いた
We are excited to introduce new #Azure #Data Table Libraries! Check out this blog to learn how to get started using the new libraries. https://t.co/XUcu5TEaYh
— Azure SDK (@AzureSDK) June 16, 2021
先日Azure Table Storageの新しいSDKがリリースされたようなので、JavaScript版SDKの使い方をざっくりまとめました。旧来のSDKはコールバックベースの実装になっていたので、promisifyなどで頑張ってPromise化したりしていたのですが、もうそういった煩わしさから解放されます。インタフェースも見直しが入っており、だいぶ抽象化され直感的に扱いやすくなった気がします。自分が関わっているプロダクトでもAzure Table Storageはよく使っているのでどんどん置き換えていきたい所存。