【1 人アドベントカレンダー 2020】第 25 日目
だいぶアドベントカレンダーの趣旨からは外れてしまいますが、今年も 1 人アドベントカレンダー実施することにしました。
25 日まで毎日更新頑張ります!
qiita.com
今日の項目内容
Azure Event Hubs を使用してビッグ データ アプリケーションの信頼性の高いメッセージングの有効にする
- イベント ハブを経由してメッセージを送受信するアプリケーションを構成する
- 演習 - イベント ハブを経由してメッセージを送受信するアプリケーションを構成する
- Azure portal を使用してデプロイされたイベント ハブのパフォーマンスを評価する
- 演習 - Azure portal を使用してデプロイされたイベント ハブのパフォーマンスを評価する
学習内容まとめ
イベント ハブを経由してメッセージを送受信するアプリケーションを構成する
イベントハブにメッセージを 送信 できるようにアプリケーションを構成するために、アプリケーションによって接続の資格証明が作成されるよう以下の情報を指定する必要がある。
- イベントハブ名前空間の名前
- イベントハブ名
- 共有アクセスポリシー名
- プライマリ共有アクセスキー
次に、イベントハブにメッセージを 受信 できるようにアプリケーションを構成するために、以下の情報を指定する。
- イベントハブ名前空間の名前
- イベントハブ名
- 共有アクセスポリシー名
- プライマリ共有アクセスキー
- ストレージアカウント名
- ストレージアカウントの接続文字列
- ストレージアカウントコンテナーの名前
Azure Blob Storage 内にメッセージを格納する受信側アプリケーションがある場合は、ストレージアカウントも構成する必要がある。
演習 - イベント ハブを経由してメッセージを送受信するアプリケーションを構成する
サンドボックスを用いて演習を行う。
Azure portal を使用してデプロイされたイベント ハブのパフォーマンスを評価する
Azure portal から、メトリックを確認できる。
演習 - Azure portal を使用してデプロイされたイベント ハブのパフォーマンスを評価する
サンドボックスを用いて演習を行う。
本日の内容は以上です。
今日で 1 人アドベントカレンダー最終日でした。
途中ダレちゃったところもありましたが、25 日間見守っていてくれた皆様ありがとうございました。
25 日間毎日更新していたせいか、PV 数もいつも以上でした。
今回特に Twitter の投稿は OFF にしていたのにも関わらず毎日見に来てくれている方がいたのは、めちゃくちゃ励みになってました。
ありがとうございます!
多分来年もやるでしょうが、学ぶ系というよりは「25 日間で〇〇を作る」みたいなのに挑戦するのもありかもですねー(結局 1 人でやることに変わりなしw
ということで、恐らく今年の投稿はこれで最後です。
皆様、よいお年を~~~!
【1 人アドベントカレンダー 2020】第 24 日目
だいぶアドベントカレンダーの趣旨からは外れてしまいますが、今年も 1 人アドベントカレンダー実施することにしました。
25 日まで毎日更新頑張ります!
qiita.com
今日の項目内容
Azure Event Hubs を使用してビッグ データ アプリケーションの信頼性の高いメッセージングの有効にする
学習内容まとめ
Azure CLI を使用してイベント ハブを作成する
Azure Event Hubs はクラウドベースのイベント処理サービスであり、毎秒数百万のイベントを受け取って処理することができる。
Event Hubs はイベント パイプラインの入り口として機能し、受信データを受け取り、処理リソースが使用できるようになるまでこのデータを格納する。
Event Hubs にデータを送信するエンティティは、"パブリッシャー" と呼ばれ、Event Hubs からデータを読み取るエンティティは、"コンシューマー" または "サブスクライバー" と呼ばれる。
演習 - Azure CLI を使用してイベント ハブを作成する
サンドボックスを用いて演習を行う。
本日の内容は以上です。
【1 人アドベントカレンダー 2020】第 23 日目
だいぶアドベントカレンダーの趣旨からは外れてしまいますが、今年も 1 人アドベントカレンダー実施することにしました。
25 日まで毎日更新頑張ります!
qiita.com
今日の項目内容
アプリケーションと Azure Queue Storage の間で通信する
- プログラムでキューにアクセスする
- 演習 - メッセージをキューに追加する
- 演習 - キューからメッセージを取得する
学習内容まとめ
プログラムでキューにアクセスする
.NET 用 Azure Storage クライアントライブラリ には、やりとりをする必要がある各オブジェクトを表す型がある。
- CloudStorageAccount : 使用している Azure ストレージ アカウント
- CloudQueueClient : Azure Queue Storage を表す
- CloudQueue : 使用しているキューインスタンスの 1 つ
- CloudQueueMessage : メッセージを表す
演習 - メッセージをキューに追加する
サンドボックスを用いて演習を行う。
演習 - キューからメッセージを取得する
サンドボックスを用いて演習を行う。
本日の内容は以上です。
【1 人アドベントカレンダー 2020】第 22 日目
だいぶアドベントカレンダーの趣旨からは外れてしまいますが、今年も 1 人アドベントカレンダー実施することにしました。
25 日まで毎日更新頑張ります!
qiita.com
今日の項目内容
アプリケーションと Azure Queue Storage の間で通信する
- Azure ストレージ インフラストラクチャを作成する
- 演習 - ストレージ アカウントを作成する
- キューを識別する
- 演習 - キューを識別する
学習内容まとめ
Azure ストレージ インフラストラクチャを作成する
Azure Queue Storage とは、クラウドベースのキューを実装する Azure サービスのこと。
各キューにメッセージの一覧が保持されている。
アプリケーションコンポーネントは、REST API または Azure が提供するクライアントライブラリを使用してキューにアクセスする。
待機中のメッセージをキューに一時保存することで回復性が高くなる。
演習 - ストレージ アカウントを作成する
サンドボックスを用いて演習を行う。
キューを識別する
キューにアクセスするには
- ストレージアカウント名
- キュー名
- 承認トークン
の 3 つの情報が必要。
すべてのキューには、作成時に割り当てられるストレージアカウント内で一意の名前がある。ストレージアカウント名と異なり、グローバルに一意でなくともよい。
キューに対する全ての要求は承認される必要がある。
承認の種類 | 説明 |
---|---|
Azure Active Directory | ロールべ0スの認証を使用。 AAD の資格証明に基づいて複数のオプションがある |
共有キー | ストレージアカウントに関連づいた暗号化されたキー署名 |
共有アクセス署名(SAS) | ストレージアカウントでのオブジェクトに対する制限されたアクセスをクライアントに許可する生成された URI |
演習 - キューを識別する
サンドボックスを用いて演習を行う。
本日の内容は以上です。
【1 人アドベントカレンダー 2020】第 21 日目
だいぶアドベントカレンダーの趣旨からは外れてしまいますが、今年も 1 人アドベントカレンダー実施することにしました。
25 日まで毎日更新頑張ります!
qiita.com
今日の項目内容
Azure Service Bus を使用し、メッセージベースの通信ワークフローを実装する
- Service Bus キューを使用するコードを記述する
- 演習 - Service Bus キューを使用するコードを記述する
- Service Bus トピックを使用するコードを記述する
- 演習 - Service Bus トピックを使用するコードを記述する
学習内容まとめ
Service Bus キューを使用するコードを記述する
Service Bus を通してメッセージを送受信するコードを簡単に記述できるように、.NET クラスのライブラリが用意されている。
演習 - Service Bus キューを使用するコードを記述する
サンドボックスを用いて演習を行う。
Service Bus トピックを使用するコードを記述する
トピックに送信されたすべてのメッセージを、サブスクライブしているすべてのコンポーネントに配信する場合はトピックを使用する。
前回同様、Microsoft.Azure.ServiceBus NuGet パッケージを使用し、接続文字列を構成して、非同期プログラミングパターンを使用する。
演習 - Service Bus トピックを使用するコードを記述する
サンドボックスを用いて演習を行う。
本日の内容は以上です。
【1 人アドベントカレンダー 2020】第 20 日目
だいぶアドベントカレンダーの趣旨からは外れてしまいますが、今年も 1 人アドベントカレンダー実施することにしました。
25 日まで毎日更新頑張ります!
qiita.com
今日の項目内容
Azure Service Bus を使用し、メッセージベースの通信ワークフローを実装する
- メッセージング プラットフォームを選択する
- 演習 - Service Bus のトピックとキューを実装する
学習内容まとめ
メッセージング プラットフォームを選択する
Service Bus には、メッセージを交換する キュー・トピック・リレー という 3 つの方法がある。
キュー
メッセージ用のシンプルな一時保存場所のこと。
コンポーネントを送信することで、キューにメッセージが追加される。
トピック
複数のサブスクリプションを持つことができる。
複数の送信先コンポーネントは、1 つのトピックにサブスクライブできる。
そのため、各メッセージは複数の受信者に配信される。
リレー
アプリケーション間の同期双方向通信を実行するオブジェクトのこと。
キューやトピックと違い、一時的保存場所ではない。
ファイアウォールなどのネットワーク境界との間にバッファーなしの双方向の接続が提供されている。
演習 - Service Bus のトピックとキューを実装する
サンドボックスを用いて演習を行う。
本日の内容は以上です。
【1 人アドベントカレンダー 2020】第 19 日目
だいぶアドベントカレンダーの趣旨からは外れてしまいますが、今年も 1 人アドベントカレンダー実施することにしました。
25 日まで毎日更新頑張ります!
qiita.com
今日の項目内容
ご自分のサービスにゆるく接続するために Azure でメッセージング モデルを選ぶ
- Azure Event Grid を選択する
- Azure Event Hubs を選択する
学習内容まとめ
Azure Event Grid を選択する
Azure Event Grid とは、Azure Service Fabric を基盤として実行されるフルマネージドのイベントルーティングサービスのこと。
Azure Blob Storage アカウントや Azure Media Services などのさまざまなソースから Azure Functions や Webhook などのさまざまなハンドラーにイベントを配布する。
ほとんどの Azure サービスを発行者またはサブスクライバーとしてサポートしていて、サブスクライバーに接続する概念がいくつかある。
- イベント : 発生内容
- イベントソース : イベントの発生場所
- トピック : 発行者がイベントを送信するエンドポイント
- イベントサブスクリプション : イベントをルーティングするエンドポイントまたはメカニズム
- イベントハンドラー : イベントに反応するアプリまたはサービス
以下の図は、複数のイベントソースと複数のイベントハンドラーの間に配置された Azure Event Grid を示している。
Azure Event Hubs を選択する
Azure Event Hubs は、発行またはサブスクライブ通信パターンの仲介役のこと。
Event Grid とは異なり、高いスループット、多数の発行元、セキュリティ、回復性に対して最適化されている。
Event Hubs では、イベントストリームと他の Azure サービスの間のパイプライン設定がサポートされている。
以下の場合に、Event Hubs を選択することがある。
- 多数の発行元の認証をサポートする必要がある場合
- Data Lake または BLOB ストレージにイベントのストリームを保存する必要がある場合
- イベントストリームの集計または分析が必要な場合
- 信頼できるメッセージングまたは回復性が必要な場合
本日の内容は以上です。