Azure Blob StorageへのBlob移行時にメディアフィールドが更新されない事象について


解説

Azure Blob StorageにBlobを移行する際、Mediaフィールドが更新されない場合があります。/sitecore/admin/dbbrowser.aspxページを使用してメディア アイテムのメディア フィールドを確認すると、このフィールドの GUID 値に "blob://" という接頭辞がないことがわかります。

解決策

この事象を解決するには、以下の手順を実施してください。

  1. Invoke-Migration.ps1 スクリプト内の以下のコードを、次のように変更します。
    変更前:
    INSERT INTO @BlobFields ([FieldId]) (
    SELECT [ItemId] FROM [SharedFields] WHERE [FieldId] = 'FF8A2D01-8A77-4F1B-A966-65806993CD31' AND [Value] = '1'
    UNION
    SELECT [ItemId] FROM [VersionedFields] WHERE [FieldId] = 'FF8A2D01-8A77-4F1B-A966-65806993CD31' AND [Value] = '1'
    UNION
    SELECT [ItemId] FROM [UnversionedFields] WHERE [FieldId] = 'FF8A2D01-8A77-4F1B-A966-65806993CD31' AND [Value] = '1'
    UNION
    SELECT [ArchivalId] FROM [ArchivedFields] WHERE [FieldId] = 'FF8A2D01-8A77-4F1B-A966-65806993CD31' AND [Value] = '1'
    );

    変更後:

    INSERT INTO @BlobFields ([FieldId]) VALUES
    ('{40E50ED9-BA07-4702-992E-A912738D32DC}'),
    ('{DBBE7D99-1388-4357-BB34-AD71EDF18ED3}');
  2. Invoke-Migration.ps1スクリプトを実行します。