Adatok másolása és átalakítása az Azure Cosmos DB for NoSQL-ben az Azure Data Factory használatával
A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics
Tipp.
Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!
Ez a cikk bemutatja, hogyan használható a Másolási tevékenység az Azure Data Factoryben adatok másolására a NoSQL-hez készült Azure Cosmos DB-ből és az Azure Cosmos DB-be, és hogyan Adatfolyam az adatok átalakításához az Azure Cosmos DB for NoSQL-ben. További információkért olvassa el az Azure Data Factory és az Azure Synapse Analytics bevezető cikkeit.
Feljegyzés
Ez az összekötő csak az Azure Cosmos DB for NoSQL-t támogatja. A MongoDB-hez készült Azure Cosmos DB-hez az Azure Cosmos DB mongoDB-hez készült összekötője. Más API-típusok jelenleg nem támogatottak.
Támogatott képességek
Ez az Azure Cosmos DB for NoSQL-összekötő a következő képességeket támogatja:
Támogatott képességek | IR | Felügyelt privát végpont |
---|---|---|
Copy tevékenység (forrás/fogadó) | (1) (2) | ✓ |
Adatfolyam leképezése (forrás/fogadó) | (1) | ✓ |
Keresési tevékenység | (1) (2) | ✓ |
(1) Azure-integrációs modul (2) Saját üzemeltetésű integrációs modul
A Copy tevékenység esetében ez az Azure Cosmos DB for NoSQL-összekötő a következőket támogatja:
- Adatok másolása az Azure Cosmos DB for NoSQL-be kulcsok, szolgáltatásnév vagy felügyelt identitások használatával az Azure-erőforrások hitelesítéséhez.
- Írás az Azure Cosmos DB-be beszúrásként vagy upsertként.
- JSON-dokumentumok importálása és exportálása aktuális állapotban, illetve adatok másolása táblázatos adatkészletből vagy azokbe. Ilyen például egy SQL-adatbázis és egy CSV-fájl. A JSON-fájlokba vagy egy másik Azure Cosmos DB-gyűjteménybe vagy más Azure Cosmos DB-gyűjteménybe másolt dokumentumok másolásához lásd : JSON-dokumentumok importálása és exportálása.
A Data Factory és a Synapse-folyamatok integrálhatók az Azure Cosmos DB tömeges végrehajtói kódtárával , hogy a lehető legjobb teljesítményt nyújthassa az Azure Cosmos DB-be való íráskor.
Tipp.
Az adatmigrálási videó végigvezeti az adatok Azure Blob Storage-ból az Azure Cosmos DB-be való másolásának lépésein. A videó az adatok Azure Cosmos DB-be való betöltésének teljesítmény-finomhangolási szempontjait is ismerteti.
Első lépések
A Copy tevékenység folyamattal való végrehajtásához használja az alábbi eszközök vagy SDK-k egyikét:
- Az Adatok másolása eszköz
- Az Azure Portal
- A .NET SDK
- A Python SDK
- Azure PowerShell
- A REST API
- Az Azure Resource Manager-sablon
Társított szolgáltatás létrehozása az Azure Cosmos DB-hez felhasználói felületen
Az alábbi lépésekkel létrehozhat egy társított szolgáltatást az Azure Cosmos DB-hez az Azure Portal felhasználói felületén.
Keresse meg az Azure Data Factory vagy a Synapse-munkaterület Kezelés lapját, és válassza a Társított szolgáltatások lehetőséget, majd kattintson az Új gombra:
Keresse meg a NoSQL-hez készült Azure Cosmos DB-t, és válassza ki az Azure Cosmos DB for NoSQL-összekötőt.
Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.
Az összekötő konfigurációjának részletei
A következő szakaszok az Azure Cosmos DB for NoSQL-hez tartozó entitások definiálásához használható tulajdonságok részleteit ismertetik.
Társított szolgáltatás tulajdonságai
Az Azure Cosmos DB for NoSQL-összekötő a következő hitelesítési típusokat támogatja. Részletekért tekintse meg a megfelelő szakaszokat:
- Kulcshitelesítés
- Egyszerű szolgáltatás hitelesítése
- Rendszer által hozzárendelt felügyelt identitás hitelesítése
- Felhasználó által hozzárendelt felügyelt identitás hitelesítése
Kulcshitelesítés
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságot CosmosDb értékre kell állítani. | Igen |
connectionString | Adja meg az Azure Cosmos DB-adatbázishoz való csatlakozáshoz szükséges információkat. Megjegyzés: Meg kell adnia az adatbázis-adatokat a kapcsolati sztring az alábbi példákban látható módon. A fiókkulcsot az Azure Key Vaultban is elhelyezheti, és lekérheti a accountKey konfigurációt a kapcsolati sztring. További részletekért tekintse meg az alábbi példákat és a hitelesítő adatok tárolását az Azure Key Vaultban . |
Igen |
connectVia | Az adattárhoz való csatlakozáshoz használható integrációs modul . Használhatja az Azure Integration Runtime-ot vagy egy saját üzemeltetésű integrációs modult (ha az adattár magánhálózaton található). Ha ez a tulajdonság nincs megadva, a rendszer az alapértelmezett Azure Integration Runtime-t használja. | Nem |
Példa
{
"name": "CosmosDbSQLAPILinkedService",
"properties": {
"type": "CosmosDb",
"typeProperties": {
"connectionString": "AccountEndpoint=<EndpointUrl>;AccountKey=<AccessKey>;Database=<Database>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Példa: fiókkulcs tárolása az Azure Key Vaultban
{
"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"
}
}
}
Egyszerű szolgáltatás hitelesítése
Feljegyzés
A szolgáltatásnév hitelesítése jelenleg nem támogatott az adatfolyamban.
A szolgáltatásnév-hitelesítés használatához kövesse az alábbi lépéseket.
Alkalmazás regisztrálása a Microsoft Identitásplatform. Ennek módjáról a rövid útmutatóban olvashat: Alkalmazás regisztrálása a Microsoft Identitásplatform. Jegyezze fel ezeket az értékeket, amelyeket a társított szolgáltatás definiálásához használ:
- Pályázat azonosítója
- Alkalmazáskulcs
- Bérlőazonosító
Adjon megfelelő engedélyt a szolgáltatásnévnek. Példák az Azure Cosmos DB engedélyeinek működésére a fájlok és könyvtárak hozzáférés-vezérlési listáiból. Pontosabban hozzon létre egy szerepkördefiníciót, és rendelje hozzá a szerepkört a szolgáltatásnévhez a szolgáltatásnév objektumazonosítójával.
Ezek a tulajdonságok támogatottak a társított szolgáltatásban:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságot CosmosDb értékre kell állítani. | Igen |
accountEndpoint | Adja meg az Azure Cosmos DB-példány fiókvégpontJÁNAK URL-címét. | Igen |
adatbázis | Adja meg az adatbázis nevét. | Igen |
servicePrincipalId | Adja meg az alkalmazás ügyfél-azonosítóját. | Igen |
servicePrincipalCredentialType | A szolgáltatásnév-hitelesítéshez használandó hitelesítőadat-típus. Az engedélyezett értékek a ServicePrincipalKey és a ServicePrincipalCert. | Igen |
servicePrincipalCredential | A szolgáltatásnév hitelesítő adatai. Ha a ServicePrincipalKey-t használja hitelesítő adattípusként, adja meg az alkalmazás kulcsát. Jelölje meg ezt a mezőt SecureStringként, hogy biztonságosan tárolja, vagy hivatkozzon az Azure Key Vaultban tárolt titkos kódra. Ha a ServicePrincipalCertet használja hitelesítő adatként, hivatkozzon egy tanúsítványra az Azure Key Vaultban, és győződjön meg arról, hogy a tanúsítvány tartalomtípusa PKCS #12. |
Igen |
bérlő | Adja meg azt a bérlői információt (tartománynevet vagy bérlőazonosítót), amely alatt az alkalmazás található. Kérje le az egérmutatót az Azure Portal jobb felső sarkában. | Igen |
azureCloudType | A szolgáltatásnév hitelesítéséhez adja meg annak az Azure-felhőkörnyezetnek a típusát, amelyre a Microsoft Entra-alkalmazás regisztrálva van. Az engedélyezett értékek az AzurePublic, az AzureChina, az AzureUsGovernment és az AzureGermany. Alapértelmezés szerint a szolgáltatás felhőkörnyezetét használja a rendszer. |
Nem |
connectVia | Az adattárhoz való csatlakozáshoz használandó integrációs modul . Használhatja az Azure integrációs modult vagy egy saját üzemeltetésű integrációs modult, ha az adattár magánhálózaton található. Ha nincs megadva, a rendszer az alapértelmezett Azure-integrációs modult használja. | Nem |
Példa: egyszerű szolgáltatáskulcs-hitelesítés használata
A szolgáltatásnévkulcsot az Azure Key Vaultban is tárolhatja.
{
"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"
}
}
}
Példa: egyszerű szolgáltatástanúsítvány-hitelesítés használata
{
"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"
}
}
}
Rendszer által hozzárendelt felügyelt identitás hitelesítése
Feljegyzés
Jelenleg a rendszer által hozzárendelt felügyelt identitáshitelesítés támogatott az adatfolyamokban speciális tulajdonságok JSON formátumban történő használatával.
Egy adat-előállító vagy Synapse-folyamat társítható az Azure-erőforrások rendszer által hozzárendelt felügyelt identitásával, amely ezt az adott szolgáltatáspéldányt jelöli. Ezt a felügyelt identitást közvetlenül használhatja az Azure Cosmos DB-hitelesítéshez, hasonlóan a saját szolgáltatásnév használatához. Ez lehetővé teszi, hogy ez a kijelölt erőforrás hozzáférjen és adatokat másoljon az Azure Cosmos DB-példányba vagy onnan.
Ha rendszer által hozzárendelt felügyelt identitásokat szeretne használni az Azure-erőforrás-hitelesítéshez, kövesse az alábbi lépéseket.
Kérje le a rendszer által hozzárendelt felügyelt identitásadatokat a szolgáltatással együtt létrehozott felügyelt identitásobjektum-azonosító értékének másolásával.
Adjon megfelelő engedélyt a rendszer által hozzárendelt felügyelt identitásnak. Példák az Azure Cosmos DB engedélyeinek működésére a fájlok és könyvtárak hozzáférés-vezérlési listáiból. Pontosabban hozzon létre egy szerepkördefiníciót, és rendelje hozzá a szerepkört a rendszer által hozzárendelt felügyelt identitáshoz.
Ezek a tulajdonságok támogatottak a társított szolgáltatásban:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságot CosmosDb értékre kell állítani. | Igen |
accountEndpoint | Adja meg az Azure Cosmos DB-példány fiókvégpontJÁNAK URL-címét. | Igen |
adatbázis | Adja meg az adatbázis nevét. | Igen |
connectVia | Az adattárhoz való csatlakozáshoz használandó integrációs modul . Használhatja az Azure integrációs modult vagy egy saját üzemeltetésű integrációs modult, ha az adattár magánhálózaton található. Ha nincs megadva, a rendszer az alapértelmezett Azure-integrációs modult használja. | Nem |
subscriptionId | Az Azure Cosmos DB-példány előfizetés-azonosítójának megadása | Nem másolási tevékenységhez, igen a leképezési Adatfolyam |
tenantId | Adja meg az Azure Cosmos DB-példány bérlőazonosítóját | Nem másolási tevékenységhez, igen a leképezési Adatfolyam |
resourceGroup | Adja meg az Azure Cosmos DB-példány erőforráscsoportjának nevét | Nem másolási tevékenységhez, igen a leképezési Adatfolyam |
Példa:
{
"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"
}
}
}
Felhasználó által hozzárendelt felügyelt identitás hitelesítése
Feljegyzés
Jelenleg a felhasználó által hozzárendelt felügyelt identitáshitelesítés támogatott az adatfolyamokban speciális tulajdonságok JSON formátumban történő használatával.
Egy adat-előállító vagy Synapse-folyamat hozzárendelhető egy felhasználó által hozzárendelt felügyelt identitáshoz, amely ezt az adott szolgáltatáspéldányt jelöli. Ezt a felügyelt identitást közvetlenül használhatja az Azure Cosmos DB-hitelesítéshez, hasonlóan a saját szolgáltatásnév használatához. Ez lehetővé teszi, hogy ez a kijelölt erőforrás hozzáférjen és adatokat másoljon az Azure Cosmos DB-példányba vagy onnan.
Ha felhasználó által hozzárendelt felügyelt identitásokat szeretne használni az Azure-erőforrás-hitelesítéshez, kövesse az alábbi lépéseket.
Hozzon létre egy vagy több felhasználó által hozzárendelt felügyelt identitást , és adjon megfelelő engedélyt a felhasználó által hozzárendelt felügyelt identitásnak. Példák az Azure Cosmos DB engedélyeinek működésére a fájlok és könyvtárak hozzáférés-vezérlési listáiból. Pontosabban hozzon létre egy szerepkördefiníciót, és rendelje hozzá a szerepkört a felhasználó által hozzárendelt felügyelt identitáshoz.
Rendeljen hozzá egy vagy több felhasználó által hozzárendelt felügyelt identitást az adat-előállítóhoz, és hozzon létre hitelesítő adatokat minden felhasználó által hozzárendelt felügyelt identitáshoz.
Ezek a tulajdonságok támogatottak a társított szolgáltatásban:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A típustulajdonságot CosmosDb értékre kell állítani. | Igen |
accountEndpoint | Adja meg az Azure Cosmos DB-példány fiókvégpontJÁNAK URL-címét. | Igen |
adatbázis | Adja meg az adatbázis nevét. | Igen |
hitelesítő adatok | Adja meg a felhasználó által hozzárendelt felügyelt identitást hitelesítő objektumként. | Igen |
connectVia | Az adattárhoz való csatlakozáshoz használandó integrációs modul . Használhatja az Azure integrációs modult vagy egy saját üzemeltetésű integrációs modult, ha az adattár magánhálózaton található. Ha nincs megadva, a rendszer az alapértelmezett Azure-integrációs modult használja. | Nem |
subscriptionId | Az Azure Cosmos DB-példány előfizetés-azonosítójának megadása | Nem másolási tevékenységhez, igen a leképezési Adatfolyam |
tenantId | Adja meg az Azure Cosmos DB-példány bérlőazonosítóját | Nem másolási tevékenységhez, igen a leképezési Adatfolyam |
resourceGroup | Adja meg az Azure Cosmos DB-példány erőforráscsoportjának nevét | Nem másolási tevékenységhez, igen a leképezési Adatfolyam |
Példa:
{
"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"
}
}
}
Adathalmaz tulajdonságai
Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az Adathalmazok és a csatolt szolgáltatások című témakörben találja.
Az Azure Cosmos DB for NoSQL-adatkészlethez az alábbi tulajdonságok támogatottak:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | Az adathalmaz típustulajdonságának CosmosDbSqlApiCollection értékre kell állítania. | Igen |
collectionName | Az Azure Cosmos DB-dokumentumgyűjtemény neve. | Igen |
Ha a "DocumentDbCollection" típusú adatkészletet használja, a másolási és keresési tevékenység visszamenőleges kompatibilitása továbbra is támogatott, Adatfolyam esetében nem támogatott. Javasoljuk, hogy használja az új modellt.
Példa
{
"name": "CosmosDbSQLAPIDataset",
"properties": {
"type": "CosmosDbSqlApiCollection",
"linkedServiceName":{
"referenceName": "<Azure Cosmos DB linked service name>",
"type": "LinkedServiceReference"
},
"schema": [],
"typeProperties": {
"collectionName": "<collection name>"
}
}
}
Másolási tevékenység tulajdonságai
Ez a szakasz az Azure Cosmos DB for NoSQL-forrás és fogadó által támogatott tulajdonságok listáját tartalmazza. A tevékenységek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját a Folyamatok című témakörben találja.
Forrásként az Azure Cosmos DB for NoSQL
Ha adatokat szeretne másolni az Azure Cosmos DB for NoSQL-ből, állítsa be a forrástípust a Másolási tevékenységben a DocumentDbCollectionSource-ra.
A Másolási tevékenység forrás szakasza a következő tulajdonságokat támogatja:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A másolási tevékenység forrásának típustulajdonságát CosmosDbSqlApiSource értékre kell állítani. | Igen |
Lekérdezés | Adja meg az adatok olvasásához az Azure Cosmos DB-lekérdezést. Példa: 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\" |
Nem Ha nincs megadva, a rendszer végrehajtja ezt az SQL-utasítást: select <columns defined in structure> from mycollection |
preferáltrégiók | AzOknak a régióknak az előnyben részesített listája, amelyekhez az Azure Cosmos DB-ből való adatlekéréskor csatlakozni szeretne. | Nem |
pageSize | A lekérdezés eredményének oldalankénti dokumentumok száma. Az alapértelmezett érték a "-1", ami azt jelenti, hogy a szolgáltatásoldali dinamikus oldalméret legfeljebb 1000. | Nem |
detectDatetime | A dokumentumokban lévő sztringértékek dátumidejének észlelése. Az engedélyezett értékek a következők: igaz (alapértelmezett), hamis. | Nem |
Ha a "DocumentDbCollectionSource" típusú forrást használja, az továbbra is támogatott a visszamenőleges kompatibilitás érdekében. Javasoljuk, hogy használja az új modellt, amely gazdagabb képességeket biztosít az adatok Azure Cosmos DB-ből való másolásához.
Példa
"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>"
}
}
}
]
Ha adatokat másol az Azure Cosmos DB-ből, kivéve, ha JSON-dokumentumokat szeretne exportálni, az ajánlott eljárás a másolási tevékenység leképezésének megadása. A szolgáltatás tiszteletben tartja a tevékenységben megadott megfeleltetést – ha egy sor nem tartalmaz oszlopértéket, akkor az oszlop értéke null értékű lesz. Ha nem ad meg leképezést, a szolgáltatás az adatok első sorával következtet a sémára. Ha az első sor nem tartalmazza a teljes sémát, néhány oszlop hiányzik a tevékenységművelet eredményéből.
Azure Cosmos DB for NoSQL fogadóként
Ha adatokat szeretne átmásolni az Azure Cosmos DB for NoSQL-be, állítsa be a fogadó típusát a Másolási tevékenységben a DocumentDbCollectionSink értékre.
A Másolási tevékenység fogadó szakasz a következő tulajdonságokat támogatja:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | A Másolási tevékenység fogadó típustulajdonságának CosmosDbSqlApiSink értékre kell állítania. | Igen |
writeBehavior | Ismerteti, hogyan írhat adatokat az Azure Cosmos DB-be. Engedélyezett értékek: beszúrás és beillesztés. Az upsert viselkedése az, hogy lecseréli a dokumentumot, ha már létezik ugyanazzal az azonosítóval rendelkező dokumentum; ellenkező esetben szúrja be a dokumentumot. Megjegyzés: A szolgáltatás automatikusan létrehoz egy azonosítót egy dokumentumhoz, ha az eredeti dokumentumban vagy oszlopleképezésben nincs megadva azonosító. Ez azt jelenti, hogy gondoskodnia kell arról, hogy a upsert a várt módon működjön, a dokumentum azonosítóval rendelkezik. |
Nem (az alapértelmezett beállítás a beszúrás) |
writeBatchSize | A szolgáltatás az Azure Cosmos DB tömeges végrehajtói kódtárával ír adatokat az Azure Cosmos DB-be. A writeBatchSize tulajdonság szabályozza a szolgáltatás által a tárnak biztosított dokumentumok méretét. A writeBatchSize értékének növelésével javíthatja a teljesítményt, és csökkentheti az értéket, ha a dokumentum mérete nagy – lásd az alábbi tippeket. | Nem (az alapértelmezett érték 10 000) |
disableMetricsCollection | A szolgáltatás olyan metrikákat gyűjt, mint az Azure Cosmos DB-kérelemegységek a másolási teljesítmény optimalizálásához és a javaslatokhoz. Ha ezzel a viselkedéssel foglalkozik, adja meg true , hogy kikapcsolja azt. |
Nem (alapértelmezett érték false ) |
maxConcurrentConnections | Az adattárhoz a tevékenység futtatása során létrehozott egyidejű kapcsolatok felső korlátja. Csak akkor adjon meg értéket, ha korlátozni szeretné az egyidejű kapcsolatokat. | Nem |
Tipp.
A JSON-dokumentumok importálásához tekintse meg a JSON-dokumentumok importálása vagy exportálása szakaszt. A táblázatos alakú adatok másolásához tekintse meg a migrálást a relációs adatbázisból az Azure Cosmos DB-be.
Tipp.
Az Azure Cosmos DB az egyetlen kérelem méretét 2 MB-ra korlátozza. A képlet a Kérelem mérete = Egy dokumentumméret * Kötegméret írása. Ha "A kérelem mérete túl nagy", akkor csökkentse a writeBatchSize
másolási fogadó konfigurációjának értékét .
Ha a "DocumentDbCollectionSink" típusú forrást használja, az továbbra is támogatott a visszamenőleges kompatibilitás érdekében. Javasoljuk, hogy használja az új modellt, amely gazdagabb képességeket biztosít az adatok Azure Cosmos DB-ből való másolásához.
Példa
"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"
}
}
}
]
Séma-hozzárendelés
Ha adatokat szeretne átmásolni az Azure Cosmos DB-ből táblázatos fogadóba vagy fordítottba, tekintse meg a sémaleképezést.
Adatfolyam-tulajdonságok leképezése
A leképezési adatfolyam adatainak átalakításakor az Azure Cosmos DB gyűjteményeibe olvashat és írhat. További információkért tekintse meg a forrásátalakítást és a fogadóátalakítást a leképezési adatfolyamokban.
Feljegyzés
A kiszolgáló nélküli Azure Cosmos DB nem támogatott az adatfolyam leképezésében.
Forrásátalakítás
Az Azure Cosmos DB-hez tartozó beállítások a forrásátalakítás Forrásbeállítások lapján érhetők el.
A rendszeroszlopok belefoglalása: Ha igaz, id
akkor _ts
más rendszeroszlopok is szerepelni fognak az Azure Cosmos DB-ből származó adatfolyam-metaadatokban. A gyűjtemények frissítésekor fontos, hogy ezt is belefoglalja, hogy megszerezhesse a meglévő sorazonosítót.
Oldalméret: A lekérdezés eredményének oldalankénti dokumentumok száma. Az alapértelmezett érték a "-1", amely a szolgáltatás dinamikus oldalát használja 1000-ig.
Átviteli sebesség: Adjon meg egy opcionális értéket az Azure Cosmos DB-gyűjteményre alkalmazni kívánt kérelemegységek számára az adatfolyam minden egyes végrehajtásához az olvasási művelet során. A minimum 400.
Előnyben részesített régiók: Válassza ki a folyamathoz előnyben részesített olvasási régiókat.
Változáscsatorna: Ha igaz, adatokat fog lekérni az Azure Cosmos DB változáscsatornájából, amely egy tároló módosításainak állandó rekordja az utolsó futtatástól automatikusan végbemenő sorrendben. Ha igaz értéket ad meg, ne állítsa be egyszerre az eltolódott oszloptípusokat , és ne engedélyezze a sémaeltolódást igazként. További részletekért lásd: Azure Cosmos DB változáscsatorna).
Kezdje az elejétől kezdve: Ha igaz, első futtatáskor megkapja a teljes pillanatkép-adatok kezdeti betöltését, majd a módosított adatok rögzítését a következő futtatásokban. Ha hamis, a rendszer az első futtatáskor kihagyja a kezdeti terhelést, majd a következő futtatásokban rögzíti a módosított adatokat. A beállítás ugyanazzal a beállításnévvel van összhangban az Azure Cosmos DB-referenciaban. További részletekért tekintse meg az Azure Cosmos DB változáscsatornát.
Fogadó átalakítása
Az Azure Cosmos DB-hez tartozó beállítások a fogadóátalakítás Beállítások lapján érhetők el.
Frissítési módszer: Meghatározza, hogy milyen műveletek engedélyezettek az adatbázis célhelyén. Az alapértelmezett beállítás csak a beszúrások engedélyezése. A sorok frissítéséhez, frissítéséhez vagy törléséhez váltakozósor-átalakításra van szükség az adott műveletek sorainak címkézéséhez. Frissítések, upserts és deletes esetén egy kulcsoszlopot vagy oszlopot kell beállítani annak meghatározásához, hogy melyik sort kell módosítani.
Gyűjteményművelet: Meghatározza, hogy az írás előtt újra létre kell-e hozni a célgyűjteményt.
- Nincs: A rendszer nem hajt végre műveletet a gyűjteményen.
- Újra: A gyűjtemény el lesz dobva, és újra létrejön
Kötegméret: Egész szám, amely azt jelzi, hogy az egyes kötegek hány objektumot írnak az Azure Cosmos DB-gyűjteménybe. Az alapértelmezett kötegmérettől kezdve általában elegendő. Az érték további finomhangolásához jegyezze fel a következőt:
- Az Azure Cosmos DB az egyetlen kérelem méretét 2 MB-ra korlátozza. A képlet a "Request Size = Single Document Size * Batch Size" (Kérelemméret = Egy dokumentumméret * Batch Size) képlet. Ha "A kérelem mérete túl nagy" hibaüzenetet kapja, csökkentse a kötegméret értékét.
- Minél nagyobb a köteg mérete, annál jobb átviteli sebességet érhet el a szolgáltatás, ugyanakkor győződjön meg arról, hogy elegendő kérelemegységet foglal le a számítási feladatok elvégzéséhez.
Partíciókulcs: Adjon meg egy sztringet, amely a gyűjtemény partíciókulcsát jelöli. Példa: /movies/title
Átviteli sebesség: Adja meg az Azure Cosmos DB-gyűjteményre alkalmazni kívánt kérelemegységek számának opcionális értékét az adatfolyam minden egyes végrehajtásához. A minimum 400.
Írási átviteli sebesség költségvetése: Az Adatfolyam írási művelethez lefoglalni kívánt kérelemegységeket jelölő egész szám, a gyűjteményhez lefoglalt teljes átviteli sebességből.
Feljegyzés
A kérelemegység-használat korlátozásához állítsa a Cosmos DB átviteli sebességét (automatikus skálázását) manuálisra.
Keresési tevékenység tulajdonságai
A tulajdonságok részleteinek megismeréséhez tekintse meg a keresési tevékenységet.
JSON-dokumentumok importálása és exportálása
Ezt az Azure Cosmos DB for NoSQL-összekötőt egyszerűen használhatja:
- Dokumentumok másolása két Azure Cosmos DB-gyűjtemény között.
- JSON-dokumentumokat importálhat különböző forrásokból az Azure Cosmos DB-be, például az Azure Blob Storage-ból, az Azure Data Lake Store-ból és a szolgáltatás által támogatott egyéb fájlalapú tárolókból.
- JSON-dokumentumokat exportálhat egy Azure Cosmos DB-gyűjteményből különböző fájlalapú tárolókba.
Séma-agnosztikus másolás elérése:
- Az Adatok másolása eszköz használatakor válassza a JSON-fájlokba való exportálást vagy az Azure Cosmos DB-gyűjtemény lehetőséget.
- Tevékenység létrehozásakor válassza a forrás vagy fogadó megfelelő fájltárolójával rendelkező JSON-formátumot.
Migrálás relációs adatbázisból az Azure Cosmos DB-be
Ha relációs adatbázisból e.g. SQL Kiszolgálóról Azure Cosmos DB-re migrál, a másolási tevékenység egyszerűen leképezheti a táblázatos adatokat a forrásból, hogy összesimíthassa a JSON-dokumentumokat az Azure Cosmos DB-ben. Bizonyos esetekben érdemes lehet újratervezni az adatmodellt, hogy optimalizálja azt a NoSQL-használati esetekhez az Azure Cosmos DB-ben végzett adatmodellezésnek megfelelően, például az adatok normalizálásának megszüntetéséhez az összes kapcsolódó alelem beágyazásával egy JSON-dokumentumba. Ilyen esetben tekintse meg ezt a cikket , amely bemutatja, hogyan érhető el a másolási tevékenységgel.
Azure Cosmos DB változáscsatorna
Az Azure Data Factory az Azure Cosmos DB változáscsatornájából tud adatokat lekérni úgy, hogy engedélyezi azokat a leképezési adatfolyam-forrásátalakításban. Ezzel az összekötővel elolvashatja a változáscsatornákat és alkalmazhat átalakításokat, mielőtt az átalakított adatokat betöltené a választott céladatkészletekbe. Nem kell Azure-függvényekkel olvasnia a változáscsatornát, majd egyéni átalakításokat kell írnia. Ezzel a beállítással adatokat helyezhet át egyik tárolóból a másikba, előkészítheti a változáscsatorna-alapú anyagnézeteket a megfelelő célra, vagy automatizálhatja a tárolók biztonsági mentését vagy helyreállítását a változáscsatorna alapján, és számos további ilyen használati esetet engedélyezhet az Azure Data Factory vizuális húzási funkciójának használatával.
Győződjön meg arról, hogy a folyamat és a tevékenység neve változatlan marad, hogy az ADF rögzíthesse az ellenőrzőpontot, hogy a legutóbbi futtatás során automatikusan megváltoztassa az adatokat. Ha módosítja a feldolgozási sor nevét vagy a tevékenység nevét, az ellenőrzőpont alaphelyzetbe lesz állítva, ami azt eredményezi, hogy Ön elölről kezdi vagy mostantól kapja a változásokat a következő futtatásban.
A folyamat hibakeresésekor ez a funkció ugyanúgy működik. Vegye figyelembe, hogy az ellenőrzőpont alaphelyzetbe áll, amikor frissíti a böngészőt a hibakeresési futtatás során. Miután elégedett a hibakeresési futtatás folyamatának eredményével, közzéteheti és aktiválhatja a folyamatot. Abban a pillanatban, amikor először aktiválja a közzétett folyamatot, az automatikusan újraindul az elejétől, vagy mostantól módosításokat kap.
A figyelési szakaszban mindig lehetősége van egy folyamat újrafuttatására. Ha így tesz, a módosított adatok mindig a kiválasztott folyamatfuttatás előző ellenőrzőpontjáról lesznek rögzítve.
Emellett az Azure Cosmos DB elemzési tár mostantól támogatja a Change Data Capture (CDC) használatát a NoSQL-hez készült Azure Cosmos DB API-hoz és a Mongo DB-hez készült Azure Cosmos DB API-hoz (nyilvános előzetes verzió). Az Azure Cosmos DB elemzési tár lehetővé teszi a módosított (beszúrt, frissített és törölt) adatok folyamatos és növekményes adatcsatornájának hatékony felhasználását az elemzési tárból.
Kapcsolódó tartalom
A másolási tevékenység által forrásként és fogadóként támogatott adattárak listáját a támogatott adattárakban találja.