Home » Скопируйте базу данных и большие двоичные объекты в Optimizely DXP

Скопируйте базу данных и большие двоичные объекты в Optimizely DXP


Теги:

Optimizely DXP — это решение облачного хостинга Optimizely (ранее Episerver), основанное на платформе Microsoft Azure. В Optimizely DXP мы получаем три среды.

  • Интеграция
  • Подготовка производства
  • Производство

При переносе веб-решения с физических серверов в облако необходимо перенести базу данных и файлы (изображения/документы, загруженные редакторами) со старых серверов в облако. Обычно во время миграции в облако это делается как минимум дважды: один раз при настройке сред и второй раз со свежими данными в связи с окончательным запуском в облаке.

На протяжении многих лет у Optimizely были разные способы сделать это, но наметилась тенденция к все большему количеству самообслуживаемых и удобных для разработчиков решений.

Создать ключи API

Для переноса данных в Среду интеграции в DXP нам нужны API-ключи, которые можно создать на портале самообслуживания, также называемом порталом PaaS. Нажмите кнопку «Добавить учетные данные API» на вкладке API.

Затем выберите «Интеграция» и дайте ключу описательное имя.

Графический интерфейс пользователя, текст, приложение, электронная почта

Обязательно сохраните секрет API, который отображается только один раз. Вам также понадобится ключ API и идентификатор проекта, но они также могут быть отображены позже.

Примечание. Переносить базы данных/файлы можно только непосредственно в среду интеграции. Затем вы можете использовать портал самообслуживания для перемещения контента на предварительную версию. Перенос баз данных/файлов в производство вы можете сделать это самостоятельно только при первом развертывании. Для последующих обновлений баз данных/файлов в рабочей среде необходимо обратиться в службу поддержки Optimizely.

Перенос базы данных

Файл базы данных, который вы передаете в DXP, должен быть в формате bacpac, который вы можете создать из SQL Management Studio следующим образом.

Read more:  Повышение качества данных и искусственного интеллекта

Стол

Для переноса базы данных и файлов в DXP мы используем команду API развертывания через модуль Powershell ЭпиКлауд. Вы можете установить этот модуль из Powershell таким образом.

Install-Module -Name EpiCloud

Затем файл загружается следующим образом. Важно, чтобы имя файла было в этом формате, просто замените часть даты на сегодняшнюю дату.

$saslink = Get-EpiDeploymentPackageLocation

Add-EpiDeploymentPackage 
   -SasUrl $saslink 
   -Path "C:dbintegration.cms.sqldb.20231231.bacpac"

Вам будет предложено ввести значения, которые вы получили при создании ключа API.

Текст

После завершения загрузки таким способом вы запускаете развертывание базы данных в среду интеграции.

Start-EpiDeployment 
     -DeploymentPackage ("integration.cms.sqldb.20231231.bacpac") 
     -TargetEnvironment "Integration" -DirectDeploy

Вы можете следить за статусом развертывания на портале самообслуживания, а также получите электронное письмо, когда оно будет завершено.

Передача файлов/блобов

При передаче файлов вы можете использовать тот же ключ API, что и при переносе базы данных. Разница здесь в том, что мы используем ключ API для создания токена SAS с ограниченным сроком действия, который используется для передачи файлов.

Многие предпочитают использовать Azure Storage Explorer, но у меня был неудачный опыт передачи больших объемов данных (>50 ГБ), когда Azure Storage Explorer внезапно давал сбой. Поэтому я предпочитаю azcopy из командной строки, где у меня никогда не возникало проблем.

Чтобы создать токен SAS, используйте следующую команду. Контейнер больших двоичных объектов в Optimizely DXP всегда называется «mysitemedia».

Get-EpiStorageContainerSasLink
     -Writable
     -Environment "Integration"
     -StorageContainer "mysitemedia"

Вы должны снова предоставить три значения, которые вы получили при создании ключа API, и взамен вы получите URL-адрес с токеном SAS, аналогичный этому.

https://nasa1337binte.blob.core.windows.net/mysitemedia?sv=2023-01-03&se=2024-12-31T23%3A59%3A00Z&sr=c&sp=rwl&sig=1337%

Обратите внимание, что URL-адрес может быть разделен на две строки с разрывами строк и несколькими пробелами. Вы должны вручную удалить их, прежде чем использовать его дальше.

Read more:  Как использовать функцию СОРТИРОВКА() для отображения отсортированных данных

Если у вас еще нет azcopy, вам необходимо скачать азкопию. Затем вы можете запустить следующую команду, предполагая, что d:blobs содержит все файлы, которые вы хотите перенести.

azcopy copy "d:blobs*" "https://nasa1337binte.blob.core.windows.net/mysitemedia?sv=2023-01-03&se=2024-12-31T23%3A59%3A00Z&sr=c&sp=rwl&sig=1337%" --recursive=true

В отличие от базы данных, файлы будут доступны в среде интеграции сразу после загрузки.

Это так просто! 😁

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.