ウォークスルー
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
メッセージバスの役割をAzureサービスバスに設定する前に、まずAzureサービスバスをプロビジョニングし、プライマリ接続文字列を取得する必要があります。詳細はMicrosoftの「サービスバスを作成」というAzureポータル のドキュメントを参照してください。
このウォークスルーでは、以下の方法を説明します:
メッセージング接続文字列を変更する
メッセージバスの役割を参照するすべてのロールで、messaging接続文字列を「Microsoft SQL Server」から「サービスバス」Azureに変更しなければなりません。
messaging接続文字列を変更するには:
-
\App_Config\フォルダでConnectionStrings.configファイルを開いてください。 -
add name="messaging"プロパティを見つけて、connectionString属性をAzure Service Bus接続文字列に変更します。
-
ConnectionStrings.configファイルを保存してください。
-
関連の役割すべてで同じ手順を繰り返してください。
メッセージングTransportキーを変更してください
メッセージバスの役割を参照するすべてのコアロールで、messagingTransportキーをMicrosoft SQL ServerからAzureメッセージバスに変更しなければなりません。
messagingTransportキーを変更するには:
-
\フォルダでWeb.configファイルを開いてください。 -
add key="messagingTransport
、value属性をSQLからAzureServiceBusに変更します。 -
Web.configファイルを保存してください。
-
関連の役割すべてで同じ手順を繰り返してください。
メッセージング設定ファイルを切り替える
メッセージバス役割を参照するすべてのXPサービスロール で、すべてのメッセージング設定ファイルをMicrosoft SQL ServerからAzureに切り替える必要があります。設定ファイルは以下のフォルダにあります:
\App_Data\Config\Sitecore\ およびそのサブフォルダ \App_Data\jobs\continuous\*\App_Data\Config\sitecore\ およびそのサブフォルダ
メッセージング設定ファイルを切り替えるには:
-
すべてのファイルに .disabledの拡張子を追加してください。 *Messaging.SqlServer.xml。
*Messaging.SqlServer.xml -> *Messaging.SqlServer.xml.disabled
-
*Messaging.Azure.xml.disabledに一致するすべてのファイルから.disabled拡張子を削除してください。
*Messaging.Azure.xml.disabled -> *Messaging.Azure.xml
-
関連の役割すべてで同じ手順を繰り返してください。
コンテナで使用するためにメッセージバスの役割を設定する
Sitecoreを導入するためにコンテナを使用している場合は、この追加手順を実行しなければなりません。
!重要ここで示す手順とスクリプトは、Sitecoreのインストールに合わせて編集・調整できる例です。これらはサポートされておらず、あなたのインスピレーションを得るためのものです。
コンテナで使用するメッセージバスの役割を設定するには:
-
docker-compose.ymlコンテナにデプロイする準備Sitecore。
-
メッセージングを使う各役割について:
- *.ps1ファイルとDockerファイルが入っているフォルダで、このコマンドを実行して役割用の新しいDockerイメージを作成します build --tag sitecore-
- -asb 。 - docker-compose.ymlファイルでimage設定を${SITECORE_DOCKER_REGISTRY}sitecore-
-XX:${SITECORE_VERSION}からsitecore- - -asbに変更してください。
- *.ps1ファイルとDockerファイルが入っているフォルダで、このコマンドを実行して役割用の新しいDockerイメージを作成します build --tag sitecore-
-
docker-compose.ymlファイルでSitecore_ConnectionStrings_MessagingをAzureメッセージバスのプライマリ接続文字列に変更してください(Endpoint=
;SharedAccessKeyName= ;SharedAccessKey= )。 -
enable-messaging-asb.ps1というファイルを作成し、以下のスクリプトの例を貼り付けPowerShell:
Function Set-XmlAttribute( string$XmlFilePath, string$Xpath, string$AttributeName, string$Value) { Write-Host"Setting XML attribute $AttributeName with value $Value from $XmlFilePath using xPath $XPath" xml$XmlFile = Get-Content $XmlFilePath $Item = Select-XML -Xml $XmlFile -XPath $XPath if($Item -ne $null) { $node = $Item.node $Item | %{$_.node.$AttributeName = $Value} $XmlFile.Save($XmlFilePath) } else { Write-Host "Node is not exist in $XmlFilePath, XPath: $XPath" -Level "Warning" } }
Write-Host "Disabling *Messaging.SqlServer.xml ..." Get-ChildItem -Path "." -Filter "*Messaging.SqlServer.xml" -Recurse | ForEach-Object { $newName = "$($_.FullName).disabled"; Write-Host $newName Move-Item -Path $_.FullName -Destination $newName -Force } Write-Host "Disabling *Messaging.SqlServer.xml done"
Write-Host "Enabling *Messaging.Azure.xml.disabled ..." Get-ChildItem -Path "." -Filter "*Messaging.Azure.xml.disabled" -Recurse | ForEach-Object { $newName = $_.FullName.Substring(0, $_.FullName.LastIndexOf(".disabled")); Write-Host $newName Move-Item -Path $_.FullName -Destination $newName -Force } Write-Host "Enabling *Messaging.Azure.config.disabled done"
Write-Host "Updating Web.config" $currentFolder = Get-Location Set-XmlAttribute -XmlFilePath "$currentFolder\Web.config" -xpath "//configuration/appSettings/add@key='messagingTransport
'" -AttributeName "value" -Value "AzureServiceBus" Write-Host "Web.config is updated" -
以下のDockerファイルを実行します:
FROM ${BASE_IMAGE} COPY ./enable-messaging-asb.ps1 ./ RUN .\enable-messaging-asb.ps1
-
イメージを展開してください。