> リージョンはすべて japaneast、操作は割り当て済みの単一リソースグループ内で行ってください。新しいリソースグループは作成できません。
このラボの作業はほぼ Azure CLI で進めます。画面右上の Cloud Shell(>_ アイコン)を開き、Bash を選択してください。初回はストレージのマウントを尋ねられる場合がありますが、本ラボでは「マウントなしで続行」を選んで構いません。
まず共通で使う変数を定義します。<リソースグループ名> は画面に表示されている割り当て済みの名前に置き換えてください。Storage アカウント名は世界で一意かつ小文字英数字のみのため、ランダム文字列を付けています。
RG="<リソースグループ名>"
LOC="japaneast"
RAND=$RANDOM
TOPIC="clouddo-topic-$RAND"
SA="clouddo${RAND}sa"
QUEUE="eventqueue"
echo "RG=$RG TOPIC=$TOPIC SA=$SA"
後半のシステムトピック(ステップ 5)では、サブスクリプションで Event Grid リソースプロバイダーが登録されている必要があります。未登録だと MissingRegistrationForResourceProvider(Microsoft.EventGrid not registered)で作成に失敗するため、ここで一度登録しておきます。すでに登録済みなら即座に完了します。
az provider register --namespace Microsoft.EventGrid
az provider show --namespace Microsoft.EventGrid --query "registrationState" -o tsv
Registered と表示されれば準備完了です。Registering のままなら数十秒後にもう一度 az provider show を実行して Registered を確認してから先へ進んでください。
ステップ 1: カスタムトピックを作成する
カスタムトピックは、自分のアプリケーションが任意のイベントを発行できる入口です。リージョンを japaneast に固定して作成します。
az eventgrid topic create \
--name "$TOPIC" \
--resource-group "$RG" \
--location "$LOC"
作成が終わったら、発行に必要なエンドポイントとアクセスキーを取り出して変数に入れます。
TOPIC_ENDPOINT=$(az eventgrid topic show --name "$TOPIC" -g "$RG" --query "endpoint" -o tsv)
TOPIC_KEY=$(az eventgrid topic key list --name "$TOPIC" -g "$RG" --query "key1" -o tsv)
echo "$TOPIC_ENDPOINT"
エンドポイント URL が表示されれば成功です。このキーは発行時の認証に使うため、外部に出さないよう扱います。