「Serverless Meetup Tokyo #4」に参加した話

2017/8/9 「Serverless Meetup Tokyo #4」に参加してきました。 serverless.connpass.com 4回目の開催ということですが、私は初めての参加になりました。 すんごい人気なので、#5も今の時点で満員状態のようです(補欠当選も十分あるので、興味があれば、溢…

【Cosmos DB】有効期限(TTL)で自動削除されるデータを作る

1 概要 Cosmos DBでは「有効期限付きデータ(ドキュメント)」というものを作ることができます。 ログ情報とかユーザーセッション情報とかのデータを ドンドコドンドコ 投入して、一定期間経過したデータは自動で削除するようなケースで利用可能です。 「よ…

<2017年8月版>Xamarin + Prism 超入門(とりあえず動かしてみよう!)

最近の本ブログへのトラフィックのうち、以前に書いた以下の記事へのものが未だに多いようです。 ryuichi111std.hatenablog.com ただし、上記記事では開発環境が Visual Studio 2015 であり、少し古いバージョンをベースとしています。 その為、[2017年8月版…

Azure FunctionsからCosmos DBに出力バインドする(2)~.csコンパイル編

1. はじめに 前回のエントリーに引き続きの投稿になります。 Azure Functions 出力バインドを利用し Cosmos DB にデータ出力を行います。 前回はAzureポータルのみでFunctionsの作成を行いました。 また、ソースコードの実装は .csx(C#スクリプト) をポー…

Azure FunctionsからCosmos DBに出力バインドする(1)~.csx編

Azure Functionsには、その実行に関して「トリガー」「バインド」という概念が存在します。 「トリガー」 ファンクションの実行のきっかけとなるもの。「1つのファンクション」に「1つのトリガー」が定義されます。 「バインド」 そのファンクションで処理す…

Azure Cosmos DB入門(8)

本コンテンツは「Azure Cosmos DB入門」の(8)です ryuichi111std.hatenablog.com 8 Cosmos DBをもっと知りたい 8.1 一貫性レベル(Consistency Level) CAP定理 多くの分散型NoSQLのアプローチ 8.1.1 Cosmos DBの提供する一貫性レベル(Consistency Level)…

Azure Cosmos DB入門(7)

本コンテンツは「Azure Cosmos DB入門」の(7)です ryuichi111std.hatenablog.com 7 Cosmos DBプログラミング ~ Table編 7.1 はじめに 7.1.1 Cosmos DB(Table) と Azure Table Storage 7.1.2 アクセス用クラスライブラリ 7.2 Cosmos DB(Table) 7.2.1 デー…

Azure Cosmos DB入門(6)

本コンテンツは「Azure Cosmos DB入門」の(6)です ryuichi111std.hatenablog.com 6 Cosmos DBプログラミング ~ Gremlin編 6.1 はじめに 6.1.1 グラフ データモデルとは 6.1.2 Gremlinとは 6.2 準備 6.2.1 Cosmos DB(Gremlin)データベースアカウントの作…

Azure SQL Databaseで、Elastic PoolにGEOレプリケーションする時にハマった話

はじめに Azure SQL Databaseは単独リージョンへの展開のみで 99.99% の可用性をSLAで保証しています。(SQL Database の SLA) とはいえ「2017年3月 のAzure障害祭り」のようなことが発生することも事実です。 (私個人としては、”Azure(やクラウド)批判…

Azure Cosmos DB入門(5)

本コンテンツは「Azure Cosmos DB入門」の(5)です ryuichi111std.hatenablog.com 5 Cosmos DBプログラミング ~ MongoDB編 5.1 はじめに 5.1.1 Cosmos DB(MongoDBデータモデル)とMongoDB 5.2 準備 5.2.1 Cosmos DB(MongoDB)データベースアカウントの作成…

Azure Cosmos DB入門(4)

本コンテンツは「Azure Cosmos DB入門」の(4)です。 ryuichi111std.hatenablog.com 4 Cosmos DBプログラミング ~ DocumentDB編(後編) 4.1 サーバーサイド(データベースサイド)ロジック 4.2 トランザクション 4.2.1 Cosmos DBでのトランザクション 4.…

Azure Cosmos DB入門(3)

本コンテンツは「Azure Cosmos DB入門」の(3)です ryuichi111std.hatenablog.com 3 Cosmos DBプログラミング ~ DocumentDB編(前編) 3.1 まず、はじめに 3.1.1 DocumentDBとSQL 3.1.2 REST API(DocumentDB API) と クラスライブラリ 3.2 準備 3.2.1 Cos…

Azure Cosmos DB入門(2)

本コンテンツは「Azure Cosmos DB入門」の(2)です。 ryuichi111std.hatenablog.com 2 Cosmos DBの主要概念 前回の「Azure CosmosDB入門(1)」では、Cosmos DBの「特徴」と「Hello Cosmos DB」と題した簡単なサンプルについて説明しました。 早く具体的な…

Azure Cosmos DB入門(1)

本コンテンツは「Azure Cosmos DB入門」の(1)です。 ryuichi111std.hatenablog.com 1 Cosmos DBとは Cosmos DBはAzureで提供されるデータベースサービスの1つです。データベースの種類としては、いわゆる「NoSQL」データベースとなります。 公式ドキュメ…

Azure Cosmos DB入門(目次)

「Azure Cosmos DB入門」目次 DocumentDB が Azure Cosmos DB としてリニューアルされたので、改めてこのサービスの全体像を整理したコンテンツ(ブログ)を「Cosmos DB入門」として書こうと思います。 目次は以下の通り。順次コンテンツを追加していく予定…

DocumentDBライブラリの「1クエリ」は「1HTTPリクエスト」ではない

豆知識的なメモ ブログです。 私自身、DocumentDBを学ぶ上で「あー、そうなんだぁ。ライブラリがいい意味でも、そうでない意味でも、面倒見てくれてるんだなぁ」と思った点について書いておきます。 ※本記事では「FeedOptions.MaxItemCount」と「DocumentDB…

DocumentDB でページング処理を行う

「データを一覧してページング表示する」という要件は エンプラ系でも コンシューマー系でも 常にある要件です。 ということで、DocumentDBでデータのページング取得を行う方法を書いておこうと思います。 1. 前提 DocumentDBアカウントには、既に以下のデー…

DocumentDB のインデックス設定によるRUの変動について

DocumentDBのインデックスについて調べてのでブログに記しておこうと思います。 DocumentDBではデフォルト設定でも結構いい感じに動くようにインデックス設定が行われているのですが、カスタマイズ可能であり、これを最適化するとRUや(インデックス用)デー…

DocumentDBの(マスター)キーとauthorizationトークンについて

最近 DocumentDB について調べたり、使ったりしております。 DocumentDB は (たしか)2015年にGAしたと思うのですが、GAから日が経っているのに、想像したよりもネット上のブログなどでの資料が少ない気がしています(特に日本語)。 一方 本家のドキュメン…

Computer Vision APIでランドマーク認識する

本日は天気が良く、最近にしては珍しく予定が何もなかったのでプチドライブにいってきました。 我が家のある夢の国を出発し、永代橋を渡り、銀座を通り抜け、東京タワーへ、そしてレインボーブリッジ(下の一般道)を渡って夢の国に舞い戻る・・・という。 …

Global Azure Bootcamp 2017@Tokyo に行ってきた

本日(2017/4/22)、Global Azure Bootcamp 2017@Tokyoに参加してきました。 Global Azure Bootcamp 2017@Tokyo - connpass ということで、ざっくり(長々?)個人的感想を垂れ流しておきます。 Azureって何よ2017年の最新情報をゆるまとめ JAZUG女子部の安…

DocumentDBのgeospatial機能で地理的検索(位置情報検索)を行う

結構以前からあったものだと思うのですが、Azure DocumentDBの「geospatial(地理空間検索)」機能を使ってみたいと思います。 緯度・経度情報をDocumentDBに保存しておき、以下のような操作を行うことが可能です。 2点間の距離の算出 1つの地理的領域が、…

Visual Studio for Mac から ASP.NET CoreアプリをAzureにパブリッシュ!

Visual Studio for MacでASP.NET CoreアプリをAzure App Service にパブリッシュしてみたいと思います。 では早速。(Visual Studio for MacのGUIとウィザードが自動出力するコードのみを使ったノンコーディング操作で行きます。) 1. プロジェクトの作成 Vi…

ASP.NET Core で URL Rewrite する

Webサーバーである「Apache」や「IIS」には URL Rewrite 機能が付いています。 同様にASP.NET Coreでも、アプリケーションレベルとしてのURL Rewrite機能が実装がされています。 ということで、簡単にご紹介を。 準備 Visual Studio 2017を起動し以下のプロ…

C#7のローカル関数(Local Function)とは何か

C#

C# 7には「ローカル関数(Local Function)」という機能が追加されました。 関数(メソッド)の中に関数を定義できるというものです。 以下は(処理的には何の意味も持ちませんが)ローカル関数を使った例です(リスト1)。 TestClass1クラスのTestMethod1()…

Azure FunctionsをVS2017でローカル実行&デバッグしてパブリッシュする

MSDNブログ(↓↓↓)で Azure Functions 関連の記事を見たので自分でやってみました。 blogs.msdn.microsoft.com 上記ブログに記述されている事、そして今回自分で試した事を要約すると以下の内容です。 Azure FunctionsをVisual Studio 2017で開発&デバッグ…

Azure VM 2台 を超簡単にLoad Balancer構成してみた

先日、Azureの障害祭りがあったということで・・・というわけではないですが(笑) 2台構成の Azure Virtual Machine(高可用性)を、「超簡単に」組むというのをやってみました。 また、今更どうこう言うまでもなく ResourceManager ベースになってから、Az…

C# 7 の Tuple は戻り値が複数の時に便利

2017/3/11、「Visual Studio 2017 リリース記念勉強会 & まどすた #2」に参加してきました。 1コマ目のセッションとして、岩永 信之(@ufcpp)さんの「C# 7」セッションを聞かせていただきました。 C# 7の新機能について非常に細かく説明していただきましたが…

VS2017よりもっと先取りしたい! ~ Visual Studio Preview

2017/3/7に Visual Studio 2017 がリリースされました。 多くの機能が盛り込まれ、そして改善されました。 私を含め皆さんも Visual Studio 2017 の新機能を試して、プロジェクトへの導入の検討をしていることでしょう。 しかし、ギーク達は更なる「おもちゃ…

Docker Support で ASP.NET Core アプリを作る - Visual Studio 2017

Visual Studio 2017がいよいよ正式リリースされました。 個人的感想としたは「超目玉!!!」な機能は、感じられていないのですが、個々の技術要素は非常に興味深く思っています。 昔に比べて、各情報は小出しにリリースされるので上記のような感想を持つ形…