演習 - Azure CLI を使用してイベント ハブを作成する
これで新しいイベント ハブを作成する準備が整いました。 Azure CLI のコマンドを使ってそれを作成した後、Azure portal を使って新しいハブを確認します。
Event Hubs 名前空間を作成します
右側の Azure Cloud Shell で Azure CLI と Bash を使って、Event Hubs 名前空間を作りましょう。
右側の [Azure Cloud Shell] ウィンドウで、メニュー バーの [設定] を選択し、[クラシック バージョンに移動] を選択します。 この Learn モジュールで使用される一部のコマンドは、クラシック モードでのみ機能します。
まず、再利用できる既定値を割り当てて、すべてのコマンドでこれらの値を入力する必要がないようにします。 具体的に、"リソース グループ" と "場所" を設定してみましょう。 Cloud Shell に次のコマンドを入力します。場所の値は自分に近いリージョンに変更してかまいません。
az configure --defaults group="<rgn>[sandbox resource group name]</rgn>" location=westus2
無料のサンドボックスを使用すると、Azure グローバル リージョンのサブセットにリソースを作成できます。 リソースを作成するときは、次のリストからリージョンを選択します。
- westus2
- southcentralus
- centralus
- eastus
- westeurope
- southeastasia
- japaneast
- brazilsouth
- australiasoutheast
- centralindia
ヒント
[コピー] ボタンを使用して、コマンドをクリップボードにコピーできます。 貼り付けるには、Cloud Shell ターミナル内で新しい行を右クリックして [貼り付け] を選択するか、Shift + Insert キーボード ショートカット (macOS では ⌘ + V) を使用します。
次の Azure CLI コマンドを実行して、Event Hubs 名前空間を作成します。その場合、これらのパラメーターを取ります。
パラメーター 説明 --name (必須) Event Hubs 名前空間の一意の名前。 名前は、長さが 6 文字から 50 文字、先頭は英字、末尾は英字か数字で、英字、数字、ハイフンのみが含まれている必要があります。 --resource-group (必須) このパラメーターは、前のコマンドで指定したサンドボックス リソース グループに既定で使用されるため、省略できます。 --location (省略可能) このパラメーターは、前のコマンドで指定した場所 (リージョン) に既定で使用されるため、省略できます。 --sku (省略可能) このパラメーターを省略した場合の既定値は Standard で、これが必要な値です。 SKU により、接続とコンシューマーのしきい値が決まります。 しかし、コマンドを実行する前に、名前空間の名前を環境変数として設定し、再利用できるようにしましょう。
NS_NAME=ehubns-$RANDOM
これで、このコマンドを実行すると、名前空間の名前は既に定義されており、CLI コマンドによってそれが作成されます。
az eventhubs namespace create --name $NS_NAME
Note
名前空間が作成されるまで、時間がかかる場合があります。 名前空間の名前は Azure によって確認され、その名前が既に存在するか、無効である場合は、CLI から無効な要求が返されます。 この場合は、Bash コマンドを再実行して環境変数を設定してから Azure CLI コマンドを再発行し、別の名前を試してみます。
次のコマンドを実行して、名前空間の接続文字列とプライマリ キーをフェッチします。
az eventhubs namespace authorization-rule keys list \ --name RootManageSharedAccessKey \ --namespace-name $NS_NAME
このコマンドからの出力は JSON 形式になっており、パブリッシャーとコンシューマーのアプリケーションを構成するために必要な詳細が含まれます。 後で使用するために次の値を保存します。
- primaryConnectionString
- primaryKey
イベント ハブの作成
それでは、イベント ハブを作成しましょう。
まず、Cloud Shell で次のコマンド実行し、環境変数としてイベント ハブ名を定義しましょう。
HUB_NAME=hubname-$RANDOM
次に、Azure CLI コマンドを実行して、イベント ハブを作成します。 このコマンドには次のパラメーターが必要です。
パラメーター 説明 --name (必須) イベント ハブの名前は、環境変数 $HUB_NAME です。 --resource-group (必須) リソース グループの所有者は、環境変数で既に定義されています。 --namespace-name (必須) Event Hubs 名前空間は、環境変数 $NS_NAME です。 az eventhubs eventhub create --name $HUB_NAME --namespace-name $NS_NAME
次の Azure CLI コマンドを実行して、イベント ハブの詳細を表示します。その場合、次のパラメーターが必要です。
パラメーター 説明 --resource-group (必須) リソース グループの所有者は、環境変数で既に定義されています。 --namespace-name (必須) 作成した名前空間。 --name (必須) イベント ハブの名前。 az eventhubs eventhub show --namespace-name $NS_NAME --name $HUB_NAME
Azure Portal でのイベント ハブの確認
次に、Azure portal でイベント ハブがどのように表示されるか見てみましょう。
サンドボックスのアクティブ化に使用したものと同じアカウントを使って、Azure portal にサインインします。
ポータルの上部にある検索バーに「Event Hubs」と入力して、Enter キーを押します。 サブスクリプションの [Event Hubs] ペインが表示されます。
Event Hubs 名前空間のリストで、自分の名前空間を探します。 環境変数 ehubns-RANDOM として名前空間を割り当てたので、ehubns-NNNNN を探します。 それを選択します。 Event Hubs 名前空間の [概要] ページが表示されます。
中央のメニュー ペインで、[エンティティ] の [Event Hubs] を選択します。 [Event Hubs] ペインに、名前空間内にあるイベント ハブのリストが表示されます。
自分のイベント ハブが一覧に表示され、その状態 ([アクティブ]) と、[メッセージの保持期間] および [パーティション数] の想定される既定値 (それぞれ、"7 日 (168 時間)" と 4) が示されます。
まとめ
新しいイベント ハブを作成し、パブリッシャーとコンシューマーのアプリケーションの構成に必要なすべての情報を準備しました。