Självstudiekurs: Använda verktyget Datamigrering för att migrera dina data till Azure Azure Azures DB

GÄLLER FÖR: SQL API

I den här självstudiekursen får du instruktioner om hur du använder verktyget Azure Och db-datamigrering, som kan importera data från olika källor till Azure Azure Azure-behållare och tabeller. Du kan importera från JSON-filer, CSV-filer, SQL, MongoDB, Azure Table storage, Amazon DynamoDB och även Azure Azures DB SQL API-samlingar. Du migrerar dessa data till samlingar och tabeller för användning med Azure Azure AzureS DB. Verktyget för datamigrering kan också användas när du migrerar från en enskild partitionssamling till en samling med flera partitioner för SQL API.

Obs!

Azure Azure Azures DB Data Migration är ett verktyg för öppen källkod som utformats för små migreringar. Större migreringar finns i vår guide för att mata in data.

Den här självstudiekursen handlar om följande:

  • Installera verktyget Datamigrering
  • Importera data från olika datakällor
  • Exportera från Azure Azure Azures DB till JSON

Krav

Innan du följer instruktionerna i den här artikeln bör du kontrollera att du gör följande:

  • InstalleraMicrosoft .NET Framework 4.51 eller senare.

  • Öka dataflödet: Varaktigheten för datamigrering beror på mängden dataflöde som du har angett för en enskild samling eller en uppsättning samlingar. Se till att öka dataflödet för större datamigrering. När du har slutfört migreringen minskar du dataflödet för att spara kostnader. Mer information om hur du ökar dataflödet i Azure-portalen finns i prestandanivåer och prissättningsnivåer i Azure Azure Azure Db.

  • Skapa Azure Azure Azures DB-resurser: Innan du börjar migrera data skapar du i förväg alla dina samlingar från Azure Portal. Om du vill migrera till ett Azure Azure Azures DB-konto med dataflöde på databasnivå måste du ange en partitionsnyckel när du skapar Azure Azure Azure-behållare.

Viktigt

Om du vill kontrollera att verktyget för datamigrering använder TLS (Transport Layer Security) 1.2 när du ansluter till dina Azure Azures-konton använder du .NET Framework version 4.7 eller följer anvisningarna i den här artikeln.

Översikt

Verktyget Datamigrering är en lösning med öppen källkod som importerar data till Azure Azure Azures DB från en mängd olika källor, inklusive:

  • JSON-filer
  • MongoDB
  • SQL Server
  • CSV-filer
  • Tabellagring i Azure
  • Amazon DynamoDB
  • HBase
  • Azure Azure Containerss-behållare

Importverktyget har ett grafiskt användargränssnitt (dtui.exe), men det kan också drivs från kommandoraden (dt.exe). Faktum är att det finns ett alternativ för att mata ut det associerade kommandot när du har konfigurerat en import via användargränssnittet. Du kan omvandla källdata i tabellformat, till exempel SQL Server- eller CSV-filer, för att skapa hierarkiska relationer (underdokument) under importen. Fortsätt läsa om du vill lära dig mer om källalternativ, exempelkommandon för import från varje källa, målalternativ och om att visa importresultat.

Obs!

Du bör endast använda Azure Azure Azure Db-migreringsverktyget för små migreringar. Vid stora migreringar kan du gå till vår guide för att mata in data.

Installation

Ladda ned körbart paket

  • Ladda ned en zip-fil med de senastedt.exeochdtui.exe Windows binärfilerna här
  • Packa upp i en katalog på datorn och öppna den extraherade katalogen för att hitta binärfilerna

Skapa från källa

Migreringsverktygets källkod är tillgänglig på GitHub på den här lagringsplatsen. Du kan ladda ned och kompilera lösningen lokalt och sedan köra något av följande:

  • Dtui.exe: Grafisk gränssnittsversion av verktyget
  • Dt.exe: Kommandoradsversion av verktyget

Välj datakälla

När du har installerat verktyget är det dags att importera dina data. Vilken typ av data vill du importera?

Importera JSON-filer

Med alternativet JSON file source importer option allows you to import one or more single document JSON files or JSON files that each have an array of JSON documents. När du lägger till mappar som har JSON-filer att importera kan du välja att rekursivt söka efter filer i undermappar.

Screenshot of JSON file source options - Database migration tools

Anslutningssträngen har följande format:

AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>

  • <CosmosDB Endpoint>Slutpunkts-URI. Du kan få det här värdet från Azure Portal. Gå till ditt Azure Azure Azures-konto. Öppna fönstret Översikt och kopiera URI-värdet.
  • Det <AccountKey> här är "Lösenord" eller <AccountKey> Du kan få det här värdet från Azure Portal. Gå till ditt Azure Azure Azures-konto. Öppna fönstret Anslutningssträngareller Nycklar och kopiera värdet "Lösenord" eller PRIMÄRNYCKEL.
  • Det <CosmosDB Database> här är databasnamnet Förnamn till Endb-databas.

