Azure BlobをメディアライブラリーのBlobストレージとして使用する - インストール編

samatsu 12/3/2019 934 N/A Sitecore XP

こちらの記事で、事前条件を実施したので、Azure Blob Storageモジュールを有効化します。インストール手順としては、ドキュメントサイトの内容がオフィシャルな手順になります。ドキュメントサイトでは、PaaS環境にデプロイする際にAzure Blobモジュールをインストールする手順なども紹介されています。本記事でもなるべくそちらの手順に従ってOn Premise 環境にモジュールをセットアップしていきます。

1.モジュールのダウンロード

Sitecore本体をダウンロードするページにアクセスして、WebDeploy用のzipファイルをダウンロードします。記事作成時点で最新のSitecore 9.3のInitial Releaseに対応したファイルは、 Sitecore.BlobStorageProvider 1.0.0-r50 rev. 000382.scwdp.zip です。

2.モジュールのインストール

OnPremiseの場合は、msdeploy.exe を使用して Web Deploy Package ファイルを SitecoreのWebサイトにインストールします。Sitecoreのインスタンスがセットアップされている場合は、 WebDeploy がインストールされているはずなので、例えば、次の図のパスに msdeploy.exe がインストールされているはずです。

コマンドプロンプトからインストールするので、コマンドプロンプトを起動し、次の例を参考にパスを設定します。

set PATH="C:\Program Files (x86)\IIS\Microsoft Web Deploy V3";%PATH%

次に、wdpをダウンロードしたフォルダーに移動して、以下の例を参考にコマンドを実行します。

msdeploy.exe -verb:sync -source:package="<FilePathOfWDP>" -dest:auto="<RootUrlOfSitecoreInstance>" -setParam:"IIS Web Application Name"="<IISWebAppName>" -setParam:"AzureStorageConnectionString"="<AzureStorageConnectionString>" -setParam:"AzureStorageContainerName"="<AzureStorageBlobContainerName>" -setParam:"DefaultProvider"="azure" -enableRule:DoNotDeleteRule -verbose
パラメーター
FilePathOfWDP ダウンロードした Azure Blob Storage 用のzipファイルの名前を含めたパス
RootUrlOfSitecoreInstance SitecoreのWebアプリケーションフォルダーのパス
IISwebAppName IIS上のSitecoreのサイト名
AzureStorageConnectionString 作成したストレージアカウントへの接続文字列
AzureStorageContainerName Azure Blobに作成した Blobコンテナの名前。今回の例では、medialibrary

インストールに成功すると Moduleレイヤーに、 Azure Blob Storage 用の 構成用のパッチファイルがインストールされたり、binフォルダーにdllがインストールされます。

App_Data\Transforms\AzureBlobStorageProvider フォルダーに、 ConnectionStrings.config ファイルを変換するためのxdtファイルが作成されています。このファイルを使用して、ConnectionString.configにazure blob ストレージ用に接続文字列を後で追加します。手順はこれから記載しますが、正直手動で追加しても問題ありません。。。。

3.モジュールの構成

Sitecore.AzureBlobStorage.configを開き、デフォルトのコンテナ名 blobcontainer でコンテナを作成する場合は、下図の例に従っい、コンテナ名を変更します。私は前回の記事で、 medialibrary という名前でコンテナを作成したので、medialibraryに変更しました。

次に、nugetにアクセスし、Download packageリンクをクリックして、Microsoft.Web.Xdt nuget パケージをダウンロードします。

ダウンロードした nupkgに拡張子 .zip を追加してzipファイルを展開し、ファイル内の Microsoft.Web.XmlTransformation.dll をコピーします。

下図のように、コピーしたMicrosoft.Web.XmlTransform.dll ファイルを配置します。

dllファイルと同じフォルダーに、 任意の名前で ps1 ファイルを作成します。今回は、 run.ps1という名前でファイルを作成しました。

作成したファイルをテキストエディターで開き、ドキュメントサイトInstall the Azure Blob Storage module on an on-premise Sitecore instanceセクションにあるPowerShell スクリプトを貼り付けます。XmlTransformファンクションを呼び出している引数 xml には、書き換える対象の ConnectionStrings.config のパス、 xdt には、ConnectionStrings.config.xdtファイルまでのパスを環境に合わせて指定してください。

コマンドプロンプトを使っている場合は、powershell というコマンドを実行して、powershellを起動します。

起動したら、下記コードを参考に、 run.ps1を実行します。

エラーが発生せずにスクリプトが実行されたら、 ConnectionStrings.configをエディターで開いて、 azureblob という接続文字列のエントリが追加されていることを確認します。

要するに、azureblobへの接続文字列を追加しているだけなので、nugetパッケージやpowershellの実行が面倒な場合は、手動で、この接続文字列を追加することもできます。

これで構成が終わりました。

こちらの記事で既存のmaster, web データベースのBlobデータを Azure Blobコンテナに移行します。