Kopiera data från MariaDB med Hjälp av Azure Data Factory eller Synapse Analytics

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

Den här artikeln beskriver hur du använder kopieringsaktiviteten i en Azure Data Factory- eller Synapse Analytics-pipeline för att kopiera data från MariaDB. Den bygger på översiktsartikeln för kopieringsaktivitet som visar en allmän översikt över kopieringsaktiviteten.

Viktigt!

MariaDB-anslutningsprogrammet med den rekommenderade drivrutinsversionen ger förbättrat inbyggt MariaDB-stöd. Om du använder anslutningsappen med den äldre drivrutinsversionen uppgraderar du den före den 31 oktober 2024. Mer information om skillnaden mellan den äldre och den rekommenderade versionen finns i det här avsnittet .

Funktioner som stöds

Den här MariaDB-anslutningsappen stöds för följande funktioner:

Funktioner som stöds IR
aktiviteten Kopiera (källa/-) (1) (2)
Sökningsaktivitet (1) (2)

(1) Azure Integration Runtime (2) Lokalt installerad integrationskörning

En lista över datalager som stöds som källor/mottagare av kopieringsaktiviteten finns i tabellen Datalager som stöds.

Tjänsten tillhandahåller en inbyggd drivrutin för att aktivera anslutningen. Därför behöver du inte installera någon drivrutin manuellt med den här anslutningsappen.

Den här anslutningsappen stöder för närvarande MariaDB av version 10.x, 11.x under den rekommenderade nya drivrutinsversionen v2 och 10.0 till 10.5 för den äldre drivrutinsversionen.

Förutsättningar

Om ditt datalager finns i ett lokalt nätverk, ett virtuellt Azure-nätverk eller Amazon Virtual Private Cloud måste du konfigurera en lokalt installerad integrationskörning för att ansluta till det.

Om ditt datalager är en hanterad molndatatjänst kan du använda Azure Integration Runtime. Om åtkomsten är begränsad till IP-adresser som är godkända i brandväggsreglerna kan du lägga till Azure Integration Runtime-IP-adresser i listan över tillåtna.

Du kan också använda funktionen för integrering av hanterade virtuella nätverk i Azure Data Factory för att få åtkomst till det lokala nätverket utan att installera och konfigurera en lokalt installerad integrationskörning.

Mer information om de nätverkssäkerhetsmekanismer och alternativ som stöds av Data Factory finns i Strategier för dataåtkomst.

Komma igång

Om du vill utföra aktiviteten Kopiera med en pipeline kan du använda något av följande verktyg eller SDK:er:

Skapa en länkad tjänst till MariaDB med hjälp av användargränssnittet

Använd följande steg för att skapa en länkad tjänst till MariaDB i användargränssnittet för Azure Portal.

  1. Bläddra till fliken Hantera i Din Azure Data Factory- eller Synapse-arbetsyta och välj Länkade tjänster och klicka sedan på Ny:

  2. Sök efter Maria och välj MariaDB-anslutningsappen.

    Skärmbild av MariaDB-anslutningsappen.

  3. Konfigurera tjänstinformationen, testa anslutningen och skapa den nya länkade tjänsten.

    Skärmbild av den länkade tjänstkonfigurationen för MariaDB.

Konfigurationsinformation för anslutningsprogram

Följande avsnitt innehåller information om egenskaper som används för att definiera Data Factory-entiteter som är specifika för MariaDB-anslutningsappen.

Länkade tjänstegenskaper

Om du använder den rekommenderade drivrutinsversionen stöds följande egenskaper för länkad MariaDB-tjänst:

Property Beskrivning Obligatoriskt
type Typegenskapen måste anges till: MariaDB Ja
driverVersion Drivrutinsversionen när du väljer den rekommenderade drivrutinsversionen. Värdet är v2. Ja
server Namnet på din MariaDB-server. Ja
port Portnumret för att ansluta till MariaDB-servern. Nej
database Ditt MariaDB-databasnamn. Ja
användarnamn Ditt användarnamn. Ja
password Lösenordet för användarnamnet. Markera det här fältet som SecureString för att lagra det på ett säkert sätt. Eller så kan du referera till en hemlighet som lagras i Azure Key Vault. Ja
sslMode Det här alternativet anger om drivrutinen använder TLS-kryptering och verifiering vid anslutning till MariaDB. T.ex. SSLMode=<0/1/2/3/4>.
Alternativ: INAKTIVERAD (0) / FÖREDRAGEN (1) / OBLIGATORISK (2) / VERIFY_CA (3) / VERIFY_IDENTITY (4) (standard)
Ja
useSystemTrustStore Det här alternativet anger om du vill använda ett CA-certifikat från systemförtroendearkivet eller från en angiven PEM-fil. T.ex. UseSystemTrustStore=<0/1>;
Alternativ: Aktiverad (1)/Inaktiverad (0) (standard)
Nej
connectVia Integration Runtime som ska användas för att ansluta till datalagret. Läs mer i avsnittet Förutsättningar . Om den inte anges använder den standardkörningen för Azure-integrering. Nej