Exempel: AccountEndpoint=https://myCosmosDBName.documents.azure.com:443/;AccountKey=wJmFRYna6ttQ79ATmrTMKql8vPri84QBiHTt6oinFkZRvoe7Vv81x9sn6zlVlBY10bEPMgGM982wfYXpWXWB9w==;Database=myDatabaseName

Obs!

Använd kommandot Verifiera för att säkerställa att Det Förnamn DB-konto som angetts i anslutningssträngfältet inte går att komma åt.

Här är några exempel på kommandoraden för att importera JSON-filer:

#Import a single JSON file
dt.exe /s:JsonFile /s.Files:.\Sessions.json /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:Sessions /t.CollectionThroughput:2500

#Import a directory of JSON files
dt.exe /s:JsonFile /s.Files:C:\TESessions\*.json /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:Sessions /t.CollectionThroughput:2500

#Import a directory (including sub-directories) of JSON files
dt.exe /s:JsonFile /s.Files:C:\LastFMMusic\**\*.json /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:Music /t.CollectionThroughput:2500

#Import a directory (single), directory (recursive), and individual JSON files
dt.exe /s:JsonFile /s.Files:C:\Tweets\*.*;C:\LargeDocs\**\*.*;C:\TESessions\Session48172.json;C:\TESessions\Session48173.json;C:\TESessions\Session48174.json;C:\TESessions\Session48175.json;C:\TESessions\Session48177.json /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:subs /t.CollectionThroughput:2500

#Import a single JSON file and partition the data across 4 collections
dt.exe /s:JsonFile /s.Files:D:\\CompanyData\\Companies.json /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:comp[1-4] /t.PartitionKey:name /t.CollectionThroughput:2500

Importera från MongoDB

Viktigt

Följ de här anvisningarna om du importerar till ett Avis-konto som konfigurerats med Azure Azure Azure Dbs API för MongoDB.

Med källimportalternativet MongoDB kan du importera från en enda MongoDB-samling, om du vill filtrera dokument med hjälp av en fråga och ändra dokumentstrukturen med hjälp av en projektion.

Screenshot of MongoDB source options

Anslutningssträngen är i det vanliga MongoDB-formatet:

mongodb://<dbuser>:<dbpassword>@<host>:<port>/<database>

Obs!

Använd kommandot Verifiera för att säkerställa att den MongoDB-instans som anges i anslutningssträngfältet kan nås.

Ange namnet på den samling som data ska importeras från. Om du vill kan du ange eller lägga till en fil för en fråga, till exempel , eller en projektion, till exempel för att både filtrera och forma de data som {pop: {$gt:5000}}{loc:0} du importerar.

Här är några exempel på kommandoraden som du kan importera från MongoDB:

#Import all documents from a MongoDB collection
dt.exe /s:MongoDB /s.ConnectionString:mongodb://<dbuser>:<dbpassword>@<host>:<port>/<database> /s.Collection:zips /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:BulkZips /t.IdField:_id /t.CollectionThroughput:2500

#Import documents from a MongoDB collection which match the query and exclude the loc field
dt.exe /s:MongoDB /s.ConnectionString:mongodb://<dbuser>:<dbpassword>@<host>:<port>/<database> /s.Collection:zips /s.Query:{pop:{$gt:50000}} /s.Projection:{loc:0} /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:BulkZipsTransform /t.IdField:_id/t.CollectionThroughput:2500

Importera mongoDB-exportfiler

Viktigt

Följ de här anvisningarna om du importerar till ett Azure Azure Och Db-konto med stöd för MongoDB.

Med importverktyget MongoDB exporterar JSON-filkälla kan du importera en eller flera JSON-filer som produceras från verktyget mongoexport.

Screenshot of MongoDB export source options

När du lägger till mappar där MongoDB exporterar JSON-filer för import kan du göra en rekursiv sökning efter filer i undermappar.

Här är ett kommandoradsexempel för import från MongoDB-export JSON-filer:

dt.exe /s:MongoDBExport /s.Files:D:\mongoemployees.json /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:employees /t.IdField:_id /t.Dates:Epoch /t.CollectionThroughput:2500

Importera från SQL Server

Med SQL importverktyget kan du importera från en enskild databas SQL Server och om du vill kan du filtrera de poster som ska importeras med hjälp av en fråga. Du kan dessutom ändra dokumentstrukturen genom att ange en kapslingsavgränsare (mer om det strax).

Screenshot of SQL source options - database migration tools

Formatet på anslutningssträngen är standardformatet SQL strängformatet.

Obs!

Använd kommandot Verify för att säkerställa att den SQL Server instans som anges i anslutningssträngfältet kan nås.

Kapslingsegenskapen används för att skapa hierarkiska relationer (underdokument) under importen. Tänk på SQL fråga:

