Flytta data med hjälp av Azure Data Factory
Azure Data Factory är en inbyggd tjänst för att extrahera data, transformera dem och ladda dem över olika mål och lagringslösningar på ett helt serverlöst sätt. Ur ett dataintegreringsperspektiv innebär det att du kan konvertera data från ett datalager till ett annat, oavsett nyanser för var och en, så länge du rimligen kan transformera data mellan varje dataparadigm.
Ställ in
Azure Cosmos DB for NoSQL är tillgängligt som en länkad tjänst i Azure Data Factory. Den här typen av länkad tjänst stöds både som datakälla och som mål (mottagare) för datautdata. För båda är konfigurationen identisk. Kontrollera att du har aktiverat behörigheterna för hanterad identitet och rollbaserad åtkomstkontroll (RBAC) för ditt Cosmos DB-konto. Du kan konfigurera tjänsten med hjälp av Azure Portal eller alternativt använda ett JSON-objekt.
{
"name": "<example-name-of-linked-service>",
"properties": {
"type": "CosmosDb",
"typeProperties": {
"accountEndpoint": "https://<cosmos-account-name>.documents.azure.com:443/",
"authenticationType": "ManagedIdentity"
}
}
}
Läsa från Azure Cosmos DB
När vi läser data från Azure Cosmos DB för NoSQL i Azure Data Factory måste vi konfigurera vår länkade tjänst som källa. Den här inställningen läser in data. För att konfigurera det här alternativet måste vi skapa en SQL-fråga med de data som vi vill läsa in. Vi skriver till exempel en fråga som SELECT id, categoryId, price, quantity, name FROM products WHERE price > 500 att filtrera objekten från containern som vi vill läsa in från Azure Cosmos DB för Att NoSQL till Azure Data Factory ska transformeras och sedan läsas in i vårt måldatalager.
I Azure Data Factory har vår källaktivitet ett JSON-konfigurationsobjekt som vi kan använda för att ange egenskaper som frågan:
{
"source": {
"type": "CosmosDbSqlApiSource",
"query": "SELECT id, categoryId, price, quantity, name FROM products WHERE price > 500",
"preferredRegions": [
"East US",
"West US"
]
}
}
Skriva till Azure Cosmos DB
När du lagrar data till Azure Cosmos DB för NoSQL i Azure Data Factory måste vi konfigurera vår länkade tjänst som en mottagare. Den här inställningen läser in våra data. För att konfigurera det här alternativet måste vi ange vårt skrivbeteende. Vi kanske till exempel vill infoga våra data, eller så kanske vi vill öka våra data och skriva över objekt som kan ha en matchande unik identifierare (ID-fält ).
Vår sinkaktivitet hade också ett JSON-konfigurationsobjekt:
"sink": {
"type": "CosmosDbSqlApiSink",
"writeBehavior": "upsert"
}