Adatok másolása az Azure Table Storage-ba és onnan az Azure Data Factory vagy a Synapse Analytics 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 azt ismerteti, hogyan használhatja a másolási tevékenységet az Azure Data Factoryben és a Synapse Analytics-folyamatokban az adatok Azure Table Storage-ba és onnan történő másolására. A másolási tevékenység áttekintési cikkére épül, amely a másolási tevékenység általános áttekintését mutatja be.

Megjegyzés:

We recommend that you use the Azure Az PowerShell module to interact with Azure. See Install Azure PowerShell to get started. To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

Támogatott képességek

Ez az Azure Table Storage-összekötő a következő képességeket támogatja:

Támogatott képességek IR Managed private endpoint
Copy tevékenység (forrás/fogadó) ① ② ✓ Tárfiók kizárása V1
Keresési tevékenység ① ② ✓ Tárfiók kizárása V1

(1) Azure-integrációs modul (2) Saját üzemeltetésű integrációs modul

Bármilyen támogatott forrásadattárból másolhat adatokat a Table Storage-ba. A Table Storage-ból bármely támogatott fogadóadattárba másolhat adatokat. A másolási tevékenység által forrásként vagy fogadóként támogatott adattárak listáját a Támogatott adattárak táblában találja.

Ez az Azure Table-összekötő kifejezetten támogatja az adatok másolását a fiókkulcs és a szolgáltatás közös hozzáférésű jogosultságkód-hitelesítésével.

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:

Azure Table Storage társított szolgáltatás létrehozása felhasználói felületen

Az alábbi lépéseket követve hozzon létre egy Azure Table Storage társított szolgáltatást az Azure Portal felhasználói felületén.

  1. 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:

  2. Keressen rá az Azure Tablere, és válassza ki az Azure Table Storage-összekötőt.

    Screenshot of the Azure Table storage connector.

  3. Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.

    Screenshot of configuration for an Azure Table storage linked service.

Csatlakozás or konfigurációjának részletei

A következő szakaszok az Azure Table Storage-ra jellemző entitások meghatározásához használt tulajdonságok részleteit ismertetik.

Társított szolgáltatás tulajdonságai

Fiókkulcs használata

Azure Storage társított szolgáltatást a fiókkulcs használatával hozhat létre. A szolgáltatás globális hozzáférést biztosít a Storage-hoz. A következő tulajdonságok támogatottak.

Property Leírás Required
típus A típustulajdonságot AzureTableStorage értékre kell állítani. Igen
connectionString Adja meg a connectionString tulajdonság Storage-hoz való csatlakozásához szükséges információkat.
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álandó integrációs modul . Használhatja az Azure Integration Runtime-ot vagy a saját üzemeltetésű integrációs modult (ha az adattár magánhálózaton található). Ha nincs megadva, az alapértelmezett Azure Integration Runtime-t használja. Nem

Megjegyzés:

Ha az "AzureStorage" típusú társított szolgáltatást használta, az továbbra is támogatott, miközben javasoljuk, hogy használja ezt az új "AzureTableStorage" társított szolgáltatástípust.

Példa

