Share via


Gegevens kopiëren en transformeren in Azure Cosmos DB for NoSQL met behulp van Azure Data Factory

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

In dit artikel wordt beschreven hoe u kopieeractiviteit in Azure Data Factory gebruikt om gegevens van en naar Azure Cosmos DB voor NoSQL te kopiëren en Gegevensstroom te gebruiken om gegevens te transformeren in Azure Cosmos DB for NoSQL. Lees de inleidende artikelen voor Azure Data Factory en Azure Synapse Analytics voor meer informatie.

Notitie

Deze connector biedt alleen ondersteuning voor Azure Cosmos DB voor NoSQL. Raadpleeg voor Azure Cosmos DB voor MongoDB de connector voor Azure Cosmos DB voor MongoDB. Andere API-typen worden nu niet ondersteund.

Ondersteunde mogelijkheden

Deze Azure Cosmos DB for NoSQL-connector wordt ondersteund voor de volgende mogelijkheden:

Ondersteunde mogelijkheden IR Beheerd privé-eindpunt
Copy-activiteit (bron/sink) (1) (2)
Toewijzingsgegevensstroom (bron/sink) (1)
Activiteit Lookup (1) (2)

(1) Azure Integration Runtime (2) Zelf-hostende Integration Runtime

Voor Copy-activiteit ondersteunt deze Azure Cosmos DB for NoSQL-connector:

  • Kopieer gegevens van en naar de Azure Cosmos DB for NoSQL met behulp van sleutel-, service-principal- of beheerde identiteiten voor Verificaties van Azure-resources.
  • Schrijf naar Azure Cosmos DB als insert of upsert.
  • JSON-documenten als zodanig importeren en exporteren, of gegevens kopiëren van of naar een gegevensset in tabelvorm. Voorbeelden hiervan zijn een SQL-database en een CSV-bestand. Zie JSON-documenten importeren en exporteren als u documenten wilt kopiëren naar of van JSON-bestanden of van of naar een andere Azure Cosmos DB-verzameling.

Data Factory- en Synapse-pijplijnen kunnen worden geïntegreerd met de bulkexecutorbibliotheek van Azure Cosmos DB om de beste prestaties te bieden wanneer u naar Azure Cosmos DB schrijft.

Tip

De video over gegevensmigratie begeleidt u bij het kopiëren van gegevens uit Azure Blob Storage naar Azure Cosmos DB. In de video worden ook overwegingen voor het afstemmen van prestaties beschreven voor het opnemen van gegevens naar Azure Cosmos DB in het algemeen.

Aan de slag

Als u de kopieeractiviteit wilt uitvoeren met een pijplijn, kunt u een van de volgende hulpprogramma's of SDK's gebruiken:

Een gekoppelde service maken in Azure Cosmos DB met behulp van de gebruikersinterface

Gebruik de volgende stappen om een gekoppelde service te maken voor Azure Cosmos DB in de gebruikersinterface van Azure Portal.

  1. Blader naar het tabblad Beheren in uw Azure Data Factory- of Synapse-werkruimte en selecteer Gekoppelde services en klik vervolgens op Nieuw:

  2. Zoek naar Azure Cosmos DB voor NoSQL en selecteer de Azure Cosmos DB for NoSQL-connector.

    Selecteer Azure Cosmos DB for NoSQL-connector.

  3. Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.

    Schermopname van de configuratie van gekoppelde services voor Azure Cosmos DB.

Configuratiedetails van connector

De volgende secties bevatten informatie over eigenschappen die u kunt gebruiken om entiteiten te definiëren die specifiek zijn voor Azure Cosmos DB voor NoSQL.

Eigenschappen van gekoppelde service

De Azure Cosmos DB for NoSQL-connector ondersteunt de volgende verificatietypen. Zie de bijbehorende secties voor meer informatie:

Verificatie met sleutel

