Several document migration scenarios require two hops from source to destination. The first hop is from the source to an intermediate Azure blob store. The second hop is from the blob store to the destination system.
UploaderWiz is a BitTitan tool that enables the first hop by uploading data to your Azure storage account. UploaderWiz uploads all of the data contained in a specified folder, including the contents of all of its subfolders.
UploaderWiz requires that .NET Framework version 4.6 is installed on the computer running UploaderWiz.
File Path Names
UploaderWiz can only support file path names that are shorter than 248 characters.
When UploaderWiz encounters file path names that are longer than 248 characters, it will log an error in the log file. The UploaderWiz log file is located in the following directory: %LOCALAPPDATA%\BitTitan.
This file path name length limitation is due to the Microsoft .Net framework.
Overcoming Microsoft Restrictions to Azure Container Names in UploaderWiz
Azure containers cannot contain many special characters; examples include spaces and uppercase characters.
To overcome these restrictions, the UploaderWiz utility includes code to filter out all illegal characters for the container name, and then uses the converted name, when creating the container on Azure. For example, a home directory named John Smith will be converted to johnsmith.
The UploaderWiz utility also contains code to handle home directory names that do not meet the character length requirements for Azure containers. For example, if a home directroy is named "de" or "es" then it will not meet Azure container name requirements; these must be at least three (3) characters long. In those cases, UploaderWiz utility will prepend the name with "bt-"; so those names will become "bt-de" and "bt-es". For this reason, it is important to check the name of the container within Azure, and then set the MigrationWiz project Advanced Option for the container name to match the Azure container.
For this reason, the container name may not always match the home directory name on the Source file server. Therefore, it is important to check the container name in Azure before setting the MigrationWiz project Advanced Option for Container name for a home directory to OneDrive for Business migration project. (In the example above, the MigrationWiz container name should be set to johnsmith, not John Smith). If the container name in MigrationWiz Advanced Options does not match the container name in Azure, the migration will not find any files in the container because it will be looking for the wrong container name.
In some rare cases, the entire folder and file name for the home directory could be entirely made up of special characters. In such cases, the discovery by the UploaderWiz utility will fail. This will be reported in the command line interface, and in the log files, which can be located under this directory: %LOCALAPPDATA%\BitTitan
The log file will contain information similar to the data below: (In this example, the home directory name was @@@####)
UploaderWiz Error: 0 : 2016-07-21 13:00:21.009 -07:00 [Error] Failed to execute
System.Exception: Cannot create container names for the following folder names:
@@@####Please review the Azure Naming Convention Rules for container names:
https://msdn.microsoft.com/library/dd135715.aspx
In such cases, the home directory name on the file server should be changed to a format that meets Microsoft guidelines. Those guidelines are stated here.
How UploaderWiz command line displays the error:
Once the home directory name has been changed in compliance with Microsoft guidelines, the upload should be repeated, and the migration process continued as per the migration guide.
If the container name in Azure has been changed to meet Microsoft restrictions, then the MigrationWiz project Advanced Option for container name needs to match the adjusted container name in Azure. If following steps within migration guides that use PowerShell scripts for automation, then these scripts will call the name change algorithm within the script, and then automatically add the adjusted container name to the MigrationWiz project Advanced Option for container name.
Reducing Bandwidth
UploaderWiz is designed to upload files to Azure as quickly as possible. For some people with low bandwidth, this can cause a strain on other operations while the upload is being performed.
You can reduce the bandwidth consumption of UploaderWiz with one of the following command line options:
-threads 1
Adding this option in the command line will reduce the number of threads allocated by UploaderWiz. If you allow fewer threads to upload data at the same time, less bandwidth will be consumed.
OR
-threads 1 –noblock true
Adding this option in the command line will not only reduce the number of threads allocated, but will also prevent UploaderWiz from splitting the download of files into blocks and spawning the upload through multiples threads. This will slow the upload even more but it will reduce bandwidth consumption dramatically.