Uw gegevens migreren naar een Azure Cosmos DB Table-API account

VAN TOEPASSING OP: Table-API

In deze zelfstudie vindt u instructies voor het importeren van gegevens voor gebruik met de Azure Cosmos DB Table-API. Als u gegevens hebt opgeslagen in Azure Table Storage, kunt u het hulpprogramma voor gegevensmigratie of AzCopy gebruiken om uw gegevens te importeren in de Azure Cosmos DB Table-API.

Deze zelfstudie bestaat uit de volgende taken:

  • Gegevens importeren met het hulpprogramma voor gegevensmigratie
  • Gegevens importeren met AzCopy

Vereisten

  • Doorvoer vergroten: de duur van de gegevensmigratie is afhankelijk van de hoeveelheid doorvoer die u voor een afzonderlijke container of een reeks containers instelt. Verhoog de doorvoer voor grotere gegevensmigraties. Nadat u de migratie hebt voltooid, verlaagt u de doorvoer om kosten te besparen.

  • Maak Azure Cosmos DB resources: Voordat u begint met het migreren van de gegevens, moet u al uw tabellen maken op Azure Portal. Als u migreert naar een Azure Cosmos DB-account met doorvoer op databaseniveau, moet u een partitiesleutel verstrekken wanneer u de Azure Cosmos DB maakt.

Hulpprogramma voor gegevensmigratie

U kunt het opdrachtregelprogramma voor gegevensmigratie (dt.exe) in Azure Cosmos DB gebruiken om uw bestaande Azure Table Storage-gegevens te importeren in een Table-API-account.

Tabelgegevens migreren:

  1. Download het migratieprogramma op GitHub.

  2. Voer dt.exe uit met behulp van de opdrachtregelargumenten voor uw scenario. dt.exe wordt uitgevoerd met een opdracht in de volgende indeling:

     dt.exe [/<option>:<value>] /s:<source-name> [/s.<source-option>:<value>] /t:<target-name> [/t.<target-option>:<value>] 
    

De ondersteunde opties voor deze opdracht zijn:

  • /ErrorLog: Optioneel. Naam van het CSV-bestand om fouten bij de gegevensoverdracht om te leiden.
  • /OverwriteErrorLog: Optioneel. Overschrijf het foutenlogboekbestand.
  • /ProgressUpdateInterval: Optioneel, standaard is 00:00:01 . Het tijdsinterval voor het vernieuwen van de voortgang van de gegevensoverdracht op het scherm.
  • /ErrorDetails: Optioneel, standaard is None . Hiermee geeft u op dat gedetailleerde foutgegevens moeten worden weergegeven voor de volgende fouten: None Critical , of All .
  • /EnableCosmosTableLog: Optioneel. Het logboek om te leiden naar een Azure Cosmos DB tabelaccount. Als deze is ingesteld, wordt dit standaard ingesteld op het doelaccount connection string tenzij /CosmosTableLogConnectionString ook wordt opgegeven. Dit is handig als er meerdere exemplaren van het hulpprogramma tegelijkertijd worden uitgevoerd.
  • /CosmosTableLogConnectionString: Optioneel. De connection string om het logboek door te sturen naar een extern Azure Cosmos DB tabelaccount.

Broninstellingen voor de opdrachtregel

Gebruik de volgende bronopties wanneer u Azure Table Storage als de bron van de migratie.

  • /s:AzureTable: Leest gegevens uit tabel Storage.
  • /s.ConnectionString: Verbindingsreeks voor het eindpunt van de tabel. U kunt deze ophalen uit de Azure Portal.
  • /s.LocationMode: Optioneel, standaard is PrimaryOnly . Hiermee geeft u op welke locatiemodus moet worden gebruikt om verbinding te maken met Table Storage: PrimaryOnly PrimaryThenSecondary , , , SecondaryOnly SecondaryThenPrimary .
  • /s.Table: Naam van de Azure-tabel.
  • /s.InternalFields: Stel in All op voor tabelmigratie, omdat RowKey en vereist zijn voor PartitionKey importeren.
  • /s.Filter: Optioneel. Filterreeks die moet worden toegepast.
  • /s.Projection: Optioneel. Lijst met kolommen die moeten worden geselecteerd,

Als u de broncode wilt connection string u importeert uit Table Storage, opent u de Azure Portal. Selecteer Storage > accounttoegangssleutels > en kopieer de verbindingsreeks.

Schermopname met Storage accounts > opties > Toegangssleutels en het kopieerpictogram is gelicht.

Doelinstellingen voor opdrachtregel

Gebruik de volgende doelopties wanneer u de Azure Cosmos DB Table-API definieert als het doel van de migratie.

  • /t:TableAPIBulk: Uploadt gegevens in de Azure Cosmos DB Table-API in batches.
  • /t.ConnectionString: De connection string voor het tabel-eindpunt.
  • /t.TableName: Hiermee geeft u de naam op van de tabel waar u naar wilt schrijven.
  • /t.Overwrite: Optioneel, standaard is false . Hiermee geeft u op of bestaande waarden moeten worden overschreven.
  • /t.MaxInputBufferSize: Optioneel, standaard is 1GB . Geschatte schatting van invoer-bytes die moeten worden gebufferd voordat gegevens naar sink worden leeggetrokken.
  • /t.Throughput: Optioneel, standaardinstellingen van service als niet opgegeven. Hiermee geeft u de doorvoer op die moet worden geconfigureerd voor de tabel.
  • /t.MaxBatchSize: Optioneel, standaard is 2MB . Geef de batchgrootte in bytes op.

Voorbeeldopdracht: Bron is Tabel Storage

Hier is een voorbeeld van een opdrachtregel die laat zien hoe u vanuit Tabelgegevens Storage naar de Table-API:

dt /s:AzureTable /s.ConnectionString:DefaultEndpointsProtocol=https;AccountName=<Azure Table storage account name>;AccountKey=<Account Key>;EndpointSuffix=core.windows.net /s.Table:<Table name> /t:TableAPIBulk /t.ConnectionString:DefaultEndpointsProtocol=https;AccountName=<Azure Cosmos DB account name>;AccountKey=<Azure Cosmos DB account key>;TableEndpoint=https://<Account name>.table.cosmos.azure.com:443 /t.TableName:<Table name> /t.Overwrite

Gegevens migreren met AzCopy

U kunt ook het AzCopy-opdrachtregelprogramma gebruiken om gegevens te migreren van Table Storage naar de Azure Cosmos DB Table-API. Als u AzCopy wilt gebruiken, exporteert u eerst uw gegevens zoals beschreven in Gegevens exporteren uit tabel Storage. Vervolgens importeert u de gegevens naar Azure Cosmos DB Table-API met de volgende opdracht. U kunt ook importeren in Azure Table Storage.

Raadpleeg het volgende voorbeeld wanneer u importeert in Azure Cosmos DB. Houd er rekening mee /Dest dat voor de waarde wordt cosmosdb gebruikt, niet core .

Voorbeeld van opdracht voor importeren:

AzCopy /Source:C:\myfolder\ /Dest:https://myaccount.table.cosmosdb.windows.net/mytable1/ /DestKey:key /Manifest:"myaccount_mytable_20140103T112020.manifest" /EntityOperation:InsertOrReplace

Volgende stappen

Meer informatie over het uitvoeren van query's op gegevens met behulp van Azure Cosmos DB Table-API.