Eigenschappen Beschrijving Vereist
type De eigenschap type moet worden ingesteld op CosmosDb. Ja
connectionString Geef informatie op die nodig is om verbinding te maken met de Azure Cosmos DB-database.
Opmerking: U moet databasegegevens opgeven in de verbindingsreeks, zoals wordt weergegeven in de volgende voorbeelden.
U kunt ook de accountsleutel in Azure Key Vault plaatsen en de accountKey configuratie uit de verbindingsreeks halen. Raadpleeg de volgende voorbeelden en sla referenties op in het Artikel over Azure Key Vault met meer informatie.
Ja
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt De Azure Integration Runtime of een zelf-hostende Integration Runtime gebruiken (als uw gegevensarchief zich in een particulier netwerk bevindt). Als deze eigenschap niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nee

Voorbeeld

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "connectionString": "AccountEndpoint=<EndpointUrl>;AccountKey=<AccessKey>;Database=<Database>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Voorbeeld: accountsleutel opslaan in Azure Key Vault

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "connectionString": "AccountEndpoint=<EndpointUrl>;Database=<Database>",
            "accountKey": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Verificatie van service-principal

Notitie

Momenteel wordt de verificatie van de service-principal niet ondersteund in de gegevensstroom.

Volg deze stappen om verificatie van de service-principal te gebruiken.

  1. Een toepassing registreren bij het Microsoft-identiteitsplatform. Zie quickstart: Een toepassing registreren bij het Microsoft Identity Platform voor meer informatie. Noteer deze waarden, die u gebruikt om de gekoppelde service te definiëren:

    • Toepassings-id
    • Toepassingssleutel
    • Tenant-id
  2. Verdeel de juiste machtiging voor de service-principal. Zie voorbeelden van hoe machtigingen in Azure Cosmos DB werken vanuit toegangsbeheerlijsten voor bestanden en mappen. Maak met name een roldefinitie en wijs de rol toe aan de service-principal via de object-id van de service-principal.

Deze eigenschappen worden ondersteund voor de gekoppelde service:

Eigenschappen Beschrijving Vereist
type De eigenschap type moet worden ingesteld op CosmosDb. Ja
accountEndpoint Geef de eindpunt-URL voor het account op voor het Azure Cosmos DB-exemplaar. Ja
database Geef de naam van de database op. Ja
servicePrincipalId Geef de client-id van de toepassing op. Ja
servicePrincipalCredentialType Het referentietype dat moet worden gebruikt voor verificatie van de service-principal. Toegestane waarden zijn ServicePrincipalKey en ServicePrincipalCert. Ja
servicePrincipalCredential De referenties van de service-principal.
Wanneer u ServicePrincipalKey als referentietype gebruikt, geeft u de sleutel van de toepassing op. Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault.
Wanneer u ServicePrincipalCert als referentie gebruikt, verwijst u naar een certificaat in Azure Key Vault en zorgt u ervoor dat het certificaatinhoudstype PKCS #12 is.
Ja
tenant Geef de tenantgegevens (domeinnaam of tenant-id) op waaronder uw toepassing zich bevindt. Haal deze op door de muis in de rechterbovenhoek van Azure Portal te bewegen. Ja
azureCloudType Geef voor service-principalverificatie het type Azure-cloudomgeving op waarnaar uw Microsoft Entra-toepassing is geregistreerd.
Toegestane waarden zijn AzurePublic, AzureChina, AzureUsGovernment en AzureGermany. Standaard wordt de cloudomgeving van de service gebruikt.
Nee
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt de Azure Integration Runtime of een zelf-hostende Integration Runtime gebruiken als uw gegevensarchief zich in een particulier netwerk bevindt. Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nee

Voorbeeld: verificatie van de service-principalsleutel gebruiken