{
    "name": "AzureTableStorageLinkedService",
    "properties": {
        "type": "AzureTableStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Példa: fiókkulcs tárolása az Azure Key Vaultban

{
    "name": "AzureTableStorageLinkedService",
    "properties": {
        "type": "AzureTableStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;",
            "accountKey": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Közös hozzáférésű jogosultságkód-hitelesítés használata

Megosztott hozzáférésű jogosultságkód használatával is létrehozhat egy társított Storage-szolgáltatást. Korlátozott/időkorlátos hozzáférést biztosít a szolgáltatásnak a tárterület összes/konkrét erőforrásához.

A megosztott hozzáférésű jogosultságkód delegált hozzáférést biztosít a tárfiók erőforrásaihoz. Használatával korlátozott engedélyeket adhat egy ügyfélnek a tárfiókban lévő objektumokhoz egy adott időre és egy meghatározott engedélykészlettel. Nem kell megosztania a fiók hozzáférési kulcsait. A közös hozzáférésű jogosultságkód egy URI, amely a lekérdezési paraméterekben tartalmazza a tárerőforráshoz való hitelesített hozzáféréshez szükséges összes információt. A megosztott hozzáférésű jogosultságkóddal rendelkező tárolási erőforrások eléréséhez az ügyfélnek csak a közös hozzáférésű jogosultságkódot kell átadnia a megfelelő konstruktornak vagy metódusnak. A közös hozzáférésű jogosultságkódokkal kapcsolatos további információkért lásd : Közös hozzáférésű jogosultságkódok: A közös hozzáférésű jogosultságkód-modell ismertetése.

Megjegyzés:

Mostantól a szolgáltatás közös hozzáférésű jogosultságkódjai és a fiók közös hozzáférésű jogosultságkódjai is támogatottak. A megosztott hozzáférésű jogosultságkódokkal kapcsolatos további információkért lásd : Korlátozott hozzáférés biztosítása az Azure Storage-erőforrásokhoz közös hozzáférésű jogosultságkódok (SAS) használatával.

Tipp.

Ha szolgáltatásmegosztási jogosultságkódot szeretne létrehozni a tárfiókhoz, hajtsa végre a következő PowerShell-parancsokat. Cserélje le a helyőrzőket, és adja meg a szükséges engedélyt. $context = New-AzStorageContext -StorageAccountName <accountName> -StorageAccountKey <accountKey> New-AzStorageContainerSASToken -Name <containerName> -Context $context -Permission rwdl -StartTime <startTime> -ExpiryTime <endTime> -FullUri

A közös hozzáférésű jogosultságkód-hitelesítés használatához a következő tulajdonságok támogatottak.

Property Leírás Required
típus A típustulajdonságot AzureTableStorage értékre kell állítani. Igen
sasUri Adja meg a táblához tartozó közös hozzáférésű jogosultságkód URI-jának SAS URI-ját.
Jelölje meg ezt a mezőt SecureStringként a biztonságos tároláshoz. Az SAS-jogkivonatot az Azure Key Vaultban is elhelyezheti az automatikus elforgatás és a jogkivonatrész eltávolításához. 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álandó integrációs modul . Használhatja az Azure Integration Runtime-ot vagy a saját üzemeltetésű integrációs modult (ha az adattár magánhálózaton található). Ha nincs megadva, az alapértelmezett Azure Integration Runtime-t használja. Nem

Megjegyzés:

Ha az "AzureStorage" típusú társított szolgáltatást használta, az továbbra is támogatott, miközben javasoljuk, hogy használja ezt az új "AzureTableStorage" társított szolgáltatástípust.

Példa

{
    "name": "AzureTableStorageLinkedService",
    "properties": {
        "type": "AzureTableStorage",
        "typeProperties": {
            "sasUri": {
                "type": "SecureString",
                "value": "<SAS URI of the Azure Storage resource e.g. https://<account>.table.core.windows.net/<table>?sv=<storage version>&amp;st=<start time>&amp;se=<expire time>&amp;sr=<resource>&amp;sp=<permissions>&amp;sip=<ip range>&amp;spr=<protocol>&amp;sig=<signature>>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Példa: fiókkulcs tárolása az Azure Key Vaultban

{
    "name": "AzureTableStorageLinkedService",
    "properties": {
        "type": "AzureTableStorage",
        "typeProperties": {
            "sasUri": {
                "type": "SecureString",
                "value": "<SAS URI of the Azure Storage resource without token e.g. https://<account>.table.core.windows.net/<table>>"
            },
            "sasToken": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Amikor közös hozzáférésű jogosultságkód URI-t hoz létre, vegye figyelembe a következő szempontokat:

  • Állítsa be a megfelelő olvasási/írási engedélyeket az objektumokon a társított szolgáltatás (olvasás, írás, olvasás/írás) használata alapján.
  • A lejárati idő megfelelő beállítása. Győződjön meg arról, hogy a Storage-objektumokhoz való hozzáférés nem jár le a folyamat aktív időszakában.
  • Az URI-t szükség szerint a megfelelő táblaszinten kell létrehozni.

Adathalmaz tulajdonságai

Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az Adathalmazok című cikkben találja. Ez a szakasz az Azure Table-adatkészlet által támogatott tulajdonságok listáját tartalmazza.

Ha adatokat szeretne az Azure Tablebe és onnan átmásolni, állítsa az adathalmaz típustulajdonságát az AzureTable-ra. A következő tulajdonságok támogatottak.

Property Leírás Required
típus Az adathalmaz típustulajdonságának az AzureTable értékre kell állítania. Igen
tableName Annak a táblanak a neve a Table Storage-adatbázispéldányban, amelyre a társított szolgáltatás hivatkozik. Igen

Példa

{
    "name": "AzureTableDataset",
    "properties":
    {
        "type": "AzureTable",
        "typeProperties": {
            "tableName": "MyTable"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Azure Table storage linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Sémakövetkeztetés a szolgáltatás által

Sémamentes adattárak, például az Azure Table esetében a szolgáltatás a következő módok egyikével következtet a sémára:

  • Ha a másolási tevékenységben adja meg az oszlopleképezést, a szolgáltatás a forrásoldali oszloplistával kéri le az adatokat. Ebben az esetben, ha egy sor nem tartalmaz oszlopértéket, a rendszer null értéket ad hozzá.
  • Ha nem adja meg az oszlopleképezést a másolási tevékenységben, a szolgáltatás az adatok első sorával következtet a sémára. Ebben az esetben, ha az első sor nem tartalmazza a teljes sémát (például egyes oszlopok null értékkel rendelkeznek), a másolási művelet eredménye néhány oszlopot kihagy.

Másolási tevékenység tulajdonságai

A tevékenységek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját a Folyamatok című cikkben találja. Ez a szakasz az Azure Table-forrás és -fogadó által támogatott tulajdonságok listáját tartalmazza.

Az Azure Table mint forrástípus

Ha adatokat szeretne másolni az Azure Tableből, állítsa be a másolási tevékenység forrástípusát az AzureTableSource-ra. A másolási tevékenység forrás szakaszában az alábbi tulajdonságok támogatottak.

Property Leírás Required
típus A másolási tevékenység forrásának típustulajdonságát az AzureTableSource értékre kell állítani. Igen
azureTableSourceQuery Az adatok olvasásához használja az egyéni Table Storage-lekérdezést.
A forrás lekérdezés az Azure Table Storage által támogatott lekérdezési lehetőség közvetlen leképezése$filter, a dokumentum szintaxisával kapcsolatos további információk, és a példák az azureTableSourceQuery alábbi példáiban láthatók.
Nem
azureTableSourceIgnoreTableNotFound Azt jelzi, hogy engedélyezi-e a tábla kivételének létezését.
Az engedélyezett értékek a True (Igaz ) és a False (alapértelmezett) értékek.
Nem

azureTableSourceQuery példák

Megjegyzés:

Az Azure Table-lekérdezési művelet 30 másodperc alatt időtúllépést ér el az Azure Table service által kényszerített módon. Megtudhatja, hogyan optimalizálhatja a lekérdezést a Tervezésből a lekérdezési cikkhez.

Ha dátum/idő típusú oszlopra szeretné szűrni az adatokat, tekintse meg ezt a példát:

"azureTableSourceQuery": "LastModifiedTime gt datetime'2017-10-01T00:00:00' and LastModifiedTime le datetime'2017-10-02T00:00:00'"

Ha sztring típusú oszlopra szeretné szűrni az adatokat, tekintse meg ezt a példát:

"azureTableSourceQuery": "LastModifiedTime ge '201710010000_0000' and LastModifiedTime le '201710010000_9999'"

Ha a folyamatparamétert használja, állítsa a datetime értéket a megfelelő formátumba az előző mintáknak megfelelően.

Az Azure Table mint fogadó típusa

Ha adatokat szeretne az Azure Tablebe másolni, állítsa be a másolási tevékenység fogadótípusát az AzureTableSinkre. A másolási tevékenység fogadó szakaszában az alábbi tulajdonságok támogatottak.

Property Leírás Required
típus A másolási tevékenység fogadójának típustulajdonságát az AzureTableSink értékre kell állítani. Igen
azureTableDefaultPartitionKeyValue A fogadó által használható alapértelmezett partíciókulcs-érték. Nem
azureTablePartitionKeyName Adja meg annak az oszlopnak a nevét, amelynek az értékeit partíciókulcsként használják. Ha nincs megadva, a rendszer az "AzureTableDefaultPartitionKeyValue" partíciókulcsot használja. Nem
azureTableRowKeyName Adja meg annak az oszlopnak a nevét, amelynek oszlopértékei sorkulcsként vannak használva. Ha nincs megadva, minden sorhoz használjon GUID azonosítót. Nem
azureTableInsertType Az adatok Azure Tablebe való beszúrásának módja. Ez a tulajdonság azt szabályozza, hogy a kimeneti tábla egyező partícióval és sorkulcsokkal rendelkező meglévő sorai lecserélték vagy egyesítették-e az értékeiket.

Az engedélyezett értékek egyesítése (alapértelmezett) és csere.

Ez a beállítás nem a táblázat szintjén, hanem a sor szintjén érvényes. Egyik beállítás sem törli a kimeneti tábla azon sorait, amelyek nem léteznek a bemenetben. Az egyesítési és cserebeállítások működéséről az entitás beszúrása vagy egyesítése, valamint az entitás beszúrása vagy cseréje című témakörben tájékozódhat.
Nem
writeBatchSize Adatokat szúr be az Azure Tablebe a writeBatchSize vagy writeBatchTimeout találatok esetén.
Az engedélyezett értékek egész számok (sorok száma).
Nem (az alapértelmezett érték 10 000)
writeBatchTimeout Adatokat szúr be az Azure Tablebe a writeBatchSize vagy writeBatchTimeout találatok esetén.
Az engedélyezett értékek időbélyegek. Ilyen például a "00:20:00" (20 perc).
Nem (az alapértelmezett érték 90 másodperc, a tárolási ügyfél alapértelmezett időtúllépése)
 maxConcurrent Csatlakozás ions 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

Példa

"activities":[
    {
        "name": "CopyToAzureTable",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Azure Table output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "AzureTableSink",
                "azureTablePartitionKeyName": "<column name>",
                "azureTableRowKeyName": "<column name>"
            }
        }
    }
]

azureTablePartitionKeyName

A forrásoszlop leképezése céloszlopra a "translator" tulajdonság használatával, mielőtt a céloszlopot azureTablePartitionKeyName néven használhatja.

Az alábbi példában a DivisionID forrásoszlop a Cél oszlop DivisionID-hez van megfeleltetve:

"translator": {
    "type": "TabularTranslator",
    "columnMappings": "DivisionID: DivisionID, FirstName: FirstName, LastName: LastName"
}

A "DivisionID" partíciókulcsként van megadva.

"sink": {
    "type": "AzureTableSink",
    "azureTablePartitionKeyName": "DivisionID"
}

Adattípus-leképezés az Azure Tablehez

Amikor adatokat másol az Azure Tableből és az Azure Tablebe, a rendszer az alábbi leképezéseket használja az Azure Table-adattípusokból a szolgáltatáson belül használt köztes adattípusokra. Ha tudni szeretné, hogy a másolási tevékenység hogyan képezi le a forrássémát és az adattípust a fogadóhoz, tekintse meg a séma- és adattípus-leképezéseket.

Amikor adatokat helyez át az Azure Tablebe és onnan, az Azure Table által definiált alábbi leképezéseket használja az Azure Table OData-típusokról a .NET-típusra, és fordítva.

Azure Table-adattípus Köztes szolgáltatás adattípusa Részletek
Edm.Binary bájt[] Legfeljebb 64 KB bájtos tömb.
Edm.Boolean logikai Egy logikai érték.
Edm.DateTime DateTime Egy 64 bites érték, amely az egyezményes világidő (UTC) szerint van kifejezve. A támogatott DateTime-tartomány 1601. január 1-jei éjféltől (UTC) kezdődik. A tartomány 9999. december 31-ig tart.
Edm.Double double 64 bites lebegőpontos érték.
Edm.Guid GUID 128 bites globálisan egyedi azonosító.
Edm.Int32 Int32 32 bites egész szám.
Edm.Int64 Int64 64 bites egész szám.
Edm.String Sztring UTF-16 kódolású érték. A sztringértékek legfeljebb 64 KB-osak lehetnek.

Keresési tevékenység tulajdonságai

A tulajdonságok részleteinek megismeréséhez tekintse meg a keresési tevékenységet.

A másolási tevékenység által forrásként és fogadóként támogatott adattárak listáját lásd : Támogatott adattárak.