Gegevens verplaatsen met behulp van Azure Data Factory

Voltooid

Azure Data Factory is een systeemeigen service om gegevens te extraheren, te transformeren en te laden in sinks en op een volledig serverloze manier op te slaan. Vanuit het perspectief van gegevensintegratie betekent dit dat u gegevens van het ene gegevensarchief naar het andere kunt marshalen, ongeacht de nuances van elk gegevensarchief, zolang u de gegevens redelijkerwijs tussen elk gegevensparadigma kunt transformeren.

Instellingen

Azure Cosmos DB for NoSQL is beschikbaar als een gekoppelde service in Azure Data Factory. Dit type gekoppelde service wordt ondersteund als gegevensbron en als doel (sink) van gegevensuitvoer. Voor beide is de configuratie identiek. Zorg ervoor dat u de machtigingen voor beheerde identiteit en op rollen gebaseerd toegangsbeheer (RBAC) hebt ingeschakeld voor uw Cosmos DB-account. U kunt de service configureren met behulp van Azure Portal of u kunt ook een JSON-object gebruiken.

{
    "name": "<example-name-of-linked-service>",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "accountEndpoint": "https://<cosmos-account-name>.documents.azure.com:443/",
            "authenticationType": "ManagedIdentity"
        }
    }
}

Lezen uit Azure Cosmos DB

Bij het lezen van gegevens uit Azure Cosmos DB for NoSQL in Azure Data Factory moeten we onze gekoppelde service configureren als bron. Met deze instelling worden gegevens gelezen. Als u deze optie wilt configureren, moet u een SQL-query maken van de gegevens waarin we willen lezen. We schrijven bijvoorbeeld een query SELECT id, categoryId, price, quantity, name FROM products WHERE price > 500 zoals het filteren van de items uit de container waarin we willen lezen van Azure Cosmos DB for NoSQL naar Azure Data Factory om te worden getransformeerd en vervolgens uiteindelijk in ons doelgegevensarchief worden geladen.

In Azure Data Factory heeft onze bronactiviteit een JSON-configuratieobject dat we kunnen gebruiken om eigenschappen zoals de query in te stellen:

{
    "source": {
        "type": "CosmosDbSqlApiSource",
        "query": "SELECT id, categoryId, price, quantity, name FROM products WHERE price > 500",
        "preferredRegions": [
            "East US",
            "West US"
        ]        
    }
}

Schrijven naar Azure Cosmos DB

Wanneer u in Azure Data Factory gegevens opslaat in Azure Cosmos DB for NoSQL, moeten we onze gekoppelde service configureren als sink. Met deze instelling worden onze gegevens geladen. Als u deze optie wilt configureren, moet u het schrijfgedrag instellen. We willen bijvoorbeeld onze gegevens invoegen, of misschien willen we onze gegevens upsert en items overschrijven die mogelijk een overeenkomende unieke id (id-veld ) hebben.

Onze sinkactiviteit had ook een JSON-configuratieobject:

"sink": {
    "type": "CosmosDbSqlApiSink",
    "writeBehavior": "upsert"
}