U kunt ook een service-principalsleutel opslaan in Azure Key Vault.

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "accountEndpoint": "<account endpoint>",
            "database": "<database name>",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType": "ServicePrincipalKey",
            "servicePrincipalCredential": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Voorbeeld: verificatie van service-principalcertificaten gebruiken

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "accountEndpoint": "<account endpoint>",
            "database": "<database name>", 
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType": "ServicePrincipalCert",
            "servicePrincipalCredential": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<AKV reference>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<certificate name in AKV>" 
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Door het systeem toegewezen beheerde identiteitverificatie

Notitie

Momenteel wordt de door het systeem toegewezen beheerde identiteitverificatie ondersteund in gegevensstromen via het gebruik van geavanceerde eigenschappen in JSON-indeling.

Een data factory of Synapse-pijplijn kan worden gekoppeld aan een door het systeem toegewezen beheerde identiteit voor Azure-resources, die dit specifieke service-exemplaar vertegenwoordigt. U kunt deze beheerde identiteit rechtstreeks gebruiken voor Azure Cosmos DB-verificatie, vergelijkbaar met het gebruik van uw eigen service-principal. Hiermee kan deze aangewezen resource toegang krijgen tot en gegevens kopiëren van of naar uw Azure Cosmos DB-exemplaar.

Volg deze stappen om door het systeem toegewezen beheerde identiteiten te gebruiken voor Azure-resourceverificatie.

  1. Haal de door het systeem toegewezen beheerde identiteitsgegevens op door de waarde van de object-id van de beheerde identiteit te kopiëren die samen met uw service is gegenereerd.

  2. Verwijs de door het systeem toegewezen beheerde identiteit de juiste machtiging. Zie voorbeelden van hoe machtigingen in Azure Cosmos DB werken vanuit toegangsbeheerlijsten voor bestanden en mappen. Maak met name een roldefinitie en wijs de rol toe aan de door het systeem toegewezen beheerde identiteit.

Deze eigenschappen worden ondersteund voor de gekoppelde service:

Eigenschappen Beschrijving Vereist
type De eigenschap type moet worden ingesteld op CosmosDb. Ja
accountEndpoint Geef de eindpunt-URL voor het account op voor het Azure Cosmos DB-exemplaar. Ja
database Geef de naam van de database op. Ja
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt de Azure Integration Runtime of een zelf-hostende Integration Runtime gebruiken als uw gegevensarchief zich in een particulier netwerk bevindt. Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nee
subscriptionId Geef de abonnements-id op voor het Azure Cosmos DB-exemplaar Nee voor kopieeractiviteit, Ja voor toewijzing Gegevensstroom
tenantId Geef de tenant-id op voor het Azure Cosmos DB-exemplaar Nee voor kopieeractiviteit, Ja voor toewijzing Gegevensstroom
resourceGroup Geef de naam van de resourcegroep op voor het Azure Cosmos DB-exemplaar Nee voor kopieeractiviteit, Ja voor toewijzing Gegevensstroom

Voorbeeld:

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "accountEndpoint": "<account endpoint>",
            "database": "<database name>",
            "subscriptionId": "<subscription id>",
            "tenantId": "<tenant id>",
            "resourceGroup": "<resource group>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Door de gebruiker toegewezen beheerde identiteitverificatie

Notitie

Momenteel wordt door de gebruiker toegewezen beheerde identiteitverificatie ondersteund in gegevensstromen via het gebruik van geavanceerde eigenschappen in JSON-indeling.

Een data factory of Synapse-pijplijn kan worden gekoppeld aan een door de gebruiker toegewezen beheerde identiteiten, die dit specifieke service-exemplaar vertegenwoordigt. U kunt deze beheerde identiteit rechtstreeks gebruiken voor Azure Cosmos DB-verificatie, vergelijkbaar met het gebruik van uw eigen service-principal. Hiermee kan deze aangewezen resource toegang krijgen tot en gegevens kopiëren van of naar uw Azure Cosmos DB-exemplaar.