select CAST(BusinessEntityID AS varchar) as Id, Name, AddressType as [Address.AddressType], AddressLine1 as [Address.AddressLine1], City as [Address.Location.City], StateProvinceName as [Address.Location.StateProvinceName], PostalCode as [Address.PostalCode], CountryRegionName as [Address.CountryRegionName] from Sales.vStoreWithAddresses WHERE AddressType='Main Office'

Vilket returnerar följande (partiella) resultat:

Screenshot of SQL query results

Observera alias som Address.AddressType och Address.Location.StateProvinceName. Om du anger en kapslingsavgränsare för "." skapas underdokument för Adress och Adress.Plats under importen. Här är ett exempel på ett resultatdokument i Azure Azure Azures DB:

{ "id": "956", "Name": "Finer Sales and Service", "Address": { "AddressType": "Main Office", "AddressLine1": "#500-75 O'Street", "Location": { "City": "Administration", "StateProvinceName": "Ontario" }, "PostalCode": "K4B 1S2", "CountryRegionName": "Canada" } }

Här är några exempel på kommandoraden som du kan importera SQL Server:

#Import records from SQL which match a query
dt.exe /s:SQL /s.ConnectionString:"Data Source=<server>;Initial Catalog=AdventureWorks;User Id=advworks;Password=<password>;" /s.Query:"select CAST(BusinessEntityID AS varchar) as Id, * from Sales.vStoreWithAddresses WHERE AddressType='Main Office'" /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:Stores /t.IdField:Id /t.CollectionThroughput:2500

#Import records from sql which match a query and create hierarchical relationships
dt.exe /s:SQL /s.ConnectionString:"Data Source=<server>;Initial Catalog=AdventureWorks;User Id=advworks;Password=<password>;" /s.Query:"select CAST(BusinessEntityID AS varchar) as Id, Name, AddressType as [Address.AddressType], AddressLine1 as [Address.AddressLine1], City as [Address.Location.City], StateProvinceName as [Address.Location.StateProvinceName], PostalCode as [Address.PostalCode], CountryRegionName as [Address.CountryRegionName] from Sales.vStoreWithAddresses WHERE AddressType='Main Office'" /s.NestingSeparator:. /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:StoresSub /t.IdField:Id /t.CollectionThroughput:2500

Importera CSV-filer och konvertera CSV-filer till JSON

Med alternativet importverktyget för CSV-filer kan du importera en eller flera CSV-filer. När du lägger till mappar som har CSV-filer för import kan du välja att rekursivt söka efter filer i undermappar.

Screenshot of CSV source options - CSV to JSON

På ungefär SQL kan kapslingsegenskapen avgränsare användas för att skapa hierarkiska relationer (underdokument) under importen. Tänk på följande CSV-rubrikrad och datarader:

Screenshot of CSV sample records - CSV to JSON

Observera alias som DomainInfo.Domain_Name RedirectInfo.Redirecting. Om du anger en kapslingsavgränsare för "." skapas underdokument för DomainInfo och RedirectInfo under importen med importverktyget. Här är ett exempel på ett resultatdokument i Azure Azure Azures DB:

{ "DomainInfo": { "Domain_Name": "ACUS.GOV", "Domain_Name_Address": " ; }, "Federal Agency": "Administrationskonferens i USA", "RedirectInfo": { "Redirecting": "0", "Redirect_Destination": "" }, "id": "9cc565c5-ebcd-1c03-ebd3-cc3e2ecd814d" }

Verktyget för import försöker utkeda typinformation för okvotade värden i CSV-filer (citerade värden behandlas alltid som strängar). Typer identifieras i följande ordning: tal, datetime, boolesk.

Det finns två andra saker att tänka på när du importerar CSV-fil:

  1. Som standard trimmas ociterade värden alltid för tabbar och blanksteg, medan citerade värden bevaras som de är. Detta beteende kan åsidosättas med kryssrutan Trimma citerade värden eller kommandoradsalternativet /s.TrimQuoted.
  2. Som standard behandlas ett okvotat null-värde som ett null-värde. Det här beteendet kan åsidosättas (d.v.s. behandla ett okvotat null som en "null"-sträng) med kryssrutan Behandla okvotat NULL som sträng eller kommandoradsalternativet /s.NoUnquotedNulls.

Här är ett kommandoradsexempel för CSV-import:

dt.exe /s:CsvFile /s.Files:.\Employees.csv /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:Employees /t.IdField:EntityID /t.CollectionThroughput:2500

Importera från Azure Table Storage

Med alternativet importverktyget för lagringskälla i Azure Kan du importera från en enskild Azure-tabelllagringstabell. Du kan också filtrera tabellenheterna som ska importeras.

Du kan mata ut data som importerats från Azure Table Storage till Azure Azure Azures DB-tabeller och -enheter som ska användas med Table API. Importerade data kan också lagras i samlingar och dokument som ska användas med SQL API. Tabell-API är emellertid bara tillgängligt som mål i kommandoradsverktyget. Du kan inte exportera till Table API med hjälp av verktyget Datamigrering. Mer information finns i Importera data för användning med Azure Azure Azures DB Table API.

Screenshot of Azure Table storage source options

Formatet för Azure Table Storage Connection-strängen är:

DefaultEndpointsProtocol=<protocol>;AccountName=<Account Name>;AccountKey=<Account Key>;

Obs!

Använd kommandot Verifiera för att säkerställa att den Azure Table Storage-instans som anges i anslutningssträngfältet kan nås.

Ange namnet på Azure-tabellen från som du vill importera från. Du kan ange ett filter.

Importverktyget för lagringskälla i Azure För tabell har följande ytterligare alternativ:

  1. Inkludera interna fält
    1. Alla – Inkludera alla interna fält (PartitionKey, RowKey och Timestamp)
    2. Ingen – exkludera alla interna fält
    3. RowKey – inkludera endast fältet RowKey
  2. Välj kolumner
    1. Azure-tabelllagringsfilter stöder inte projektioner. Om du bara vill importera specifika egenskaper för Entitet i Azure Table lägger du till dem i listan Välj kolumner. Alla andra entitetsegenskaper ignoreras.

Här är ett kommandoradsexempel som du kan använda för att importera från Azure Table Storage:

dt.exe /s:AzureTable /s.ConnectionString:"DefaultEndpointsProtocol=https;AccountName=<Account Name>;AccountKey=<Account Key>" /s.Table:metrics /s.InternalFields:All /s.Filter:"PartitionKey eq 'Partition1' and RowKey gt '00001'" /s.Projection:ObjectCount;ObjectSize  /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:metrics /t.CollectionThroughput:2500

Importera från Amazon DynamoDB

Med alternativet för importverktyget Amazon DynamoDB kan du importera från en enda Amazon DynamoDB-tabell. Alternativt kan du filtrera enheter som ska importeras. Det finns flera mallar så att det blir så enkelt som möjligt att konfigurera en import.

Screenshot of Amazon DynamoDB source options - database migration tools.

Screenshot of Amazon DynamoDB source options with template - database migration tools.

Formatet för Amazon DynamoDB-anslutningssträngen är:

ServiceURL=<Service Address>;AccessKey=<Access Key>;SecretKey=<Secret Key>;

Obs!

Använd kommandot Verify för att säkerställa att den Amazon DynamoDB-instans som anges i anslutningssträngfältet kan nås.

Här är ett kommandoradsexempel som du kan använda för att importera från Amazon DynamoDB:

dt.exe /s:DynamoDB /s.ConnectionString:ServiceURL=https://dynamodb.us-east-1.amazonaws.com;AccessKey=<accessKey>;SecretKey=<secretKey> /s.Request:"{   """TableName""": """ProductCatalog""" }" /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<Azure Cosmos DB Endpoint>;AccountKey=<Azure Cosmos DB Key>;Database=<Azure Cosmos database>;" /t.Collection:catalogCollection /t.CollectionThroughput:2500

Importera från Blob Storage i Azure

Med alternativen för JSON-, MongoDB-exportfil och CSV-filkälla kan du importera en eller flera filer från Azure Blob-lagring. När du har angett en BLOB-behållares URL och en kontonyckel anger du ett reguljärt uttryck för att välja den eller de filer som ska importeras.

Screenshot of Blob file source options

Här är ett exempel på kommandoraden för att importera JSON-filer från Azure Blob-lagring:

dt.exe /s:JsonFile /s.Files:"blobs://<account key>@account.blob.core.windows.net:443/importcontainer/.*" /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:doctest

Importera från en SQL API-samling

Med importalternativet Azure Azure Azures DB-källa kan du importera data från en eller flera Azure Azure-behållare och filtrera dokument med hjälp av en fråga.

Screenshot of Azure Cosmos DB source options

Formatet för Azure Azure Azures DB-anslutningssträng är:

AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;

Du kan hämta Azure Azure Azures DB-kontoanslutningssträngen från sidan Nycklar i Azure-portalen enligt beskrivningen i Hantera ett Azure Azure AzureS DB-konto. Namnet på databasen måste dock läggas till i anslutningssträngen i följande format:

Database=<CosmosDB Database>;

Obs!

Använd kommandot Verify för att säkerställa att Azure Hansson DB-instansen som anges i anslutningssträngfältet kan nås.

Om du vill importera från en enda Azure Sådd-behållare anger du namnet på den samling som du vill importera data från. Om du vill importera från fler än en Azure Azure Azure-behållare tillhandahåller du ett reguljärt uttryck som matchar ett eller flera samlingsnamn (till exempel samling01 | samling02 | samling03). Du kan ange, eller ange en fil för, en fråga för att både filtrera och forma de data som du importerar.

Obs!

Om du importerar från en enskild samling vars namn innehåller reguljära uttryck måste de tecknen finnas underse en i enlighet med detta eftersom samlingsfältet accepterar reguljära uttryck.

Importalternativet Azure Azure Azures DB-källa har följande avancerade alternativ:

  1. Inkludera interna fält: Anger om Azure Azures DB-dokumentsystemegenskaper ska ingå i exporten (till exempel _rid, _ts).
  2. Antal försök till fel: Anger hur många gånger anslutningen till Azure Azure Azure Db kan försökas igen vid tillfälliga fel (till exempel avbrott i nätverksanslutningen).
  3. Försök igen-intervall: Anger hur lång tid det tar mellan att försöka ansluta till Azure Azure AzureS DB vid tillfälliga fel (till exempel avbrott i nätverksanslutningen).
  4. Anslutningsläge: Anger det anslutningsläge som ska användas med Azure Azure Azures DB. De tillgängliga alternativen är DirectTcp, DirectHttps och Gateway. De direkta anslutningslägen är snabbare, medan gatewayläget är mer brandväggsvänligt eftersom det bara använder port 443.

Screenshot of Azure Cosmos DB source advanced options

Tips!

Importverktyget blir som standard anslutningsläget DirectTcp. Om du får problem med brandväggen kan du växla till anslutningslägesgateway eftersom det bara kräver port 443.

Här är några exempel på kommandoraden som du kan använda för att importera från Azure Azure Azures DB:

#Migrate data from one Azure Cosmos container to another Azure Cosmos containers
dt.exe /s:DocumentDB /s.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /s.Collection:TEColl /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:TESessions /t.CollectionThroughput:2500

#Migrate data from more than one Azure Cosmos container to a single Azure Cosmos container
dt.exe /s:DocumentDB /s.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /s.Collection:comp1|comp2|comp3|comp4 /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:singleCollection /t.CollectionThroughput:2500

#Export an Azure Cosmos container to a JSON file
dt.exe /s:DocumentDB /s.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /s.Collection:StoresSub /t:JsonFile /t.File:StoresExport.json /t.Overwrite

Tips!

Azure Azure Azures DB Data Import Tool har också stöd för import av data från Azure Azure Azures DB Emulator. När du importerar data från en lokal emulator anger du slutpunkten till https://localhost:<port> .

Importera från HBase

Med alternativet för importverktyget i HBase kan du importera data från en HBase-tabell och om du vill filtrera data. Det finns flera mallar så att det blir så enkelt som möjligt att konfigurera en import.

Screenshot of HBase source options.

Screenshot of HBase source options with the Filter contextual menu expanded.

Formatet på HBase-kopplingssträngen för det här är:

ServiceURL=<server-address>;Username=<username>;Password=<password>

Obs!

Använd kommandot Verify för att säkerställa att den HBase-instans som anges i anslutningssträngfältet inte kan nås.

Här är ett exempel på en kommandorad för import från HBase:

dt.exe /s:HBase /s.ConnectionString:ServiceURL=<server-address>;Username=<username>;Password=<password> /s.Table:Contacts /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:hbaseimport

Importera till SQL API (massimport)

Med importverktyget Azure Azure Azures DB Bulk kan du importera från alla tillgängliga källalternativ med hjälp av en Azure Azure Azures DB-lagrad procedur för effektivitet. Verktyget stöder import till en enda partitionerad Azure Azure-behållare. Den stöder även fragmenterad import där data partitioneras i mer än en partitionerad Azure Azure-behållare. Mer information om att partitionera data finns i Partitionering och skalning i Azure Azure AzureS DB. Verktyget skapar, kör och tar sedan bort den lagrade proceduren från målsamlingen..

Screenshot of Azure Cosmos DB bulk options

Formatet för Azure Azure Azures DB-anslutningssträng är:

AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;

Azure Azure Azures DB-kontoanslutningssträng kan hämtas från sidan Nycklar i Azure-portalen enligt beskrivningen i Så här hanterar du ett Azure Azure Azure Db-konto, men namnet på databasen måste läggas till i anslutningssträngeni följande format:

Database=<CosmosDB Database>;

Obs!

Använd kommandot Verify för att säkerställa att Azure Hansson DB-instansen som anges i anslutningssträngfältet kan nås.

Om du vill importera till en enstaka samling anger du namnet på den samling du vill importera data från och klickar på knappen Lägg till. Om du vill importera till mer än en samling anger du antingen varje samlingsnamn individuellt eller använder följande syntax för att ange fler än en samling: collection_prefix[startindex – slutindex]. När du anger mer än en samling med hjälp av syntaxen för uppföljande ska du tänka på följande riktlinjer:

  1. Endast namnmönster för heltalsintervall stöds. Om du till exempel anger samling[0-3] skapas följande samlingar: samling0, samling1, samling2, samling3.
  2. Du kan använda en förkortad syntax: samling[3] skapar samma uppsättning samlingar som nämns i steg 1.
  3. Mer än en ersättning kan tillhandahållas. Samling[0-1] [0-9] genererar till exempel 20 samlingsnamn med inledande nollor (samling01, .. 02, .. 03).

När samlingsnamnen har angetts väljer du önskat dataflöde för samlingen(er) (400 RUs till 10 000 RUs). Välj ett högre dataflöde för bästa importprestanda. Mer information om prestandanivåer finns i Prestandanivåer i Azure Azure Azures DB.

Obs!

Inställningen för prestandaflöde gäller endast när en samling skapas. Om den angivna samlingen redan finns ändras inte dess dataflöde.

När du importerar till mer än en samling har importverktyget stöd för hash-baserad fragmentering. I det här scenariot anger du den dokumentegenskap du vill använda som Partition-nyckel. (Om Partition-nyckeln lämnas tom fragmenteras dokument slumpmässigt i målsamlingarna.)

Du kan också ange vilket fält i importkällan som ska användas som Azure Azures DB-dokument-ID-egenskap under importen. Om dokumenten inte har den här egenskapen genererar importverktyget ett GUID som ID-egenskapsvärde.

Det finns ett antal avancerade alternativ under importen. När verktyget innehåller en standardprocedur för massimport (BulkInsert.js) kan du välja att ange en egen import lagrad procedur:

Screenshot of Azure Cosmos DB bulk insert sproc option

När du importerar datumtyper (till exempel från SQL Server eller MongoDB) kan du dessutom välja mellan tre importalternativ:

Screenshot of Azure Cosmos DB date time import options

  • Sträng: Spara som ett strängvärde
  • Epoch: Beständiga som ett värde för epoch-tal
  • Båda: Beständiga både sträng- och epoch-talvärden. Det här alternativet skapar en underdokument, till exempel: "date_joined": { "Värde": "2013-10-21T21:17:25.2410000Z", "Epoch": 1382390245 }

Importverktyget Azure Azure Azures DB Bulk har följande ytterligare avancerade alternativ:

  1. Batchstorlek: Verktyget har som standard en batchstorlek på 50. Om dokumenten som ska importeras är stora kan du sänka batchstorleken. Om de dokument som ska importeras är små kan du öka batchstorleken.
  2. Max skriptstorlek (byte): Verktyget har en maximal skriptstorlek på högst 512 kB.
  3. Inaktivera automatisk generering av ID: Om varje dokument som ska importeras har ett ID-fält kan du öka prestandan genom att välja det här alternativet. Dokument som saknar ett unikt ID-fält importeras inte.
  4. Uppdatera befintliga dokument: Verktyget ersätter inte befintliga dokument med ID-konflikter som standard. Om du väljer det här alternativet kan du skriva över befintliga dokument med matchande IDs. Den här funktionen är användbar vid schemalagda datamigrering som uppdaterar befintliga dokument.
  5. Antal försök till fel: Anger hur ofta anslutningen till Azure Azure AzureS DB ska försökas vid tillfälliga fel (till exempel vid avbrott i nätverksanslutningen).
  6. Försök igen-intervall: Anger hur lång tid det tar mellan att försöka ansluta till Azure Azure AzureS DB vid tillfälliga fel (till exempel avbrott i nätverksanslutningen).
  7. Anslutningsläge: Anger det anslutningsläge som ska användas med Azure Azure Azures DB. De tillgängliga alternativen är DirectTcp, DirectHttps och Gateway. De direkta anslutningslägen är snabbare, medan gatewayläget är mer brandväggsvänligt eftersom det bara använder port 443.

Screenshot of Azure Cosmos DB bulk import advanced options

Tips!

Importverktyget blir som standard anslutningsläget DirectTcp. Om du får problem med brandväggen kan du växla till anslutningslägesgateway eftersom det bara kräver port 443.

Importera till SQL (sekventiell postimport)

Med importverktyget Azure Azures DB-post kan du importera från ett tillgängligt källalternativ post för post. Du kan välja det här alternativet om du importerar till en befintlig samling som har nått sin kvot för lagrade procedurer. Verktyget stöder import till en enda (både enpartition och flerparts) Azure Azure-behållare. Den stöder även fragmenterad import där data partitioneras över mer än en enda partition eller Azure Azure-behållare med flera partitioner. Mer information om att partitionera data finns i Partitionering och skalning i Azure Azure AzureS DB.

Screenshot of Azure Cosmos DB sequential record import options

Formatet för Azure Azure Azures DB-anslutningssträng är:

AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;

Du kan hämta anslutningssträngen för Azure Azure Azures DB-kontot från sidan Nycklar i Azure-portalen enligt beskrivningen i Hantera ett Azure Azure AzureS DB-konto. Namnet på databasen måste dock läggas till i anslutningssträngen i följande format:

Database=<Azure Cosmos database>;

Obs!

Använd kommandot Verify för att säkerställa att Azure Hansson DB-instansen som anges i anslutningssträngfältet kan nås.

Om du vill importera till en enstaka samling anger du namnet på samlingen som du vill importera data till och klickar sedan på knappen Lägg till. Om du vill importera till mer än en samling anger du varje samlingsnamn individuellt. Du kan också använda följande syntax för att ange mer än en samling: collection_prefix[startindex - slutindex]. När du anger mer än en samling via syntaxen för uppföljande, ska du tänka på följande riktlinjer:

  1. Endast namnmönster för heltalsintervall stöds. Om du till exempel anger samling[0-3] skapas följande samlingar: samling0, samling1, samling2, samling3.
  2. Du kan använda en förkortad syntax: samling[3] skapar samma uppsättning samlingar som nämns i steg 1.
  3. Mer än en ersättning kan tillhandahållas. Till exempel skapar samling[0-1] [0-9] 20 samlingsnamn med inledande nollor (samling01, .. 02, .. 03).

När samlingsnamnen har angetts väljer du önskat dataflöde för samlingens (400 RUs till 250 000 RUs). Välj ett högre dataflöde för bästa importprestanda. Mer information om prestandanivåer finns i Prestandanivåer i Azure Azure Azures DB. Alla import till samlingar med dataflöde > 10 000 RUs kräver en partitionsnyckel. Om du väljer att ha fler än 250 000 RUs måste du göra en begäran i portalen för att få ditt konto utökat.

Obs!

Dataflödesinställningen gäller endast för skapande av samlingar eller databaser. Om den angivna samlingen redan finns ändras inte dess dataflöde.

När du importerar till fler än en samling har importverktyget stöd för hash-baserad fragmentering. I det här scenariot anger du den dokumentegenskap du vill använda som Partition-nyckel. (Om Partition-nyckeln lämnas tom fragmenteras dokument slumpmässigt i målsamlingarna.)

Du kan också ange vilket fält i importkällan som ska användas som Azure Azures DB-dokument-ID-egenskap under importen. (Om dokumenten inte har den här egenskapen genererar importverktyget ett GUID som ID-egenskapsvärde.)

Det finns ett antal avancerade alternativ under importen. När du importerar datumtyper (till exempel från SQL Server eller MongoDB) kan du först välja mellan tre importalternativ:

Screenshot of Azure Cosmos DB date time import options

  • Sträng: Spara som ett strängvärde
  • Epoch: Beständiga som ett värde för epoch-tal
  • Båda: Beständiga både sträng- och epoch-talvärden. Det här alternativet skapar en underdokument, till exempel: "date_joined": { "Värde": "2013-10-21T21:17:25.2410000Z", "Epoch": 1382390245 }

Importverktyget Azure Azure Azures DB – sekventiell post har följande avancerade alternativ:

  1. Antal parallella begäranden: Verktyget används som standard för två parallella begäranden. Om dokumenten som ska importeras är små kan du öka antalet parallella förfrågningar. Om talet upphöjs för mycket kan importen drabbas av en hastighetsbegränsning.
  2. Inaktivera automatisk generering av ID: Om varje dokument som ska importeras har ett ID-fält kan du öka prestandan genom att välja det här alternativet. Dokument som saknar ett unikt ID-fält importeras inte.
  3. Uppdatera befintliga dokument: Verktyget ersätter inte befintliga dokument med ID-konflikter som standard. Om du väljer det här alternativet kan du skriva över befintliga dokument med matchande IDs. Den här funktionen är användbar vid schemalagda datamigrering som uppdaterar befintliga dokument.
  4. Antal försök till fel: Anger hur ofta anslutningen till Azure Azure AzureS DB ska försökas vid tillfälliga fel (till exempel vid avbrott i nätverksanslutningen).
  5. Försök igen:Anger hur lång tid det tar att vänta mellan att försöka anslutningen till Azure Azure Azures DB vid tillfälliga fel (till exempel avbrott i nätverksanslutningen).
  6. Anslutningsläge: Anger det anslutningsläge som ska användas med Azure Azure Azures DB. De tillgängliga alternativen är DirectTcp, DirectHttps och Gateway. De direkta anslutningslägen är snabbare, medan gatewayläget är mer brandväggsvänligt eftersom det bara använder port 443.

Screenshot of Azure Cosmos DB sequential record import advanced options

Tips!

Importverktyget blir som standard anslutningsläget DirectTcp. Om du får problem med brandväggen kan du växla till anslutningslägesgateway eftersom det bara kräver port 443.

Ange en indexeringsprincip

När du tillåter migreringsverktyget för att skapa Azure Azures DB SQL API-samlingar under importen kan du ange indexeringsprincipen för samlingarna. Gå till avsnittet Indexeringsprincip i avsnittet Avancerade alternativ i Alternativen Azure Och Db-massimport och Azure Azure Azures SEKventiella poster.

Screenshot of Azure Cosmos DB Indexing Policy advanced options.

Med det avancerade alternativet Indexeringsprincip kan du välja en indexeringsprincipfil, ange en indexeringsprincip manuellt eller välja från en uppsättning standardmallar (genom att högerklicka i textrutan indexeringsprincip).

Principmallarna som verktyget tillhandahåller är:

  • Standard. Den här principen är bäst när du utför likhetsfrågor mot strängar. Det fungerar även om du använder ORDER BY-, intervall- och likhetsfrågor för tal. Den här principen har lägre kostnader för indexlagring än intervall.
  • Intervall. Den här principen är bäst när du använder ORDER BY-, intervall- och likhetsfrågor för både tal och strängar. Den här principen har högre kostnader för indexlagring än Standard eller Hash.

Screenshot of Azure Cosmos DB Indexing Policy advanced options specifying target information.

Obs!

Om du inte anger en indexeringsprincip används standardprincipen. Mer information om indexeringsprinciper finns i Azure Azure AzureS DB-indexeringsprinciper.

Exportera till JSON-fil

Med Azure Azure Azures DB JSON-exporter kan du exportera alla tillgängliga källalternativ till en JSON-fil som har en matris med JSON-dokument. Verktyget hanterar exporten åt dig. Alternativt kan du välja att visa det resulterande migreringskommandot och köra kommandot själv. Den resulterande JSON-filen kan lagras lokalt eller i Azure Blob-lagring.

Screenshot of Azure Cosmos DB JSON local file export option

Screenshot of Azure Cosmos DB JSON Azure Blob storage export option

Du kan även välja att förstärka den resulterande JSON. Den här åtgärden ökar storleken på det resulterande dokumentet samtidigt som innehållet blir mer läsbart för människor.

  • Standard-JSON-export

    [{"id":"Sample","Title":"About Paris","Language":{"Name":"English"},"Author":{"Name":"Don","Location":{"City":"Paris","Country":"France"}},"Content":"Don's document in Azure Cosmos DB is a valid JSON document as defined by the JSON spec.","PageViews":10000,"Topics":[{"Title":"History of Paris"},{"Title":"Places to see in Paris"}]}]
    
  • Föridentifierad JSON-export

      [
       {
      "id": "Sample",
      "Title": "About Paris",
      "Language": {
        "Name": "English"
      },
      "Author": {
        "Name": "Don",
        "Location": {
          "City": "Paris",
          "Country": "France"
        }
      },
      "Content": "Don's document in Azure Cosmos DB is a valid JSON document as defined by the JSON spec.",
      "PageViews": 10000,
      "Topics": [
        {
          "Title": "History of Paris"
        },
        {
          "Title": "Places to see in Paris"
        }
      ]
      }]
    

Här är ett kommandoradsexempel för att exportera JSON-filen till Azure Blob Storage:

dt.exe /ErrorDetails:All /s:DocumentDB /s.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB database_name>" /s.Collection:<CosmosDB collection_name>
/t:JsonFile /t.File:"blobs://<Storage account key>@<Storage account name>.blob.core.windows.net:443/<Container_name>/<Blob_name>"
/t.Overwrite

Avancerad konfiguration

På skärmen Avancerad konfiguration anger du platsen för den loggfil som du vill att eventuella fel ska skrivas till. Följande regler gäller för den här sidan:

  1. Om ett filnamn inte anges returneras alla fel på sidan Resultat.

  2. Om ett filnamn anges utan katalog skapas (eller skrivs över) filen i den aktuella miljökatalogen.

  3. Om du markerar en befintlig fil skrivs filen över och det finns inget tilläggsalternativ.

  4. Välj sedan om du vill logga alla, kritiska eller inga felmeddelanden. Slutligen bestäm hur ofta överföringsmeddelandet på skärmen ska uppdateras med förloppet.

    Screenshot of Advanced configuration screen

Bekräfta importinställningar och visa kommandoraden

  1. När du har angett källinformation, målinformation och avancerad konfiguration granskar du migreringssammanfattningen och visar eller kopierar det resulterande migreringskommandot om du vill. (Att kopiera kommandot är användbart för att automatisera importåtgärder.)

    Screenshot of summary screen.

    Screenshot of summary screen with Command Line Preview.

  2. När du är nöjd med alternativen för källa och mål klickar du på Importera. Förfluten tid, överfört antal och felinformation (om du inte anger ett filnamn i den avancerade konfigurationen) när importen pågår. När det är klart kan du exportera resultatet (till exempel för att hantera eventuella importfel).

    Screenshot of Azure Cosmos DB JSON export option.

  3. Du kan också påbörja en ny import genom att antingen återställa alla värden eller behålla de befintliga inställningarna. (Du kan till exempel välja att behålla information om anslutningssträngen, valet av källa och mål med mera.)

    Screenshot of Azure Cosmos DB JSON export option with the New Import confirmation dialog box.

Nästa steg

I den här självstudiekursen har du gjort följande:

  • Installerat datamigreringsverktyget
  • Importerade data från olika datakällor
  • Exporterad från Azure Azure Azures DB till JSON

Nu kan du gå vidare till nästa självstudiekurs och lära dig hur du kör frågor mot data med Azure Azure Azures DB.

Försöker du göra kapacitetsplanering för en migrering till Azure Azure Azures DB?