2024.12.10
“放置系”なのにサイバー攻撃を監視・検知、「統合ログ管理ツール」とは 最先端のログ管理体制を実現する方法
VSCode拡張機能で始めるAzure Cosmos DB(全1記事)
リンクをコピー
記事をブックマーク
まっぴぃ氏:「Visual Studio Code拡張機能で始めるCosmos DB」ということでLTします。よろしくお願いします。
まず始めに、今日お話しする内容は今日4月7日時点の情報になっています。私が確認できている内容に基づいてはいますが、資料に誤植とか誤りとかがあるかもしれないので、そのときはご了承ください。これはいつものやつなんですけど、資料に記載されている内容は私が所属する組織を代表するものではないので、そちらの点もご了承ください。
自己紹介です。ハンドルネームまっぴぃでやっています。今日はちょっと会社名は出せませんが、日本人の99パーセントが知っていると言われている青いRの会社の中の人で、基本的に情シスをやっております。
コミュニティはJSSUGという、SQL ServerのユーザーコミュニティとかでSQL ServerとかAzureとか、あとは最近だとSynapse Analyticsとかいろいろ出ているところあたりのコミュニティの中の人をやっていたりします。
私はPerfumeが大好きで、今日のこの後ろのバーチャル背景もPerfumeなんですけど、TwitterでもPerfumeのツイートをたまにしています。ふだんはMicrosoftの製品で、基本的にSQL ServerとかSharePointとか、最近はAzureのWeb Appsとかいろいろ触っていまして、そちらをメインにお仕事しています。
Twitter、よかったらフォローしてください。
今日のアジェンダです。まず「はじめに」ついてと、実際に今日の本題であるAzure Cosmos DBの拡張機能についてと、あとは私が最近実際に使ってみて感じたことがあるのでそちらの紹介ができればなと思っています。
はじめに、拡張機能の話を始める前に、なぜ私がこのCosmos DBの拡張機能の話をしようかと思ったかなんですが、その理由はですね……しまったな。このスライドの猫かわいいですよね、すみません。
無償枠が新しく出たからです。先月、米国時間で2020年の3月6日に、こちらでアップデートがありましてAzure Cosmos DBの無償枠というのが新しく出ました。
400RUと書いてあるのがリクエストユニットと言うんですけど、これについては後ほど紹介します。
あとは容量は5ギガバイトまでの利用が毎月無料になりました。これまでは時間制限で無料のCosmos DBの環境だったり、エミュレータを使っていたりして、実際にAzureに環境を作るとけっこうお金が掛かってったんですけど、この無償枠が出たおかげでかなりCosmos DBの開発がやりやすくなりました。
Cosmos DBの環境構築とかについては、この間ちょうどQiitaに記事を書いたのでこちらの記事を見ていただければなと思います。ちょっと目次ページを作っていないので恐縮なんですけど、環境構築とか実際にNode.jsのCRUD Webアプリケーションを作る記事とか、あとは実際のNode.jsのクライアントの中身をちょっと見たりとか、記事を書いているので興味がある方は見てみてください。
Cosmos DBについてですが、Microsoftが提供するNoSQL、DocumentDBと呼ばれているものでして、グローバルに展開が可能になっています。レプリケートが可能になっています。
先ほどのリクエストユニットなんですけど、1秒間あたりの要求ユニットが定義されていて、こちらのRUとストレージ容量の2つの枠で課金がされます。なので他の、例えばAzureのリソースみたいに稼働している間はずっとコンピューティング料金が掛かるものとは、ちょっと課金の体系が違うものになっています
Cosmos DBのAPIについても、Coreと呼ばれるSQLベースでアクセスできるDocumentDBから、CassandraとかAzure TableとかGremlinというグラフデータベースなどの、いろいろAPIが提供されています。
Cosmos DBの拡張機能では、実際にいろいろできます。簡単にデータベースを作成したり、コレクションと呼ばれるテーブルに近いものを作成したり、またデータのCRUDをやったりとか、その他いろいろできます。
これはデータベースとかコレクションを作成しているところなんですけど、Azureの拡張機能を入れるとCosmos DBの欄ができて、そこを右クリックするとこんなかたちで作る画面が出てきます。
あとはDocumentDBの場合は、ドキュメントの新規作成とか参照とか更新とか削除というのもGUIでできるようになっています。
MongoDBについてはクエリが打てます。これはGIF画像で載せていますが、MongoDBを使ったことがある人であれば何のことはないんですけど、こんなかたちでIntelligenceも出てきてexecuteすると右側にデータが出てきます。
実際に拡張機能のGitHubのリポジトリに行くと同じGIF動画が上がっているので、そこの動画から取ってきています。
あとはグラフデータベースのGremlinですが、こちらも普通に使うことができます。VS Codeがテキストエディタと思っていた私としては意外すぎるけど、こんな感じでグラフデータベースの画像も出てきます。
こんなふうにできるというのと、こちらはAzure Cosmos DB Emulatorという先ほどチラッと話したんですけど、エミュレータにもつなげます。エミュレータはWindowsやWindowsコンテナ上で動くので、使うにはWindowsがいるんですけど、VS Codeの拡張機能からエミュレータに接続して先ほどと同じような使い方もできます。
ここまでが拡張機能の紹介になります。実際に私はこれでQiitaの記事を書いたり、いろいろ開発をやっているんですけど、その感じたところ。便利なところもあれば改善してほしいなと思うところもあったので、そちらを紹介したいと思います。
便利なところの1個目は、開発のハブになるのは本当にいいところだなと思っています。最近オンラインとかでテレビ会議がよくあると思いますが、私はTeamsを使っています。Teamsの中でいろいろサイトを見たりいろいろなことができるよというので、けっこうMicrosoftさんはTeamsをハブとしていろいろやろうとしているようですけど、VS Codeも同じ感じで開発のハブにできるなと感じています。
先ほどお見せした通り、拡張機能を使えばCosmos DBにつないでDBの中でどんな値があるかを見たりできますし、右側でコードを書いたりも普通にできるのがいいなと思っています。
2点目は、JSONインポートの機能が提供されていて、JSONを予め作っておいてそれをDBにチョンッと突っ込むというやり方ができるんですね。これがすぐに一括でインポートできるので、本当にNoSQL的に僕は楽だなと思っている機能です。
ただちょっと残念なところがあって、コアと呼ばれるSQLベースでDocumentDBを触れるのがAzure Cosmos DBのCoreなんですけど、ちょっとクエリは打てないですね。実際に今出しているのはAzureのData Explorerで、ここだとクエリは打てるんですけど、まだVS Code上だとクエリが打てないので、少しつらいなというところがあったりします。
あとDBは、拡張機能上1,000リクエストユニットからしか作れないという制限があります。無償枠が先ほどお話した通り、400リクエストユニットからという設定が必要なので、1,000だと拡張機能で作ると無償の対象外になってしまうんですね。
GitHubのissuesにも「400から作ってよ」みたいなissueが上がっているんですけど、これが受け入れられてないようで、ちょっと改善してほしいなと思っていたので、すごい雑だったんですけど今週プルリクを1個上げてみました。かなり雑なので、たぶん却下されるような気がするんですけど、こんな感じで拡張機能がちょっと不便だなと思ったら、普通にプルリクを上げれるのもいいところかなと思っています。
まとめです。Cosmos DBの関連の開発がVS Codeでかなり便利になりました。拡張機能はすごくいいですねということです。SQLのCoreだったりMongoDB、Gremlinとか拡張機能が1個で全然対応していて、不便な点があればPRできるというのがAzure Cosmos DBの拡張機能のいいところかなと思います。
以上です。ありがとうございました。
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
2024.12.09
10点満点中7点の部下に言うべきこと 部下を育成できない上司の特徴トップ5
2024.12.09
国内の有名ホテルでは、マグロ丼がなんと1杯「24,000円」 「良いものをより安く」を追いすぎた日本にとって値上げが重要な理由
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.12.10
職場であえて「不機嫌」を出したほうがいいタイプ NOと言えない人のための人間関係をラクにするヒント
2024.12.12
今までとこれからで、エンジニアに求められる「スキル」の違い AI時代のエンジニアの未来と生存戦略のカギとは
PR | 2024.11.26
なぜ電話営業はなくならない?その要因は「属人化」 通話内容をデータ化するZoomのクラウドサービス活用術
PR | 2024.11.22
「闇雲なAI導入」から脱却せよ Zoom・パーソル・THE GUILD幹部が語る、従業員と顧客体験を高めるAI戦略の要諦
2024.12.11
大企業への転職前に感じた、「なんか違うかも」の違和感の正体 「親が喜ぶ」「モテそう」ではない、自分の判断基準を持つカギ