ウォークスルー

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

メッセージバスの役割をAzureサービスバスに設定する前に、まずAzureサービスバスをプロビジョニングし、プライマリ接続文字列を取得する必要があります。詳細はMicrosoftの「サービスバスを作成」というAzureポータル のドキュメントを参照してください。

このウォークスルーでは、以下の方法を説明します:

メッセージング接続文字列を変更する

メッセージバスの役割を参照するすべてのロールで、messaging接続文字列を「Microsoft SQL Server」から「サービスバス」Azureに変更しなければなりません。

messaging接続文字列を変更するには:

  1. \App_Config\フォルダでConnectionStrings.configファイルを開いてください。

  2. add name="messaging"プロパティを見つけて、connectionString属性をAzure Service Bus接続文字列に変更します。

  3. ConnectionStrings.configファイルを保存してください。

  4. 関連の役割すべてで同じ手順を繰り返してください。

メッセージングTransportキーを変更してください

メッセージバスの役割を参照するすべてのコアロールで、messagingTransportキーをMicrosoft SQL ServerからAzureメッセージバスに変更しなければなりません。

messagingTransportキーを変更するには:

  1. \フォルダでWeb.configファイルを開いてください。

  2. add key="messagingTransport

    、value属性をSQLからAzureServiceBusに変更します。

  3. Web.configファイルを保存してください。

  4. 関連の役割すべてで同じ手順を繰り返してください。

メッセージング設定ファイルを切り替える

メッセージバス役割を参照するすべてのXPサービスロール で、すべてのメッセージング設定ファイルをMicrosoft SQL ServerからAzureに切り替える必要があります。設定ファイルは以下のフォルダにあります:

  • \App_Data\Config\Sitecore\ およびそのサブフォルダ
  • \App_Data\jobs\continuous\*\App_Data\Config\sitecore\ およびそのサブフォルダ

メッセージング設定ファイルを切り替えるには:

  1. すべてのファイルに .disabledの拡張子を追加してください。 *Messaging.SqlServer.xml。

    *Messaging.SqlServer.xml -> *Messaging.SqlServer.xml.disabled

  2. *Messaging.Azure.xml.disabledに一致するすべてのファイルから.disabled拡張子を削除してください。

    *Messaging.Azure.xml.disabled -> *Messaging.Azure.xml

  3. 関連の役割すべてで同じ手順を繰り返してください。

コンテナで使用するためにメッセージバスの役割を設定する

Sitecoreを導入するためにコンテナを使用している場合は、この追加手順を実行しなければなりません。

!重要ここで示す手順とスクリプトは、Sitecoreのインストールに合わせて編集・調整できる例です。これらはサポートされておらず、あなたのインスピレーションを得るためのものです。

コンテナで使用するメッセージバスの役割を設定するには:

  1. docker-compose.ymlコンテナにデプロイする準備Sitecore。

  2. メッセージングを使う各役割について:

    • *.ps1ファイルとDockerファイルが入っているフォルダで、このコマンドを実行して役割用の新しいDockerイメージを作成します
      build --tag sitecore---asb 。
    • docker-compose.ymlファイルでimage設定を${SITECORE_DOCKER_REGISTRY}sitecore--XX:${SITECORE_VERSION}からsitecore---asbに変更してください。
  3. docker-compose.ymlファイルでSitecore_ConnectionStrings_MessagingをAzureメッセージバスのプライマリ接続文字列に変更してください(Endpoint=;SharedAccessKeyName=;SharedAccessKey=)。

  4. 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"

  5. 以下のDockerファイルを実行します:

    FROM ${BASE_IMAGE} COPY ./enable-messaging-asb.ps1 ./ RUN .\enable-messaging-asb.ps1

  6. イメージを展開してください。

この記事を改善するための提案がある場合は、 お知らせください!