通过 PowerShell / Perficient 将 blob 上传到 Optimizely DXP

我们有一个客户从 On-Prem v11 Optimizely 实例迁移到 DXP v12,并且我们有很多 blob(超过 40 GB)需要上传到 DXP 作为转换的一部分。

这是我第一次进行版本和环境升级,我非常依赖 Optimizely 支持来帮助我正确完成升级。 在此过程中,我写下了每个步骤,以便我可以在将来执行相同操作的任何项目中参考它。 也许其他人也会处于同样的位置,并且也可以从本教程中受益。

Blob 和数据库现在可以直接在 PowerShell 中上传到 DXP。

通过 PowerShell 将 blob 上传到 DXP

  1. 获取斑点的位置
    1. 在计算机上找到 Blob 所在的文件夹并将其解压缩。
    2. 记下该文件夹路径(即“C:sourceMyProjectMyProject.WebApp_Datablobs”)。
    3. 重要的) 确保路径以“*”结尾,以便仅复制 blob 文件夹的内容而不是文件夹本身(即“C:sourceMyProjectMyProject.WebApp_Datablobs*”)。
    4. 此完整路径稍后将称为 $BLOB_LOCATION。
  2. 从 Microsoft 获取 AzCopy
    1. 从 Microsoft 下载 AzCopy (https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10#download-azcopy)。
    2. 将可执行文件解压缩到计算机上的文件夹中。
    3. 遍历提取的文件以查找可执行文件“azcopy.exe”。
    4. 记下可执行文件的位置(即“%USERPROFILE%Downloadsazcopy_windows_amd64_10.23.0azcopy_windows_amd64_10.23.0”或“C:UsersMeDownloadsazcopy_windows_amd64_10.23.0azcopy_windows_amd64_10.23.0”)。
  3. 要求 Opti(托管服务?)提供临时 SAS URL/身份验证。 稍后将其称为 $SAS_URL。
    1. 记下 SAS URL 中找到的容器名称(“https://*.blob.core.windows.net/MYCONTAINERNAME”)。
  4. 使用步骤 1.4 和 3 中的值填充 azcopy 命令。
    azcopy copy "$BLOB_LOCATION" "$SAS_URL" --recursive=true

    例子:

    azcopy copy "C:sourceMyProjectMyProject.WebApp_Datablobs*" "https://mysite.blob.core.windows.net/MYCONTAINERNAME?sp..." --recursive=true
  5. 打开 PowerShell 窗口并导航到步骤 2.4 中的文件夹。
  6. 粘贴步骤 4 中的 azcopy 命令并运行它。
  7. 确保 Startup.cs 中有以下内容
public void ConfigureServices(IServiceCollection services)
{
    services.AddAzureBlobProvider(o =>
    {
        o.ContainerName = "MYCONTAINERNAME";
    });
    services.AddAzureEventProvider();
}

如果这有帮助,请查看我的有关设置的两部分系列 使用证书的 Optimizely、IIS 和 Kestrel 的本地 HTTPS

1709623250
#通过 #PowerShell #Perficient #将 #blob #上传到 #Optimizely #DXP
2024-03-01 05:51:48

Leave a Reply

Your email address will not be published. Required fields are marked *

近期新闻​

编辑精选​