Exempel:

{
    "name": "MariaDBLinkedService",
    "properties": {
        "type": "MariaDB",
        "typeProperties": {
            "server": "<server>",
            "port": "<port>",
            "database": "<database>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "driverVersion": "v2",
            "sslMode": <sslmode>,
            "useSystemTrustStore": <UseSystemTrustStore>
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Exempel: Lagra lösenord i Azure Key Vault

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

Om du använder den äldre drivrutinsversionen stöds följande egenskaper:

Property Beskrivning Obligatoriskt
type Typegenskapen måste anges till: MariaDB Ja
connectionString En ODBC-anslutningssträng för att ansluta till MariaDB.
Du kan också lägga till lösenord i Azure Key Vault och hämta konfigurationen pwd från anslutningssträng. Mer information finns i följande exempel och artikeln Lagra autentiseringsuppgifter i Azure Key Vault .
Ja
connectVia Integration Runtime som ska användas för att ansluta till datalagret. Läs mer i avsnittet Förutsättningar . Om den inte anges använder den standardkörningen för Azure-integrering. Nej

Exempel:

{
    "name": "MariaDBLinkedService",
    "properties": {
        "type": "MariaDB",
        "typeProperties": {
            "connectionString": "Server=<host>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Egenskaper för datauppsättning

En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera datauppsättningar finns i artikeln datauppsättningar . Det här avsnittet innehåller en lista över egenskaper som stöds av MariaDB-datauppsättningen.

Om du vill kopiera data från MariaDB anger du datauppsättningens typegenskap till MariaDBTable. Det finns ingen ytterligare typspecifik egenskap i den här typen av datauppsättning.

Exempel

{
    "name": "MariaDBDataset",
    "properties": {
        "type": "MariaDBTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<MariaDB linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Kopiera egenskaper för aktivitet

En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera aktiviteter finns i artikeln Pipelines . Det här avsnittet innehåller en lista över egenskaper som stöds av MariaDB-källan.

MariaDB som källa

Om du vill kopiera data från MariaDB anger du källtypen i kopieringsaktiviteten till MariaDBSource. Följande egenskaper stöds i avsnittet kopieringsaktivitetskälla:

Property Beskrivning Obligatoriskt
type Typegenskapen för kopieringsaktivitetskällan måste anges till: MariaDBSource Ja
query Använd den anpassade SQL-frågan för att läsa data. Exempel: "SELECT * FROM MyTable". Nej (om "tableName" i datauppsättningen har angetts)

Exempel:

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

Datatypsmappning för MariaDB

När du kopierar data från MariaDB används följande mappningar från MariaDB-datatyper till mellanliggande datatyper som används av tjänsten internt. Se Schema- och datatypmappningar för att lära dig mer om hur kopieringsaktivitet mappar källschemat och datatypen till mottagaren.

MariaDB-datatyp Datatyp för interimstjänst Interim servicedatatyp (för den äldre drivrutinsversionen)
bigint Int64 Int64
bigint unsigned Decimal Decimal
bit(1) UInt64 Boolean
bit(M), M>1 UInt64 Byte[]
blob Byte[] Byte[]
bool Boolean
(Om TreatTinyAsBoolean=false mappas den som SByte. TreatTinyAsBoolean är sant som standard )
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

Egenskaper för uppslagsaktivitet

Mer information om egenskaperna finns i Sökningsaktivitet.

Uppgradera MariaDB-anslutningsappen

Här följer steg som hjälper dig att uppgradera din MariaDB-anslutning:

  1. sidan Redigera länkad tjänst väljer du Rekommenderas under Drivrutinsversion och konfigurerar den länkade tjänsten genom att referera till egenskaper för länkad tjänst.

  2. Datatypsmappningen för den senaste länkade MariaDB-tjänsten skiljer sig från den för den äldre versionen. Information om den senaste datatypsmappningen finns i Datatypsmappning för MariaDB.

  3. Den senaste drivrutinsversionen v2 stöder fler MariaDB-versioner. Mer information finns i Funktioner som stöds.

Tabellen nedan visar skillnaderna i datatypsmappning mellan MariaDB med hjälp av den rekommenderade och äldre drivrutinsversionen.

MariaDB-datatyp Datatyp för interimstjänst (med hjälp av den rekommenderade drivrutinsversionen) Datatyp för interimstjänst (med den äldre drivrutinsversionen)
bit(1) UInt64 Booleskt
bit(M), M>1 UInt64 Byte[]
bool Booleskt Int16
JSON String Byte[]

En lista över datalager som stöds som källor och mottagare av kopieringsaktiviteten finns i datalager som stöds.