Kopieren von Daten aus MariaDB mithilfe von Azure Data Factory oder Synapse Analytics

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

In diesem Artikel wird beschrieben, wie Sie die Kopieraktivität in einer Azure Data Factory- oder Synapse Analytics-Pipeline verwenden, um Daten aus MariaDB zu kopieren. Er baut auf dem Artikel zur Übersicht über die Kopieraktivität auf, der eine allgemeine Übersicht über die Kopieraktivität enthält.

Unterstützte Funktionen

Dieser MariaDB-Connector wird für die folgenden Funktionen unterstützt:

Unterstützte Funktionen IR
Kopieraktivität (Quelle/-) ① ②
Lookup-Aktivität ① ②

① Azure Integration Runtime ② Selbstgehostete Integration Runtime

Eine Liste der Datenspeicher, die als Quellen oder Senken für die Kopieraktivität unterstützt werden, finden Sie in der Tabelle Unterstützte Datenspeicher.

Der Dienst enthält einen integrierten Treiber zum Herstellen der Konnektivität. Daher müssen Sie keinen Treiber manuell installieren, wenn dieser Connector verwendet wird.

Dieser Connector unterstützt derzeit MariaDB Version 10.x, 11.x unter der empfohlenen neuen Treiberversion v2 und 10.0 bis 10.5 unter der Legacytreiberversion.

Voraussetzungen

Wenn sich Ihr Datenspeicher in einem lokalen Netzwerk, in einem virtuellen Azure-Netzwerk oder in einer virtuellen privaten Amazon-Cloud befindet, müssen Sie eine selbstgehostete Integration Runtime konfigurieren, um eine Verbindung herzustellen.

Handelt es sich bei Ihrem Datenspeicher um einen verwalteten Clouddatendienst, können Sie die Azure Integration Runtime verwenden. Ist der Zugriff auf IP-Adressen beschränkt, die in den Firewallregeln genehmigt sind, können Sie Azure Integration Runtime-IPs zur Positivliste hinzufügen.

Sie können auch das Feature managed virtual network integration runtime (Integration Runtime für verwaltete virtuelle Netzwerke) in Azure Data Factory verwenden, um auf das lokale Netzwerk zuzugreifen, ohne eine selbstgehostete Integration Runtime zu installieren und zu konfigurieren.

Weitere Informationen zu den von Data Factory unterstützten Netzwerksicherheitsmechanismen und -optionen finden Sie unter Datenzugriffsstrategien.

Erste Schritte

Sie können eines der folgenden Tools oder SDKs verwenden, um die Kopieraktivität mit einer Pipeline zu verwenden:

Erstellen eines verknüpften Diensts für MariaDB über die Benutzeroberfläche

Führen Sie die folgenden Schritte aus, um einen verknüpften Dienst für MariaDB in der Benutzeroberfläche des Azure-Portals zu erstellen.

  1. Navigieren Sie in Ihrem Azure Data Factory- oder Synapse-Arbeitsbereich zur Registerkarte „Verwalten“, wählen Sie „Verknüpfte Dienste“ aus, und klicken Sie dann auf „Neu“:

  2. Suchen Sie nach Maria, und wählen Sie den MariaDB Connector aus.

    Screenshot des MariaDB-Connectors

  3. Konfigurieren Sie die Dienstdetails, testen Sie die Verbindung, und erstellen Sie den neuen verknüpften Dienst.

    Ein Screenshot von der Konfiguration des verknüpften Diensts für MariaDB zeigt.

Details zur Connectorkonfiguration

Die folgenden Abschnitte enthalten Details zu Eigenschaften, die zum Definieren von Data Factory-Entitäten speziell für den MariaDB-Connector verwendet werden.

Eigenschaften des verknüpften Diensts

Wenn Sie die empfohlene Treiberversion verwenden, werden die folgenden Eigenschaften für den mit MariaDB verknüpften Dienst unterstützt:

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft muss auf Folgendes festgelegt werden: MariaDB Ja
driverVersion Die Treiberversion, wenn Sie die empfohlene Treiberversion auswählen. Der Wert lautet v2. Ja
server Der Name Ihres MariaDB-Servers. Ja
port Die Portnummer für die Verbindung mit dem MariaDB-Server. Nein
database Ihr MariaDB-Datenbankname. Ja
username Ihr Benutzername. Ja
Kennwort Das Kennwort für den Benutzernamen. Markieren Sie dieses Feld als SecureString, um es sicher zu speichern. Alternativ können Sie auf ein in Azure Key Vault gespeichertes Geheimnis verweisen. Ja
connectVia Die Integrationslaufzeit, die zum Herstellen einer Verbindung mit dem Datenspeicher verwendet werden muss. Weitere Informationen finden Sie im Abschnitt Voraussetzungen. Wenn keine Option angegeben ist, wird die standardmäßige Azure Integration Runtime verwendet. Nein

Beispiel:

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