Volg deze stappen om door de gebruiker toegewezen beheerde identiteiten te gebruiken voor Azure-resourceverificatie.

  1. Maak een of meerdere door de gebruiker toegewezen beheerde identiteiten en verdeel de door de gebruiker toegewezen beheerde identiteit de juiste machtiging. Zie voorbeelden van hoe machtigingen in Azure Cosmos DB werken vanuit toegangsbeheerlijsten voor bestanden en mappen. Maak met name een roldefinitie en wijs de rol toe aan de door de gebruiker toegewezen beheerde identiteit.

  2. Wijs een of meerdere door de gebruiker toegewezen beheerde identiteiten toe aan uw data factory en maak referenties voor elke door de gebruiker toegewezen beheerde identiteit.

Deze eigenschappen worden ondersteund voor de gekoppelde service:

Eigenschappen Beschrijving Vereist
type De eigenschap type moet worden ingesteld op CosmosDb. Ja
accountEndpoint Geef de eindpunt-URL voor het account op voor het Azure Cosmos DB-exemplaar. Ja
database Geef de naam van de database op. Ja
aanmeldingsgegevens Geef de door de gebruiker toegewezen beheerde identiteit op als referentieobject. Ja
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. U kunt de Azure Integration Runtime of een zelf-hostende Integration Runtime gebruiken als uw gegevensarchief zich in een particulier netwerk bevindt. Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nee
subscriptionId Geef de abonnements-id op voor het Azure Cosmos DB-exemplaar Nee voor kopieeractiviteit, Ja voor toewijzing Gegevensstroom
tenantId Geef de tenant-id op voor het Azure Cosmos DB-exemplaar Nee voor kopieeractiviteit, Ja voor toewijzing Gegevensstroom
resourceGroup Geef de naam van de resourcegroep op voor het Azure Cosmos DB-exemplaar Nee voor kopieeractiviteit, Ja voor toewijzing Gegevensstroom

Voorbeeld:

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "accountEndpoint": "<account endpoint>",
            "database": "<database name>",
            "credential": {
                "referenceName": "credential1",
                "type": "CredentialReference"
            },
            "subscriptionId": "<subscription id>",
            "tenantId": "<tenant id>",
            "resourceGroup": "<resource group>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Eigenschappen van gegevensset

Zie Gegevenssets en gekoppelde services voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van gegevenssets.

De volgende eigenschappen worden ondersteund voor azure Cosmos DB for NoSQL-gegevensset:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de gegevensset moet worden ingesteld op CosmosDbSqlApiCollection. Ja
collectionName De naam van de Azure Cosmos DB-documentverzameling. Ja

Als u een gegevensset van het type DocumentDbCollection gebruikt, wordt deze nog steeds ondersteund voor achterwaartse compatibiliteit voor kopieer- en opzoekactiviteit, wordt deze niet ondersteund voor Gegevensstroom. U wordt aangeraden het nieuwe model in de toekomst te gebruiken.

Voorbeeld

