Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
Nosql
Mongodb
Таблица
Средство миграции классических данных Azure Cosmos DB — это приложение командной строки с открытым кодом для импорта или экспорта данных из Azure Cosmos DB. Средство может перенести данные в множество источников и приемников, включая, но не ограничено:
- Azure Cosmos DB for NoSQL
- Azure Cosmos DB for MongoDB
- Azure Cosmos DB for Table
- Хранилище таблиц Azure
- JSON
- MongoDB
- SQL Server
Внимание
В этом руководстве вы выполняете миграцию данных из JSON в Azure Cosmos DB для NoSQL.
Необходимые компоненты
- Существующая учетная запись Azure Cosmos DB для NoSQL.
- Если у вас есть подписка Azure, создайте новую учетную запись.
- Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
- Последняя версия Azure CLI.
- .NET 6.0 или более поздней версии.
Установка средства миграции классических данных
Сначала установите последнюю версию средства миграции классических данных из репозитория GitHub.
Примечание.
Средство миграции классических данных требует .NET 6.0 или более поздней версии на локальном компьютере.
В браузере перейдите в раздел "Выпуски" репозитория.
Скачайте последнюю сжатые папки для платформы. Существуют сжатые папки для платформ win-x64, mac-x64 и linux-x64.
Извлеките файлы в расположение установки на локальном компьютере.
(Необязательно) Добавьте средство миграции классических данных в
PATHпеременную среды локального компьютера.
Подготовка целевого объекта миграции
Затем создайте целевую базу данных и контейнер в учетной записи Azure Cosmos DB для NoSQL.
Откройте новый терминал. Если вы еще не сделали этого, войдите в Azure CLI.
Создайте переменные оболочки для имени и группы ресурсов учетной записи Azure Cosmos DB.
# Variable for Azure Cosmos DB account name accountName="<name-of-existing-account>" # Variable for resource group name resourceGroupName="<name-of-existing-resource-group>"Создание базы данных с помощью
az cosmosdb sql database create. Назовите новую базу данных и настройте базу данныхcosmicworksс 400 ЕЗ/с общей пропускной способности.az cosmosdb sql database create \ --resource-group $resourceGroupName \ --account-name $accountName \ --name cosmicworks \ --throughput 400Используется
az cosmosdb sql container createдля создания контейнера с именемproductsвcosmicworksбазе данных. Задайте для нового контейнера/categoryпуть ключа секции.az cosmosdb sql container create \ --resource-group $resourceGroupName \ --account-name $accountName \ --database-name cosmicworks \ --name products \ --partition-key-path "/category"Найдите основной строка подключения из списка ключей для учетной записи
az cosmosdb keys list.az cosmosdb keys list \ --resource-group $resourceGroupName \ --name $accountName \ --type connection-stringsЗапишите основное значение строка подключения. Эти учетные данные будут использоваться позже при переносе данных с помощью средства.
Выполнение операции миграции
Теперь перенесите данные из массива JSON в только что созданный контейнер Azure Cosmos DB для NoSQL.
Перейдите к пустому каталогу на локальном компьютере. В этом каталоге создайте файл с именем migrationsettings.json.
В JSON-файле создайте пустой объект JSON:
{}Создайте новое свойство с именем
Sourceсо значениемjson. Создайте другое свойство с именемSourceSettingsпустого объекта в качестве значения.{ "Source": "json", "SourceSettings": {} }В объекте
SourceSettingsсоздайте новое свойствоFilePathс именем со значением, заданным для этого URI: https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json{ "Source": "json", "SourceSettings": { "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json" } }Создайте другое новое свойство с именем
Sinkзначенияcosmos-nosql. Кроме того, создайте свойство с именемSinkSettingsпустого объекта.{ "Source": "json", "SourceSettings": { "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json" }, "Sink": "cosmos-nosql", "SinkSettings": { } }В
SinkSettingsэтом руководстве создайте свойство с именемConnectionStringс основным строка подключения, записанным ранее в этом руководстве в качестве его значения.{ "Source": "json", "SourceSettings": { "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json" }, "Sink": "cosmos-nosql", "SinkSettings": { "ConnectionString": "<connection-string-for-existing-account>" } }Добавьте
Database,ContainerаPartitionKeyPathтакже свойства сcosmicworksproducts, а/categoryтакже их значения соответственно.{ "Source": "json", "SourceSettings": { "FilePath": "https://raw.githubusercontent.com/azure-samples/cosmos-db-migration-sample-data/main/nosql-data.json" }, "Sink": "cosmos-nosql", "SinkSettings": { "ConnectionString": "<connection-string-for-existing-account>", "Database": "cosmicworks", "Container": "products", "PartitionKeyPath": "/category" } }Сохранитефайл migrationsettings.json .
Откройте новый терминал и перейдите в каталог, содержащий файл migrationsettings.json .
Запустите средство миграции классических данных с помощью
dmtкоманды.dmtПримечание.
Если вы не добавили путь установки в
PATHпеременную среды, может потребоваться указать полный путь к исполняемому файлуdmt.Теперь средство выводит источники и приемники, используемые миграцией.
Using JSON Source Using Cosmos-nosql Sink