Adatok másolása a MySQL-ből 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 MySQL-adatbázisból való másolásához. 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.

Feljegyzés

Ha adatokat szeretne másolni az Azure Database for MySQL szolgáltatásból vagy az Azure Database for MySQL szolgáltatásba, használja a speciális Azure Database for MySQL-összekötőt.

Támogatott képességek

Ez a MySQL-összekötő a következő képességekhez támogatott:

Támogatott képességek IR
Copy tevékenység (forrás/-) (1) (2)
Keresési tevékenység (1) (2)

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

A másolási tevékenység által forrásként/fogadóként támogatott adattárak listáját a Támogatott adattárak táblában találja.

Ez az összekötő támogatja a MySQL 5.5-ös, 5.6-os, 5.7-es, 8.0-s, 8.1-es és 8.2-es verzióját az új illesztőprogram 2-es és 5.6-os, 5.7-es és 8.0-s verziójában.

Előfeltételek

Ha az adattár helyszíni hálózaton, Azure-beli virtuális hálózaton vagy Amazon Virtual Private Cloudon belül található, konfigurálnia kell egy saját üzemeltetésű integrációs modult a csatlakozáshoz.

Ha az adattár felügyelt felhőalapú adatszolgáltatás, használhatja az Azure Integration Runtime-ot. Ha a hozzáférés a tűzfalszabályokban jóváhagyott IP-címekre korlátozódik, hozzáadhat azure integration runtime IP-eket az engedélyezési listához.

Az Azure Data Factory felügyelt virtuális hálózati integrációs moduljával is elérheti a helyszíni hálózatot anélkül, hogy saját üzemeltetésű integrációs modult telepítene és konfigurálna.

A Data Factory által támogatott hálózati biztonsági mechanizmusokkal és lehetőségekkel kapcsolatos további információkért lásd az adathozzáférési stratégiákat.

Az Integrációs modul beépített MySQL-illesztőt biztosít a 3.7-es verziótól kezdve, ezért nem kell manuálisan telepítenie az illesztőprogramokat.

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:

Társított szolgáltatás létrehozása a MySQL-hez felhasználói felületen

Az alábbi lépésekkel létrehozhat egy társított szolgáltatást a MySQL-hez 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. Keresse meg a MySQL-t, és válassza ki a MySQL-összekötőt.

    Válassza ki a MySQL-összekötőt.

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

    Társított szolgáltatás konfigurálása a MySQL-hez.

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

Az alábbi szakaszok a Data Factory-entitások MySQL-összekötőre vonatkozó meghatározásához használt tulajdonságok részleteit ismertetik.

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

Ha az ajánlott illesztőprogram-verziót használja, a MySQL társított szolgáltatás esetében az alábbi tulajdonságok támogatottak:

Tulajdonság Leírás Kötelező
típus A típustulajdonságnak a következőnek kell lennie: MySql Igen
driverVersion Az illesztőprogram verziója az ajánlott illesztőprogram-verzió kiválasztásakor. Az érték v2. Igen
kiszolgáló A MySQL-kiszolgáló neve. Igen
kikötő A MySQL-kiszolgálóhoz való csatlakozáshoz használt portszám. Nem
adatbázis A MySQL-adatbázis neve. Igen
username Az Ön felhasználóneve. Igen
jelszó A felhasználónév jelszava. Jelölje meg ezt a mezőt SecureStringként a biztonságos tároláshoz. Hivatkozhat az Azure Key Vaultban tárolt titkos kódokra is. Igen
sslMode Ez a beállítás azt határozza meg, hogy az illesztőprogram TLS-titkosítást és -ellenőrzést használ-e a MySQL-hez való csatlakozáskor. Például. SSLMode=<0/1/2/3/4>
Beállítások: LETILTVA (0) / PREFERÁLT (1) (Alapértelmezett) / KÖTELEZŐ (2) / VERIFY_CA (3) / VERIFY_IDENTITY (4)
Igen
useSystemTrustStore Ez a beállítás azt határozza meg, hogy a rendszer megbízhatósági tárolójából vagy egy megadott PEM-fájlból használjon-e hitelesítésszolgáltatói tanúsítványt. Például; UseSystemTrustStore=<0/1>
Beállítások: Engedélyezve (1) / Letiltva (0) (Alapértelmezett)
Nem
connectVia Az adattárhoz való csatlakozáshoz használandó integrációs modul . További információ az Előfeltételek szakaszból. Ha nincs megadva, az alapértelmezett Azure Integration Runtime-t használja. Nem