{
    "name": "CosmosDbSQLAPIDataset",
    "properties": {
        "type": "CosmosDbSqlApiCollection",
        "linkedServiceName":{
            "referenceName": "<Azure Cosmos DB linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [],
        "typeProperties": {
            "collectionName": "<collection name>"
        }
    }
}

Eigenschappen van kopieeractiviteit

Deze sectie bevat een lijst met eigenschappen die worden ondersteund door de Azure Cosmos DB for NoSQL-bron en -sink. Zie Pijplijnen voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van activiteiten.

Azure Cosmos DB for NoSQL als bron

Als u gegevens wilt kopiëren uit Azure Cosmos DB for NoSQL, stelt u het brontype in Kopieeractiviteit in op DocumentDbCollectionSource.

De volgende eigenschappen worden ondersteund in de sectie Bron van kopieeractiviteit:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de bron van de kopieeractiviteit moet worden ingesteld op CosmosDbSqlApiSource. Ja
query Geef de Azure Cosmos DB-query op om gegevens te lezen.

Voorbeeld:
SELECT c.BusinessEntityID, c.Name.First AS FirstName, c.Name.Middle AS MiddleName, c.Name.Last AS LastName, c.Suffix, c.EmailPromotion FROM c WHERE c.ModifiedDate > \"2009-01-01T00:00:00\"
Nee

Als dit niet is opgegeven, wordt deze SQL-instructie uitgevoerd: select <columns defined in structure> from mycollection
preferredRegions De voorkeurslijst met regio's waarmee u verbinding wilt maken bij het ophalen van gegevens uit Azure Cosmos DB. Nee
Pagesize Het aantal documenten per pagina van het queryresultaat. De standaardwaarde is -1. Dit betekent dat het dynamische paginaformaat aan de servicezijde wordt gebruikt tot 1000. Nee
detectDatetime Hiermee wordt aangegeven of datum/tijd moet worden gedetecteerd op basis van de tekenreekswaarden in de documenten. Toegestane waarden zijn: true (standaard), false. Nee

Als u de typebron DocumentDbCollectionSource gebruikt, wordt deze nog steeds ondersteund voor compatibiliteit met eerdere versies. U wordt aangeraden om het nieuwe model in de toekomst te gebruiken, dat uitgebreidere mogelijkheden biedt voor het kopiëren van gegevens uit Azure Cosmos DB.

Voorbeeld

"activities":[
    {
        "name": "CopyFromCosmosDBSQLAPI",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Cosmos DB for NoSQL input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "CosmosDbSqlApiSource",
                "query": "SELECT c.BusinessEntityID, c.Name.First AS FirstName, c.Name.Middle AS MiddleName, c.Name.Last AS LastName, c.Suffix, c.EmailPromotion FROM c WHERE c.ModifiedDate > \"2009-01-01T00:00:00\"",
                "preferredRegions": [
                    "East US"
                ]
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Wanneer u gegevens kopieert uit Azure Cosmos DB, tenzij u JSON-documenten als zodanig wilt exporteren, kunt u het beste de toewijzing in de kopieeractiviteit opgeven. De service krijgt de toewijzing die u hebt opgegeven voor de activiteit. Als een rij geen waarde voor een kolom bevat, wordt er een null-waarde opgegeven voor de kolomwaarde. Als u geen toewijzing opgeeft, wordt het schema afgeleid door de service met behulp van de eerste rij in de gegevens. Als de eerste rij niet het volledige schema bevat, ontbreken sommige kolommen in het resultaat van de activiteitsbewerking.

Azure Cosmos DB for NoSQL als sink

Als u gegevens wilt kopiëren naar Azure Cosmos DB for NoSQL, stelt u het sinktype in Kopieeractiviteit in op DocumentDbCollectionSink.

De volgende eigenschappen worden ondersteund in de sectie Sink voor kopieeractiviteit:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de sink voor kopieeractiviteit moet worden ingesteld op CosmosDbSqlApiSink. Ja
writeBehavior Hierin wordt beschreven hoe u gegevens schrijft naar Azure Cosmos DB. Toegestane waarden: invoegen en upsert.

Het gedrag van upsert is om het document te vervangen als er al een document met dezelfde id bestaat; anders voegt u het document in.

Opmerking: de service genereert automatisch een id voor een document als er geen id is opgegeven in het oorspronkelijke document of door kolomtoewijzing. Dit betekent dat u ervoor moet zorgen dat uw document een id heeft, zodat upsert werkt zoals verwacht.
Nee
(de standaardwaarde is invoegen)
writeBatchSize De service maakt gebruik van de bulkexecutorbibliotheek van Azure Cosmos DB om gegevens naar Azure Cosmos DB te schrijven. De eigenschap writeBatchSize bepaalt de grootte van documenten die de service aan de bibliotheek biedt. U kunt proberen de waarde voor writeBatchSize te verhogen om de prestaties te verbeteren en de waarde te verlagen als uw documentgrootte groot is. Zie de onderstaande tips. Nee
(de standaardwaarde is 10.000)
disableMetricsCollection De service verzamelt metrische gegevens, zoals Azure Cosmos DB-RU's voor optimalisatie van kopieerprestaties en aanbevelingen. Als u zich zorgen maakt over dit gedrag, geeft u true op om dit uit te schakelen. Nee (standaard is false)
 maxConcurrentConnections De bovengrens van gelijktijdige verbindingen die tijdens de uitvoering van de activiteit tot stand zijn gebracht met het gegevensarchief. Geef alleen een waarde op wanneer u gelijktijdige verbindingen wilt beperken.  Nee

Tip

Als u JSON-documenten als zodanig wilt importeren, raadpleegt u de sectie JSON-documenten importeren of exporteren. Als u gegevens in tabelvorm wilt kopiëren, raadpleegt u Migreren van relationele database naar Azure Cosmos DB.

Tip

Azure Cosmos DB beperkt de grootte van één aanvraag tot 2 MB. De formule is Request Size = Single Document Size * Write Batch Size. Als u een fout krijgt met de tekst 'Aanvraaggrootte is te groot', vermindert u de waarde in de configuratie van de writeBatchSize kopieersink.

Als u de typebron DocumentDbCollectionSink gebruikt, wordt deze nog steeds ondersteund voor achterwaartse compatibiliteit. U wordt aangeraden om het nieuwe model in de toekomst te gebruiken, dat uitgebreidere mogelijkheden biedt voor het kopiëren van gegevens uit Azure Cosmos DB.

Voorbeeld

"activities":[
    {
        "name": "CopyToCosmosDBSQLAPI",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Document DB output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "CosmosDbSqlApiSink",
                "writeBehavior": "upsert"
            }
        }
    }
]

Schematoewijzing

Als u gegevens wilt kopiëren van Azure Cosmos DB naar een tabelvormige sink of omgekeerd, raadpleegt u schematoewijzing.

Eigenschappen van toewijzingsgegevensstroom

Wanneer u gegevens transformeert in de toewijzingsgegevensstroom, kunt u verzamelingen lezen en schrijven in Azure Cosmos DB. Zie de brontransformatie en sinktransformatie in toewijzingsgegevensstromen voor meer informatie.

Notitie

Serverloze Azure Cosmos DB wordt niet ondersteund in de toewijzingsgegevensstroom.

Brontransformatie

Instellingen die specifiek zijn voor Azure Cosmos DB zijn beschikbaar op het tabblad Bronopties van de brontransformatie.

Systeemkolommen opnemen: Indien waar, iden _tsandere systeemkolommen worden opgenomen in de metagegevens van uw gegevensstroom van Azure Cosmos DB. Bij het bijwerken van verzamelingen is het belangrijk om dit op te nemen, zodat u de bestaande rij-id kunt ophalen.

Paginaformaat: het aantal documenten per pagina van het queryresultaat. De standaardwaarde is -1 die gebruikmaakt van de dynamische servicepagina tot 1000.

Doorvoer: Stel een optionele waarde in voor het aantal RU's dat u wilt toepassen op uw Azure Cosmos DB-verzameling voor elke uitvoering van deze gegevensstroom tijdens de leesbewerking. Minimaal 400.

Voorkeursregio's: kies de voorkeursleesregio's voor dit proces.

Wijzigingenfeed: Indien waar, krijgt u gegevens uit de Wijzigingenfeed van Azure Cosmos DB. Dit is een permanente record van wijzigingen in een container in de volgorde waarin deze automatisch worden uitgevoerd. Wanneer u deze true instelt, stelt u niet zowel afdrijfte kolomtypen als Schemadrift toestaan in op hetzelfde moment. Zie De wijzigingenfeed van Azure Cosmos DB voor meer informatie.

Beginnen vanaf begin: Als waar, krijgt u de eerste belasting van volledige momentopnamegegevens in de eerste uitvoering, gevolgd door het vastleggen van gewijzigde gegevens in de volgende uitvoeringen. Als dit onwaar is, wordt de eerste belasting overgeslagen in de eerste uitvoering, gevolgd door het vastleggen van gewijzigde gegevens in de volgende uitvoeringen. De instelling wordt uitgelijnd met dezelfde instellingsnaam in azure Cosmos DB-verwijzing. Zie De wijzigingenfeed van Azure Cosmos DB voor meer informatie.

Sinktransformatie

Instellingen die specifiek zijn voor Azure Cosmos DB zijn beschikbaar op het tabblad Instellingen van de sinktransformatie.

Updatemethode: bepaalt welke bewerkingen zijn toegestaan op uw databasebestemming. De standaardinstelling is om alleen invoegingen toe te staan. Als u rijen wilt bijwerken, upsert of verwijderen, is een transformatie met alter-row vereist om rijen voor deze acties te taggen. Voor updates, upserts en verwijderingen moet een sleutelkolom of -kolommen worden ingesteld om te bepalen welke rij moet worden gewijzigd.

Verzamelingsactie: bepaalt of de doelverzameling opnieuw moet worden gemaakt voordat u gaat schrijven.

  • Geen: Er wordt geen actie uitgevoerd voor de verzameling.
  • Opnieuw maken: de verzameling wordt verwijderd en opnieuw gemaakt

Batchgrootte: een geheel getal dat aangeeft hoeveel objecten in elke batch naar de Azure Cosmos DB-verzameling worden geschreven. Meestal is het voldoende om te beginnen met de standaard batchgrootte. Als u deze waarde verder wilt afstemmen, moet u het volgende weten:

  • Azure Cosmos DB beperkt de grootte van één aanvraag tot 2 MB. De formule is 'Request Size = Single Document Size * Batch Size'. Als u een fout krijgt met de tekst 'Aanvraaggrootte is te groot', verkleint u de waarde voor de batchgrootte.
  • Hoe groter de batchgrootte, hoe beter de doorvoer die de service kan bereiken, terwijl u ervoor zorgt dat u voldoende RU's toewijst om uw workload mogelijk te maken.

Partitiesleutel: Voer een tekenreeks in die de partitiesleutel voor uw verzameling vertegenwoordigt. Voorbeeld: /movies/title

Doorvoer: Stel een optionele waarde in voor het aantal RU's dat u wilt toepassen op uw Azure Cosmos DB-verzameling voor elke uitvoering van deze gegevensstroom. Minimaal 400.

Schrijfdoorvoerbudget: een geheel getal dat de RU's vertegenwoordigt die u wilt toewijzen voor deze Gegevensstroom schrijfbewerking, buiten de totale doorvoer die aan de verzameling is toegewezen.

Notitie

Als u het RU-gebruik wilt beperken, stelt u de Cosmos DB-doorvoer (automatische schaalaanpassing) in op Handmatig.

Eigenschappen van opzoekactiviteit

Als u meer wilt weten over de eigenschappen, controleert u de lookup-activiteit.

JSON-documenten importeren en exporteren

U kunt deze Azure Cosmos DB for NoSQL-connector gebruiken om het volgende eenvoudig te doen:

  • Documenten kopiëren tussen twee Azure Cosmos DB-verzamelingen.
  • Importeer JSON-documenten uit verschillende bronnen naar Azure Cosmos DB, waaronder vanuit Azure Blob Storage, Azure Data Lake Store en andere op bestanden gebaseerde archieven die door de service worden ondersteund.
  • JSON-documenten exporteren uit een Azure Cosmos DB-verzameling naar verschillende bestandsarchieven.

Schemaneutraal kopiëren:

  • Wanneer u het hulpprogramma Gegevens kopiëren gebruikt, selecteert u de optie Exporteren naar JSON-bestanden of Azure Cosmos DB-verzamelingsoptie .
  • Wanneer u het ontwerpen van activiteiten gebruikt, kiest u de JSON-indeling met het bijbehorende bestandsarchief voor de bron of sink.

Migreren van relationele database naar Azure Cosmos DB

Wanneer u migreert van een relationele database e.g. SQL Server naar Azure Cosmos DB, kan kopieeractiviteit eenvoudig tabellaire gegevens van de bron toewijzen aan platte JSON-documenten in Azure Cosmos DB. In sommige gevallen kunt u het gegevensmodel opnieuw ontwerpen om het te optimaliseren voor noSQL-use cases op basis van gegevensmodellering in Azure Cosmos DB, bijvoorbeeld om de normalisering van de gegevens ongedaan te maken door alle gerelateerde subitems in één JSON-document in te sluiten. Raadpleeg voor dit geval dit artikel met een overzicht van hoe u dit kunt bereiken met behulp van de kopieeractiviteit.

Azure Cosmos DB-wijzigingenfeed

Azure Data Factory kan gegevens ophalen uit de Wijzigingenfeed van Azure Cosmos DB door deze in te schakelen in de transformatie van de toewijzingsgegevensstroombron. Met deze connectoroptie kunt u wijzigingenfeeds lezen en transformaties toepassen voordat u getransformeerde gegevens laadt in doelgegevenssets van uw keuze. U hoeft Azure-functies niet te gebruiken om de wijzigingenfeed te lezen en vervolgens aangepaste transformaties te schrijven. U kunt deze optie gebruiken om gegevens van de ene container naar de andere te verplaatsen, weergaven voor wijzigingenfeedgestuurd materiaal voor te bereiden voor geschikt doel of het automatiseren van het maken van back-ups of herstel van containers op basis van wijzigingenfeeds en veel meer gebruiksvoorbeelden met behulp van visuele slepen en neerzetten van Azure Data Factory.

Zorg ervoor dat u de naam van de pijplijn en activiteit ongewijzigd laat, zodat het controlepunt kan worden vastgelegd door ADF zodat u automatisch gewijzigde gegevens van de laatste uitvoering kunt ophalen. Als u de naam of activiteitsnaam van uw automatisering wijzigt, wordt het controlepunt opnieuw ingesteld. Dit leidt ertoe dat u weer vanaf het begin begint of dat u vanaf nu wijzigingen krijgt in de volgende uitvoering.

Wanneer u fouten in de pijplijn opssport, werkt deze functie hetzelfde. Houd er rekening mee dat het controlepunt opnieuw wordt ingesteld wanneer u uw browser vernieuwt tijdens de uitvoering van foutopsporing. Nadat u tevreden bent met het resultaat van de foutopsporingsuitvoering, kunt u doorgaan met het publiceren en activeren van de pijplijn. Op het moment dat u de gepubliceerde pijplijn voor het eerst activeert, wordt deze automatisch opnieuw opgestart vanaf het begin of worden er vanaf nu wijzigingen doorgevoerd.

In de sectie Bewaking hebt u altijd de mogelijkheid om een pijplijn opnieuw uit te voeren. Wanneer u dit doet, worden de gewijzigde gegevens altijd vastgelegd vanaf het vorige controlepunt van de geselecteerde pijplijnuitvoering.

Daarnaast ondersteunt de analytische opslag van Azure Cosmos DB nu Change Data Capture (CDC) voor Azure Cosmos DB-API voor NoSQL en Azure Cosmos DB-API voor Mongo DB (openbare preview). Met analytische opslag van Azure Cosmos DB kunt u efficiënt een continue en incrementele feed gebruiken van gewijzigde (ingevoegde, bijgewerkte en verwijderde) gegevens uit analytische opslag.

Zie ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die door Kopieeractiviteit worden ondersteund als bronnen en sinks.