Azure Event Hubs 接続文字列を取得する

名前空間内のイベント ハブと通信を行うには、名前空間またはイベント ハブの接続文字列が必要となります。 アプリケーションから名前空間への接続文字列を使うと、アプリケーションは名前空間内のすべてのイベントハブに対して提供されたアクセス権(管理、読み取り、書き込み)を持ちます。 イベントハブへの接続文字列を使うと、その特定のイベントハブへのアクセス権が与えられます。

名前空間の接続文字列には以下のコンポーネントが埋め込まれています:

  • 作成した Event Hubs 名前空間の完全修飾ドメイン名 (Event Hubs 名前空間の名前に続けて servicebus.windows.net が含まれます)
  • 共有アクセス キーの名前
  • 共有アクセス キーの値

実際の名前空間の接続文字列の例を次に示します。

Endpoint=sb://<NamespaceName>.servicebus.windows.net/;SharedAccessKeyName=<KeyName>;SharedAccessKey=<KeyValue>

イベントハブの接続文字列には、もう一つEntityPath=<EventHubName>要素があります。

Endpoint=sb://<NamespaceName>.servicebus.windows.net/;SharedAccessKeyName=<KeyName>;SharedAccessKey=<KeyValue>;EntityPath=<EventHubName>

この記事では、Azure portal、PowerShell、CLI を使用して、名前空間の接続文字列または特定のイベント ハブの接続文字列を取得する方法について説明します。

前提条件

Azure portal

名前空間の接続文字列

  1. Azure portal にサインインする

  2. ポータル上部の検索ボックスで 「Event Hubs」と入力し、結果から 「Event Hubs 」を選択します。

  3. Event Hubsの名前空間リストから、名前空間を選択します。

  4. Event Hubsのネームスペースページで、設定の左側メニューから共有アクセスポリシーを選択してください。

  5. ポリシー一覧から共有アクセスポリシーを選択します。 デフォルトのポリシーは RootManageSharedAccessKeyと名付けられています。 適切な権限(送信リスニング)を持つポリシーを追加し、そのポリシーを使うこともできます。

  6. [接続文字列 - 主キー] フィールドの隣にあるコピー ボタンを選択します。

    Event Hubs のスクリーンショット - 接続文字列を取得します。

名前空間内の特定のイベント ハブの接続文字列

このセクションでは、名前空間内の特定のイベント ハブの接続文字列を取得する手順について説明します。

  1. Event Hubsのネームスペースページで、左側メニューのエンティティからEvent Hubsを選択し、その後イベントハブを選択します。

  2. [Event Hubs のインスタンス] ページで、左側のメニューの [設定][共有アクセス ポリシー] を選択します。

  3. イベント ハブに対して作成される既定のポリシーはありません。 [管理][送信]、または [リッスン] のアクセス権を含んだポリシーを作成します。

  4. 一覧からポリシーを選択します。

  5. [接続文字列 - 主キー] フィールドの隣にあるコピー ボタンを選択します。

    特定のイベント ハブへの接続文字列のスクリーンショット。

Azure PowerShell

Get-AzEventHubKey コマンドレットを使って、特定のポリシーやルールの接続文字列を取得してください。

以下の例は名前空間の接続文字列を取得します。 MyAuthRuleName は、共有アクセス ポリシーの名前です。 名前空間の場合、デフォルトのポリシーは RootManageSharedAccessKeyです。

Get-AzEventHubKey -ResourceGroupName MyResourceGroupName -NamespaceName MyNamespaceName -AuthorizationRuleName MyAuthRuleName

以下の例は、名前空間内の特定のイベントハブの接続文字列を取得しています:

Get-AzEventHubKey -ResourceGroupName MyResourceGroupName -NamespaceName MyNamespaceName -EventHubName MyEventHubName -AuthorizationRuleName MyAuthRuleName

次の例では、Geo-DR 構成の一部である名前空間の接続文字列を、そのエイリアスを使用して取得します。

Get-AzEventHubKey -ResourceGroupName MyResourceGroupName -NamespaceName MyNamespaceName -AliasName MyAliasName -AuthorizationRuleName MyAuthRuleName

Azure CLI

以下の例は名前空間の接続文字列を取得します。 MyAuthRuleName は、共有アクセス ポリシーの名前です。 名前空間の場合、デフォルトのポリシーは RootManageSharedAccessKeyです。

az eventhubs namespace authorization-rule keys list --resource-group MyResourceGroupName --namespace-name MyNamespaceName --name RootManageSharedAccessKey

以下の例は、名前空間内の特定のイベントハブの接続文字列を取得しています:

az eventhubs eventhub authorization-rule keys list --resource-group MyResourceGroupName --namespace-name MyNamespaceName --eventhub-name MyEventHubName --name MyAuthRuleName

以下の例では、Geo ディザスター リカバリー構成の一部である名前空間の接続文字列を、そのエイリアスを使用して取得します。

az eventhubs georecovery-alias authorization-rule keys list --resource-group MyResourceGroupName --namespace-name MyNamespaceName --alias MyAliasName --name MyAuthRuleName

Event Hubs 用の Azure CLI コマンドについて詳しくは、Event Hubs 用の Azure CLI に関する記事をご覧ください。

イベントハブについてさらに知りたい方は、以下の記事をご覧ください。