Példa:

{
    "name": "MySQLLinkedService",
    "properties": {
        "type": "MySql",
        "typeProperties": {
             "server": "<server>",
             "port": 3306,
             "database": "<database>",
             "username": "<username>",
             "password": {
                "type": "SecureString",
                "value": "<password>"
             },
             "sslmode": <sslmode>,
             "usesystemtruststore": <UseSystemTrustStore>,
             "driverVersion": "v2"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

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

{
    "name": "MySQLLinkedService",
    "properties": {
        "type": "MySql",
        "typeProperties": {
            "server": "<server>",
            "port": 3306,
            "database": "<database>",
            "username": "<username>",
            "sslmode": <sslmode>,
            "usesystemtruststore": <UseSystemTrustStore>,
            "password": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            },
            "driverVersion": "v2"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Ha az örökölt illesztőprogram-verziót használja, a következő tulajdonságok támogatottak:

Tulajdonság Leírás Kötelező
típus A típustulajdonságnak a következőnek kell lennie: MySql Igen
connectionString Adja meg az Azure Database for MySQL-példányhoz való csatlakozáshoz szükséges információkat.
Jelszót is elhelyezhet az Azure Key Vaultban, és lekérheti a password 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 . További információ az Előfeltételek szakaszból. Ha nincs megadva, az alapértelmezett Azure Integration Runtime-t használja. Nem

Egy tipikus kapcsolati sztring a Server=<server>;Port=<port>;Database=<database>;UID=<username>;PWD=<password>. Esetenként további tulajdonságok állíthatók be:

Tulajdonság Leírás Kötelező
sslMode Ez a beállítás azt határozza meg, hogy az illesztőprogram TLS-titkosítást és -ellenőrzést használ-e a MySQL-hez való csatlakozáskor. Például. SSLMode=<0/1/2/3/4>
Beállítások: LETILTVA (0) / PREFERÁLT (1) (Alapértelmezett) / KÖTELEZŐ (2) / VERIFY_CA (3) / VERIFY_IDENTITY (4)
Igen
SSLCert Az ügyfél identitásának igazolásához használt SSL-tanúsítványt tartalmazó .pem fájl teljes elérési útja és neve.
Ha titkos kulcsot szeretne megadni a tanúsítvány titkosításához, mielőtt elküldené a kiszolgálónak, használja a tulajdonságot SSLKey .
Igen, ha kétirányú SSL-ellenőrzést használ.
SSLKey A kétirányú SSL-ellenőrzés során az ügyféloldali tanúsítvány titkosításához használt titkos kulcsot tartalmazó fájl teljes elérési útja és neve. Igen, ha kétirányú SSL-ellenőrzést használ.
useSystemTrustStore Ez a beállítás azt határozza meg, hogy a rendszer megbízhatósági tárolójából vagy egy megadott PEM-fájlból használjon-e hitelesítésszolgáltatói tanúsítványt. Például; UseSystemTrustStore=<0/1>
Beállítások: Engedélyezve (1) / Letiltva (0) (Alapértelmezett)
Nem

Példa:

{
    "name": "MySQLLinkedService",
    "properties": {
        "type": "MySql",
        "typeProperties": {
            "connectionString": "Server=<server>;Port=<port>;Database=<database>;UID=<username>;PWD=<password>"
        },
        "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 adathalmazokról szóló cikkben találja. Ez a szakasz a MySQL-adatkészlet által támogatott tulajdonságok listáját tartalmazza.

Az adatok MySQL-ből való másolásához a következő tulajdonságok támogatottak:

Tulajdonság Leírás Kötelező
típus Az adathalmaz típustulajdonságának a következőnek kell lennie: MySqlTable Igen
tableName A MySQL-adatbázisban lévő tábla neve. Nem (ha "lekérdezés" van megadva a tevékenységforrásban)

Példa

{
    "name": "MySQLDataset",
    "properties":
    {
        "type": "MySqlTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<MySQL linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Ha gépelt adatkészletet használt RelationalTable , az továbbra is támogatott, miközben a rendszer azt javasolja, hogy használja az újat.

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 a MySQL-forrás által támogatott tulajdonságok listáját tartalmazza.

MySQL mint forrás

Az adatok MySQL-ből való másolásához a másolási tevékenység forrás szakasza az alábbi 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ának a következőnek kell lennie: MySqlSource Igen
Lekérdezés Az adatok olvasásához használja az egyéni SQL-lekérdezést. Például: "SELECT * FROM MyTable" Nem (ha "tableName" van megadva az adathalmazban)

Példa:

"activities":[
    {
        "name": "CopyFromMySQL",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<MySQL input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "MySqlSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Ha gépelt forrást használt RelationalSource , az továbbra is támogatott, miközben a rendszer azt javasolja, hogy használja az újat.

Adattípus-leképezés a MySQL-hez

Amikor adatokat másol a MySQL-ből, a következő leképezéseket használja a MySQL-adattípusoktól a szolgáltatás által belsőleg használt köztes adattípusokig. A séma- és adattípus-leképezések segítségével megtudhatja , hogy a másolási tevékenység hogyan rendeli le a forrásséma és az adattípust a fogadóhoz.

MySQL-adattípus Köztes szolgáltatás adattípusa Köztes szolgáltatás adattípusa (az örökölt illesztőprogram-verzióhoz)
bigint Int64 Int64
bigint unsigned Decimal Decimal
bit(1) UInt64 Boolean
bit(M), M>1 UInt64 Byte[]
blob Byte[] Byte[]
bool Boolean
(Ha TreatTinyAsBoolean=false, akkor a rendszer a következőképpen van leképezve SByte: . TreatTinyAsBoolean alapértelmezés szerint igaz )
Int16
char String String
date Datetime Datetime
datetime Datetime Datetime
decimal Decimal Decimal, String
double Double Double
double precision Double Double
enum String String
float Single Single
int Int32 Int32
int unsigned Int64 Int64
integer Int32 Int32
integer unsigned Int64 Int64
JSON String -
long varbinary Byte[] Byte[]
long varchar String String
longblob Byte[] Byte[]
longtext String String
mediumblob Byte[] Byte[]
mediumint Int32 Int32
mediumint unsigned Int64 Int64
mediumtext String String
numeric Decimal Decimal
real Double Double
set String String
smallint Int16 Int16
smallint unsigned Int32 Int32
text String String
time TimeSpan TimeSpan
timestamp Datetime Datetime
tinyblob Byte[] Byte[]
tinyint SByte Int16
tinyint unsigned Int16 Int16
tinytext String String
varchar String String
year Int Int

Keresési tevékenység tulajdonságai

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

A MySQL-illesztőprogram verziójának frissítése

Az alábbi lépések segítenek a MySQL-illesztőprogram verziójának frissítésében:

  1. A Csatolt szolgáltatás szerkesztése lapon válassza az Ajánlott lehetőséget az Illesztőprogram verzió alatt, és konfigurálja a társított szolgáltatást a csatolt szolgáltatás tulajdonságaira hivatkozva.

  2. A legújabb Társított MySQL-szolgáltatás adattípus-leképezése eltér az örökölt verzióétól. A legújabb adattípus-leképezés megismeréséhez tekintse meg a MySQL adattípus-leképezését.

  3. A legújabb 2-es verziójú illesztőprogram több MySQL-verziót támogat. További információ: Támogatott képességek.

Az alábbi táblázat a MySQL-összekötő adattípus-leképezési különbségeit mutatja be az ajánlott illesztőprogram-verzió és az örökölt illesztőprogram-verzió használatával.

MySQL-adattípus Köztes szolgáltatás adattípusa (az ajánlott illesztőprogram-verzió használatával) Köztes szolgáltatás adattípusa (az örökölt illesztőprogram-verzió használatával)
bit(1) UInt64 Logikai
bit(M), M>1 UInt64 Bájt[]
logikai Logikai Int16
JSON Sztring Bájt[]

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.