Visual Studio 等の開発ツールを使って、Office 365 上で動作する SharePoint アプリとしてリモート イベント イベントレシーバーやアプリ レシーバーを実装する際、デバッグに Microsoft Azure の Service Bus (リレーサービス機能)を使用します。
2014年8月以降では Service Bus の名前空間を作成する際に気を付ける必要があります。現在は SAS (共有アクセス署名) と ACS (Microsoft Active Directory アクセス制御サービス) の 2種類があり、Azure Service Bus を介したリモート イベントのデバッグは現在のところ ACS のみとなっています。しかし、Microsoft Azure ポータルサイト上から新規に作成できるのは、SAS 認証を使った名前空間のみです。
ACS を使用する名前空間を作成するには、Windows PowerShell, Azure CLI, REST API のいずれかを使用します。
今回は PowerShell を使う例をご紹介しておきます(Azure PowerShell の基本的な使い方は「Azure PowerShell のインストールおよび構成方法」を参照してください)。
- .NET Framework 4.5 がインストールされている環境に Azure PowerShell モジュール をダウンロードし、実行します。
- Web Platform Installer 5.0 のウィンドウが起動するので、[インストール]をクリックします。
- [同意をする] をクリックします。
- インストールが完了したら[完了]をクリックします。
- [終了]ボタンをクリックします。
- スタートメニューから Microsoft Azure PowerShell を起動します。
- サブスクリプションに接続しますが、認証方法には Azure AD と証明書方式の2つがあります。今回は Azure AD を使います(※Azure AD の場合は、使用するアカウントは Microsoft アカウントではなく、組織アカウントでないといけません。Microsoft アカウントしかない場合は、「Azure PowerShell のインストールおよび構成方法」の記載にしたがって、アカウントを作成しておく必要があります)。
- 次のコマンドを実行すると、ログインウィンドウが表示されます。Azureにアクセスするための組織アカウントを入力します。
$cred=Get-Credential
- 次に Add-AzureAccount -Credential $cred を実行します。
- 以上でサブスクリプションへの接続は終わりです。続いて、Service Bus 名前空間を作成するために次のコマンドを実行します。 New-AzureSBNamespace -Name '<任意の名前空間>' -Location 'Japan East' -NamespaceType Messaging -CreateACSNamespace $true
※西日本の場合は Location を Japan West と指定します。サポートされる Location 名は、Get-AzureLocation を実行することで確認できます。
※NamespaceType は Messaging を指定します
※CreateACSNamespace を $true に指定し、ACS の名前空間を作成するように指定します
- 以上でService Bus の作成は完了です。Microsoft Azure 管理ポータルにアクセスします。
- Service Bus > 作成した名前空間名 > 接続情報 の順にアクセスします。
- ACS の接続文字列があることを確認します。
Visual Studio を使って SharePoint アプリ としてリモート イベントレシーバーやアプリレシーバーを作成している場合は、この ACS の接続文字列をコピーし、プロジェクトのプロパティのうち SharePoint ページの [Microsoft Azure サービス バスによるデバッグを有効にする] をオンにしたうえで、接続文字列を貼り付けます。
以上でデバッグ実行すると、ローカルに起動する IIS Express 上でホストされるイベントレーシーバーと Office 365 (SharePoint Online) 上のサイトとがやり取りできるようになるため、デバッグ実行が可能になります。なお、SharePoint アプリの開発モデルは、オンプレミス環境での高信頼性アプリ開発の場合とは異なり 「プロバイダーホスト型」 にしておきます。
[参考]
コメント