Поскольку прямого способа переноса данных из одной учетной записи в другую нет, вам нужно сделать что-то похожее на то, о чем вы думали. Если это находится в том же центре обработки данных, вариант № 2 является лучшим выбором и будет самым быстрым (особенно если вы используете экземпляр XL, что дает вам большую пропускную способность сети).
Что касается сложности, то создать этот код в рабочей роли не сложнее, чем в локальном приложении. Просто запустите этот код из метода Run () вашей рабочей роли.
Чтобы сделать вещи более надежными, вы можете перечислить большие двоичные объекты в своих контейнерах, а затем поместить конкретные сообщения с запросами на перемещение файлов в очередь Azure (и оптимизировать, указав более одного имени объекта на сообщение). Затем используйте поток рабочей роли для чтения из очереди и обработки объектов. Даже если ваша роль будет переработана, в худшем случае вы обработаете одно сообщение. Для повышения производительности вы можете масштабировать до нескольких экземпляров рабочих ролей. После завершения передачи вы просто сносите развертывание.
ОБНОВЛЕНИЕ - 12 июня 2012 года API хранилища Windows Azure был обновлен и теперь разрешает копирование больших двоичных объектов между учетными записями. См. в этом блоге для всех деталей.