BEACHSIDE BLOG

Azure と GitHub と C# が好きなエンジニアの個人メモ ( ・ㅂ・)و ̑̑

CosmosDB

Cosmos DB Change Feed の Azure Functions (C#) 実装入門 2023 年編 (Function App / Cosmos DB Trriger)

2022年の後半に Microsoft.Azure.WebJobs.Extensions.CosmosDB の v4 が GA して実装方法も改良されたので、ここで改めて Cosmos DB の Change Feed の開発方法 ≒ Cosmos DB Trigger の Function App の実装の基礎や Tips を書いていきます。 なお、Change F…

Cosmos DB の Bulk Executor を使った一括インポート

概要: learn.microsoft.com チュートリアル: learn.microsoft.com ざっくりまとめ: サポートしてる API は、Azure Cosmos DB SQL API と Gremlin API 一括インポート API と一括更新 API SDK v2 だと外部 SDK が必要だが、SDK v3 ではサポートされているので…

Cosmos DB で RBAC を構成して接続文字列の管理を不要にする ( Azure, PowerShell )

2月ごろに Azure Cosmos DBの RBAC のアナウンスされて気になってたけど放置してたのをついに書く時がきました(←気まぐれですが)。実装に関することはいつも通り C# の話になります。 書いてたら思った以上に長くなってしまいました... Cosmos DB の RBAC …

Cosmos DB の 整合性レベル ( Consistency levels ) を改めて整理してみた

Cosmos DB の整合性レベルは、個人的にはいつもはあまり意識せずに Session を使ってます (意識する必要のない使い方や設計をしているって言った方が妥当か..)。 ただ、Document DB が出た時からもう4-5年使ってるのに、整合性レベルの日本語表記の英語の表…

Cosmos DB の Change Feed 機能と使い方 ( Azure )

Azure Cosmos DB の Change Feed は、データの変更を検知してイベントを発火できる超便利な機能です。Azure Functions の Cosmos DB Trigger を使うことで超簡単に利用できます。 個人的には近年 RDB はほぼ使ってなくて Cosmos DB ばっか使ってるわりに Cha…

Azure Cosmos DB の一意キー制約(Unique Key Constraints)

Cosmos DB の一意キー制約(Unique Key Constraints)について、実装方法やエラー時の挙動を調べたメモです。 いきなり余談ですが、 一昔前に Cosmos DB で Collection と呼ばれていたものは、Azure の Portal だとまだ "Collection" と表現されていますが、…

Azure Cosmos DB Emulator を使ってみた(2019年2月編)

ローカル環境だけで開発が進めれるよう Azure Cosmos DB Emulator があります。 接続文字列は固定なので、ASP.NET Core で使うなら appsettings.Development.json とかに直接接続文字列書いたりも許容範囲化と思いますし、便利に使えそうだと思っています。 …

Azure Functions の バインディング - Binder 編

Azure Functions では、関数の出力するデータをBlob や Queue に投げる処理を簡単にプログラムで書くことができます。 実装方法として、 宣言型のバインディング( declarative binding ) 命令型のバインディング( imperative binding ) があります。 今…

Bot Framework で State を CosmosDB ( DocumenDB ) に保存する - C#

Bot Framework の State を CosmosDB に保存する方法のメモです。 前回、State を 安価な Table Storage に保存しましたが、多少使いにくかったり遅かったりします。その対極(?)、高価で使いやすくて速い CosmosDB のターンです。 (個人的感覚です) 今…

DocumentDB - リソーストークンを使ったアクセス - 2/2 ( Access to DocumentDB with resource tokens )

前回から引き続きで、以下のイメージを実装したものを動かしてみるところからです。(図はこちらから引用)。 結局のところ、今回書いた認証サーバーの役割をするAzure Functionsの実装と、最後に載せてるクライアント側を想定したコンソールアプリクラスが…

DocumentDB - リソーストークンを使ったアクセス 1/2 ( Access to DocumentDB with resource tokens )

Xamarinで作ったモバイルアプリなどのクライアントから直接 (みんな大好き) DocumentDB にアクセスしたいシナリオがあった場合、 (例えば、 How To Build Planet Scale Mobile App in Minutes with Xamarin and DocumentDB | Azure Blog and Updates | Mi…

Azure DocumentDB のEmulatorを使って Quick Start

AzureのNoSQLサービス DocumentDB を、ローカル環境エミュレーターが2016-11月に発表されました。ブログは見てましたが全く試していなかったので、Quick Start用のサンプルコードを使って動かしてみます。 azure.microsoft.com 今回は、.NET Coreのサンプル…

Azure DocumentDB のSQLクエリ基礎

Microsoft Azure Advent Calendar 2015 6日目です。 DocumentDB の SQLクエリ について入門的なことを書きます。Azure Cosmos DB Query Playgroundで試すこともできますし、Azure の新しい方のポータルで、アカウントを作って試すことができます。 (ポータ…

Azure DocumentDB の開発ことはじめ - Client クラスの開発(2/2)

さて、前回Azure DocumentDB の開発ことはじめ - Client クラスの開発(1/2) - BEACHSIDE BLOGの続きです。 > Environment Visual Studio 2015 Update1(RC)で、コンソールアプリ .NET Framework4.5.2 Nugetの Microsoft.Azure.DocumentDB (1.5.0) Nugetの M…

Azure DocumentDB の開発ことはじめ - Client クラスの開発(1/2)

Azure DocumentDb に接続する Client を開発するのに、 Microsoft.Azure.Documents.Client名前空間の DocumentClient クラスでは、以前のブログAzure DocumentDB を使うときに知っておきたいいくつかのこと - BEACHSIDE BLOG でちょっと触れた「 Request rat…

Azure DocumentDB を使うときに知っておきたいいくつかのこと

AzureのDocumentDBを利用したときに色々と痛い目にあったので、メモしておきます。 アップデートも早いのでそのうち解消されてることや変わってることも多いと思いますが... > Environment 今回の開発環境はこんな感じです。 Visual Studio 2015 (Enterprise…