Beispiel: Speichern des Kennworts in 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"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Wenn Sie die Legacytreiberversion verwenden, werden die folgenden Eigenschaften unterstützt:

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft muss auf Folgendes festgelegt werden: MariaDB Ja
connectionString Eine ODBC-Verbindungszeichenfolge zum Herstellen einer Verbindung mit MariaDB.
Sie können auch das Kennwort in Azure Key Vault speichern und die pwd-Konfiguration aus der Verbindungszeichenfolge pullen. Ausführlichere Informationen finden Sie in den folgenden Beispielen und im Artikel Speichern von Anmeldeinformationen in Azure Key Vault.
Ja
connectVia Die Integrationslaufzeit, die zum Herstellen einer Verbindung mit dem Datenspeicher verwendet werden muss. Weitere Informationen finden Sie im Abschnitt Voraussetzungen. Wenn keine Option angegeben ist, wird die standardmäßige Azure Integration Runtime verwendet. Nein

Beispiel:

{
    "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"
        }
    }
}

Dataset-Eigenschaften

Eine vollständige Liste mit den Abschnitten und Eigenschaften, die zum Definieren von Datasets zur Verfügung stehen, finden Sie im Artikel zu Datasets. Dieser Abschnitt enthält eine Liste der Eigenschaften, die vom MariaDB-Dataset unterstützt werden.

Legen Sie zum Kopieren von Daten aus MariaDB die „type“-Eigenschaft des Datasets auf MariaDBTable fest. Bei diesem Dataset-Typ gibt es keine zusätzliche typspezifische Eigenschaft.

Beispiel

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

Eigenschaften der Kopieraktivität

Eine vollständige Liste mit den Abschnitten und Eigenschaften zum Definieren von Aktivitäten finden Sie im Artikel Pipelines. Dieser Abschnitt enthält eine Liste der Eigenschaften, die von der MariaDB-Quelle unterstützt werden.

MariaDB als Quelle

Legen Sie zum Kopieren von Daten aus MariaDB den Quelltyp in der Kopieraktivität auf MariaDBSource fest. Folgende Eigenschaften werden im Abschnitt source der Kopieraktivität unterstützt:

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft der Quelle der Kopieraktivität muss auf Folgendes festgelegt werden: MariaDBSource Ja
Abfrage Verwendet die benutzerdefinierte SQL-Abfrage zum Lesen von Daten. Beispiel: "SELECT * FROM MyTable". Nein (wenn „tableName“ im Dataset angegeben ist)

Beispiel:

"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>"
            }
        }
    }
]

Datentypzuordnung für MariaDB

Beim Kopieren von Daten aus MariaDB werden die folgenden Zuordnungen von MariaDB-Datentypen zu den vom Dienst intern verwendeten Zwischendatentypen verwendet. Unter Schema- und Datentypzuordnungen erfahren Sie, wie Sie Aktivitätszuordnungen für Quellschema und Datentyp in die Senke kopieren.

MariaDB-Datentyp Zwischendatentyp des Diensts Zwischendatentyp des Dienstes (für die altere Treiberversion)
bigint Int64 Int64
bigint unsigned Decimal Decimal
bit(1) UInt64 Boolean
bit(M), M>1 UInt64 Byte[]
blob Byte[] Byte[]
bool Boolean
(Wenn TreatTinyAsBoolean=false, wird der Wert als SByte zugeordnet. TreatTinyAsBoolean ist standardmäßig true)
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

Eigenschaften der Lookup-Aktivität

Ausführliche Informationen zu den Eigenschaften finden Sie unter Lookup-Aktivität.

Upgrade der MariaDB-Treiberversion

Die folgenden Schritte helfen Ihnen beim Upgrade Ihrer MariaDB-Treiberversion:

  1. Wählen Sie auf der Seite Verknüpften Dienst bearbeiten unter Treiberversion die Option Empfohlen aus, und konfigurieren Sie den verknüpften Dienst, indem Sie auf Eigenschaften des verknüpften Diensts verweisen.

  2. Die Datentypzuordnung für den neuesten mit MariaDB verknüpften Dienst unterscheidet sich von der für die Legacyversion. Informationen zur neuesten Datentypzuordnung finden Sie unter Datentypzuordnung für MariaDB.

  3. Die neueste Treiberversion v2 unterstützt weitere MariaDB-Versionen. Weitere Informationen finden Sie unter Unterstützte Funktionen.

Die folgende Tabelle zeigt die Unterschiede der Datentypzuordnung zwischen MariaDB-Connector unter Verwendung der empfohlenen Treiberversion und der Legacy-Treiberversion.

MariaDB-Datentyp Zwischendienstdatentyp (unter Verwendung der empfohlenen Treiberversion) Zwischendienstdatentyp (unter Verwendung der Legacy-Treiberversion)
bit(1) UInt64 Boolean
bit(M), M>1 UInt64 Byte[]
bool Boolean Int16
JSON String Byte[]

Eine Liste der Datenspeicher, die als Quelles und Senken für die Kopieraktivität unterstützt werden, finden Sie in der Dokumentation für Unterstützte Datenspeicher.