Azure CLI を使用して Azure 通知ハブを作成する

Azure Notification Hubs は、任意のバックエンド (クラウドまたはオンプレミス) から任意のプラットフォーム (iOS、Android、Windows、Kindle、Baidu など) に通知を送信できる、使いやすく、かつスケールアウトされたプッシュ エンジンを提供します。 このサービスの詳細については、「Azure Notification Hubs とは」を参照してください。

このクイック スタートでは、Azure CLI を使用して通知ハブを作成します。 最初のセクションでは、Notification Hubs 名前空間を作成する手順について説明します。 2 つ目のセクションでは、既存の名前空間に通知ハブを作成する手順について説明します。 カスタム アクセス ポリシーを作成する方法についても学習します。

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

前提条件

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

  • CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

重要

Notification Hubs には、バージョン 2.0.67 以降の Azure CLI が必要です。 az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

リソース グループを作成する

Azure Notification Hubs は、すべての Azure リソースと同様に、リソース グループにデプロイする必要があります。 リソース グループを使用すると、関連する Azure リソースを整理して管理できます。 リソース グループの詳細については、「Azure Resource Manager とは」を参照してください。

このクイックスタートでは、次の az group create コマンドを使用して、spnhubrg という名前のリソース グループを eastus の場所に作成します。

az group create --name spnhubrg --location eastus

Notification Hubs の名前空間を作成する

  1. 対象の通知ハブ用の名前空間を作成します。

    名前空間には 1 つまたは複数のハブが含まれます。名前はすべての Azure サブスクリプションで一意であり、長さが 6 文字以上である必要があります。 名前の可用性を確認するには、az notification-hub namespace check-availability コマンドを使用します。

    az notification-hub namespace check-availability --name spnhubns
    

    可用性の要求に対する応答として、Azure CLI により次のコンソール出力が表示されます。

    {
    "id": "/subscriptions/yourSubscriptionID/providers/Microsoft.NotificationHubs/checkNamespaceAvailability",
    "isAvailable": true,
    "location": null,
    "name": "spnhubns",
    "properties": false,
    "sku": null,
    "tags": null,
    "type": "Microsoft.NotificationHubs/namespaces/checkNamespaceAvailability"
    }
    

    Azure CLI 応答の 2 行目の "isAvailable": true に注目してください。 名前空間に指定した目的の名前が使用できない場合、この行は false になります。 名前が使用できることを確認したら、az notification-hub namespace create コマンドを実行して名前空間を作成します。

    az notification-hub namespace create --resource-group spnhubrg --name spnhubns  --location eastus --sku Free
    

    az notification-hub namespace create コマンドに指定した --name が使用できない場合、または Azure リソースの命名規則と制限を満たさない場合、Azure CLI の応答では次のコンソール出力が表示されます。

    #the name is not available
    The specified name is not available. For more information visit https://aka.ms/eventhubsarmexceptions.
    
    #the name is invalid
    The specified service namespace is invalid.
    

    試した最初の名前が成功しない場合は、新しい名前空間に別の名前を選択して、az notification-hub namespace create コマンドを再度実行します。

    Note

    このステップ以降は、このクイックスタートからコピーした各 Azure CLI コマンドの --namespace パラメーターの値を置き換える必要があります。

  2. 名前空間の一覧を取得します。

    新しい名前空間の詳細を表示するには、az notification-hub namespace list コマンドを使用します。 サブスクリプションのすべての名前空間を表示する場合は、--resource-group パラメーターを省略できます。

    az notification-hub namespace list --resource-group spnhubrg
    

通知ハブを作成する

  1. 最初の通知ハブを作成します。

    新しい名前空間に 1 つまたは複数の通知ハブを作成できます。 az notification-hub create コマンドを実行して、通知ハブを作成します。

    az notification-hub create --resource-group spnhubrg --namespace-name spnhubns --name spfcmtutorial1nhub --location eastus
    
  2. 2 つ目の通知ハブを作成します。

    単一の名前空間に複数の通知ハブを作成することができます。 同じ名前空間に 2 つ目の通知ハブを作成するには、別のハブ名を使用して az notification-hub create コマンドをもう一度実行します。

    az notification-hub create --resource-group spnhubrg --namespace-name spnhubns --name mysecondnhub --location eastus 
    
  3. 通知ハブの一覧を取得します。

    Azure CLI で実行されたコマンドごとに成功またはエラー メッセージが返されますが、通知ハブの一覧を照会できると安心です。 az notification-hub list コマンドは、この目的のために設計されています。

    az notification-hub list --resource-group spnhubrg --namespace-name spnhubns --output table
    

アクセス ポリシーを操作する

  1. Azure Notification Hubs は、アクセス ポリシーを使用して Shared Access Signature セキュリティを使用します。 通知ハブを作成すると、2 つのポリシーが自動的に作成されます。 プッシュ通知を構成するには、これらのポリシーの接続文字列が必要です。 az notification-hub authorization-rule list を実行すると、ポリシー名とそれぞれのリソース グループの一覧が返されます。

    az notification-hub authorization-rule list --resource-group spnhubrg --namespace-name spnhubns --notification-hub-name spfcmtutorial1nhub --output table
    

    重要

    アプリケーションで DefaultFullSharedAccessSignature ポリシーを使用しないでください。 このポリシーの使用が意図されているのはバックエンドだけです。 クライアント アプリケーションでは Listen アクセス ポリシーのみを使用してください。

  2. 意味のある名前を持つ追加の承認規則を作成する場合は、az notification-hub authorization-rule create コマンドを使用して、独自のアクセス ポリシーを作成およびカスタマイズできます。 --rights パラメーターは、割り当てたいアクセス許可のスペース区切りの一覧です。

    az notification-hub authorization-rule create --resource-group spnhubrg --namespace-name spnhubns --notification-hub-name spfcmtutorial1nhub --name spnhub1key --rights Listen Manage Send
    
  3. アクセス ポリシーごとに、キーと接続文字列の 2 つのセットがあります。 これらは、後で通知ハブを構成するために必要になります。 Notification Hubs アクセス ポリシーのキーと接続文字列を一覧表示するには、az notification-hub authorization-rule コマンドを使用します。

    # query the keys and connection strings for DefaultListenSharedAccessSignature
    az notification-hub authorization-rule list-keys --resource-group spnhubrg --namespace-name spnhubns --notification-hub-name spfcmtutorial1nhub --name DefaultListenSharedAccessSignature --output table
    
    # query the keys and connection strings for a custom policy
    az notification-hub authorization-rule list-keys --resource-group spnhubrg --namespace-name spnhubns --notification-hub-name spfcmtutorial1nhub --name spnhub1key --output table
    

    注意

    Notification Hubs 名前空間通知ハブには、別個のアクセス ポリシーがあります。 キーと接続文字列に対してクエリを実行する場合は、正しい Azure CLI 参照を使用していることを確認してください。

リソースをクリーンアップする

必要がなくなったら、az group delete コマンドを使用して、リソース グループとすべての関連リソースを削除します。

az group delete --name spnhubrg

次のステップ