Téléchargement de blobs vers Optimizely DXP via PowerShell / Perficient
Nous avons eu un client qui est passé d’une instance On-Prem v11 Optimizely à DXP v12 et nous avons eu de nombreux blobs (plus de 40 Go) à télécharger vers DXP dans le cadre de la conversion.
C’était ma première expérience de mise à niveau à la fois d’une version et d’un environnement et je me suis fortement appuyé sur le support d’Optimizely pour m’aider à bien faire les choses. En cours de route, j’ai noté chaque étape afin de pouvoir y faire référence pour tout projet futur faisant de même. Peut-être que quelqu’un d’autre sera dans la même situation et pourra également bénéficier de ce didacticiel.
Les blobs et la base de données peuvent désormais être téléchargés vers DXP directement dans PowerShell.
Pour télécharger des blobs vers DXP via PowerShell
- Obtenir l’emplacement des blobs
- Recherchez le dossier sur votre ordinateur où se trouvent les blobs et décompressez.
- Notez le chemin de ce dossier (c’est-à-dire « C:\source\MyProject\MyProject.Web\App_Data\blobs »).
- (Important) Assurez-vous que le chemin se termine par « \* » afin de copier uniquement le contenu du dossier blob et non le dossier lui-même (c’est-à-dire « C:\source\MyProject\MyProject.Web\App_Data\blobs\* »).
- Ce chemin complet sera appelé ultérieurement $BLOB_LOCATION.
- Obtenez AzCopy de Microsoft
- Téléchargez AzCopy depuis Microsoft (https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10#download-azcopy).
- Extrayez l’exécutable dans un dossier sur votre ordinateur.
- Parcourez les fichiers extraits pour trouver l’exécutable « azcopy.exe ».
- Write down the location of the executable (ie “%USERPROFILE%\Downloads\azcopy_windows_amd64_10.23.0\azcopy_windows_amd64_10.23.0\” or “C:\Users\Me\Downloads\azcopy_windows_amd64_10.23.0\azcopy_windows_amd64_10.23.0\”).
- Demandez à Opti (services gérés ?) de fournir une URL/authentification SAS temporaire. Ceci sera appelé plus tard $SAS_URL.
- Prenez note du nom du conteneur trouvé dans l’URL SAS (« https://*.blob.core.windows.net/MYCONTAINERNAME »).
- Remplissez la commande azcopy en utilisant les valeurs des étapes 1.4 et 3.
azcopy copy "$BLOB_LOCATION" "$SAS_URL" --recursive=true
Exemple:
azcopy copy "C:\source\MyProject\MyProject.Web\App_Data\blobs\*" "https://mysite.blob.core.windows.net/MYCONTAINERNAME?sp..." --recursive=true
- Ouvrez une fenêtre PowerShell et accédez au dossier à partir de l’étape 2.4.
- Collez la commande azcopy de l’étape 4 et exécutez-la.
- Assurez-vous d’avoir les éléments suivants dans votre Startup.cs
public void ConfigureServices(IServiceCollection services) { services.AddAzureBlobProvider(o => { o.ContainerName = "MYCONTAINERNAME"; }); services.AddAzureEventProvider(); }
Si cela vous a été utile, consultez ma série en deux parties sur la configuration HTTPS local pour Optimizely, IIS et Kestrel utilisant des certificats.
Source link