次の方法で共有


Azure Data Factory または Synapse Analytics を使用して MariaDB からデータをコピーする

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

Microsoft Fabric の Data Factory (企業向けのオールインワン分析ソリューション) を試してみてください。 Microsoft Fabric では、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法については、こちらを参照してください。

この記事では、Azure Data Factory または Synapse Analytics パイプラインでコピー アクティビティを使用して、MariaDB からデータをコピーする方法について説明します。 この記事は、コピー アクティビティの概要を示しているコピー アクティビティの概要に関する記事に基づいています。

重要

MariaDB コネクタ バージョン 1.0 は 削除段階にありますMariaDB コネクタをバージョン 1.0 から 2.0 にアップグレードすることをお勧めします。

サポートされる機能

この MariaDB コネクタでは、次の機能をサポートしています。

サポートされる機能 IR
Copy アクティビティ (ソース/-) (1) (2)
Lookup アクティビティ (1) (2)

① Azure 統合ランタイム ② セルフホステッド統合ランタイム

コピー アクティビティによってソースまたはシンクとしてサポートされているデータ ストアの一覧については、サポートされているデータ ストアに関する記事の表をご覧ください。

このサービスでは接続を有効にする組み込みのドライバーが提供されるので、このコネクタを使用してドライバーを手動でインストールする必要はありません。

このコネクタは現在、MariaDB コネクタ バージョン 2.0 ではバージョン 10.x、11.x の MariaDB、バージョン 1.0 では 10.0 から 10.5 をサポートしています。

前提条件

データ ストアがオンプレミス ネットワーク、Azure 仮想ネットワーク、または Amazon Virtual Private Cloud 内にある場合は、それに接続するようセルフホステッド統合ランタイムを構成する必要があります。

データ ストアがマネージド クラウド データ サービスである場合は、Azure Integration Runtime を使用できます。 ファイアウォール規則で承認されている IP にアクセスが制限されている場合は、Azure Integration Runtime の IP を許可リストに追加できます。

また、Azure Data Factory のマネージド仮想ネットワーク統合ランタイム機能を使用すれば、セルフホステッド統合ランタイムをインストールして構成しなくても、オンプレミス ネットワークにアクセスすることができます。

Data Factory によってサポートされるネットワーク セキュリティ メカニズムやオプションの詳細については、「データ アクセス戦略」を参照してください。

作業の開始

パイプラインでコピー アクティビティを実行するには、次のいずれかのツールまたは SDK を使用できます。

UI を使用して MariaDB のリンク サービスを作成する

次の手順を使用して、Azure portal UI で MariaDB のリンク サービスを作成します。

  1. Azure Data Factory または Synapse ワークスペースの [管理] タブに移動し、[リンク サービス] を選択して、[新規] をクリックします。

    Azure Data Factory の UI を使用した新しいリンク サービスの作成を示すスクリーンショット。

  2. Maria を検索し、MariaDB コネクタを選択します。

    MariaDB コネクタのスクリーンショット。

  3. サービスの詳細を構成し、接続をテストして、新しいリンク サービスを作成します。

    MariaDB のリンク サービスの構成のスクリーンショット。

コネクタの構成の詳細

次のセクションでは、MariaDB コネクタに固有の Data Factory エンティティを定義するために使用されるプロパティについて詳しく説明します。

リンクされたサービスのプロパティ

バージョン 2.0 を使用する場合、MariaDB のリンク サービスでは、次のプロパティがサポートされます:

プロパティ 説明 必須
type プロパティを MariaDB に設定する必要があります。 はい
driverVersion バージョン 2.0 を選択したときのドライバーのバージョン。 値は v2 です。 はい
サーバー MariaDB サーバーの名前。 はい
ポート MariaDB サーバーに接続するポート番号。 いいえ
データベース MariaDB データベース名。 はい
ユーザー名 ユーザー名。 はい
パスワード 該当するユーザー名のパスワード。 安全に保存するには、このフィールドを SecureString としてマークします。 また、Azure Key Vault に格納されているシークレットを参照することもできます。 はい
SSLモード このオプションは、MariaDB に接続するときにドライバーで TLS 暗号化および検証を使用するかどうかを指定します。 例: SSLMode=<0/1/2/3/4>
オプション: DISABLED (0) / PREFERRED (1) / REQUIRED (2) / VERIFY_CA (3) / VERIFY_IDENTITY (4) (既定値)
はい
useSystemTrustStore このオプションは、システムの信頼ストアと指定した PEM ファイルのどちらの CA 証明書を使用するかを指定します。 例: UseSystemTrustStore=<0/1>
オプション: Enabled (1) / Disabled (0) (既定値)
いいえ
connectVia (接続ビア) データ ストアに接続するために使用される統合ランタイム。 詳細については、「前提条件」セクションを参照してください。 指定されていない場合は、既定の Azure Integration Runtime が使用されます。 いいえ

MariaDB コネクタ バージョン 2.0 は、sslMode=VERIFY_IDENTITY (4) を使用した TLS 暗号化と検証の既定値です。 サーバーの TLS 構成に基づいて、必要に応じて sslMode を調整してください。

例:

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

例: パスワードを 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"
        }
    }
}

バージョン 1.0 を使用する場合は、次のプロパティがサポートされます。

プロパティ 説明 必須
type プロパティを MariaDB に設定する必要があります。 はい
コネクションストリング MariaDB に接続するための ODBC 接続文字列。
パスワードを Azure Key Vault に格納して、接続文字列から pwd 構成をプルすることもできます。 詳細については、下記の例と、「Azure Key Vault への資格情報の格納」の記事を参照してください。
はい
connectVia (接続ビア) データ ストアに接続するために使用される統合ランタイム。 詳細については、「前提条件」セクションを参照してください。 指定されていない場合は、既定の Azure Integration Runtime が使用されます。 いいえ

例:

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

データセットのプロパティ

データセットを定義するために使用できるセクションとプロパティの完全な一覧については、データセットに関する記事をご覧ください。 このセクションでは、MariaDB データセットでサポートされるプロパティの一覧を示します。

MariaDB からデータをコピーするには、データセットの type プロパティを MariaDBTable に設定します。 この種類のデータセットに追加の種類固有のプロパティはありません。

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

コピー アクティビティのプロパティ

アクティビティの定義に利用できるセクションとプロパティの完全な一覧については、パイプラインに関する記事を参照してください。 このセクションでは、MariaDB ソース でサポートされるプロパティの一覧を示します。

ソースとしての MariaDB

MariaDB からデータをコピーするには、コピー アクティビティのソースの種類を MariaDBSource に設定します。 コピー アクティビティの source セクションでは、次のプロパティがサポートされます。

プロパティ 説明 必須
コピー アクティビティのソースの type プロパティを MariaDBSource に設定する必要があります。 はい
クエリ カスタム SQL クエリを使用してデータを読み取ります。 例: "SELECT * FROM MyTable" いいえ (データセットの "tableName" が指定されている場合)

例:

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

MariaDB のデータ型マッピング

MariaDB からデータをコピーする場合、MariaDB データ型からサービスが内部的に使用する中間データ型への次のマッピングが使用されます。 コピー アクティビティでソースのスキーマとデータ型がシンクにマッピングされるしくみについては、スキーマとデータ型のマッピングに関する記事を参照してください。

MariaDB データ型 中間サービスのデータ型 (バージョン 2.0 の場合) 中間サービスのデータ型 (バージョン 1.0 の場合)
BIGINT Int64 Int64
BIGINT UNSIGNED UInt64 Decimal
BIT(1) UInt64 ブール値
BIT(M)、M>1 UInt64 Byte[]
BLOB Byte[] Byte[]
ブール ブーリアン
(TreatTinyAsBoolean=false の場合、SByte としてマップされます。TreatTinyAsBoolean は既定で true です)
Int16
CHAR
DATE 日付時刻 日付時刻
日時 日付時刻 日付時刻
DECIMAL Decimal Decimal、String
DOUBLE Double Double
倍精度 Double Double
ENUM
FLOAT シングル シングル
INT Int32 Int32
INT UNSIGNED Int64 Int64
INTEGER Int32 Int32
整数 (INTEGER) 符号なし (UNSIGNED) UInt32 Int64
JSON Byte[]
LONG VARBINARY Byte[] Byte[]
ロングバーチャー (LONG VARCHAR)
LONGBLOB Byte[] Byte[]
LONGTEXT
MEDIUMBLOB Byte[] Byte[]
MEDIUMINT Int32 Int32
MEDIUMINT UNSIGNED UInt32 Int64
MEDIUMTEXT
数値 Decimal Decimal
real Double Double
SET
SMALLINT Int16 Int16
SMALLINT UNSIGNED UInt16 Int32
テキスト
TIME TimeSpan TimeSpan
TIMESTAMP 日付時刻 日付時刻
TINYBLOB Byte[] Byte[]
TINYINT SByte Int16
TINYINT unsigned Int16 Int16
TINYTEXT (タイニーテキスト)
VARCHAR
YEAR 整数 整数

Lookup アクティビティのプロパティ

プロパティの詳細については、Lookup アクティビティに関するページを参照してください。

MariaDB コネクタをアップグレードする

MariaDB コネクタをアップグレードするのに役立つ手順を次に示します。

  1. [リンク サービスの編集] ページの [バージョン][2.0] を選択し、「リンク サービスのプロパティ」を参照してリンク サービスを構成します。

  2. バージョン 2.0 のデータ型マッピングは、バージョン 1.0 の場合とは異なります。 バージョン 2.0 のデータ型マッピングについては、「MariaDB のデータ型マッピング」を参照してください。

  3. 最新のドライバー バージョン v2 では、より多くの MariaDB バージョンがサポートされています。 詳細については、「サポートされる機能」を参照してください。

次のテーブルは、MariaDB バージョン 2.0 とバージョン 1.0 のデータ型マッピングの違いを示しています。

MariaDB データ型 中間サービスのデータ型 (バージョン 2.0 を使用する場合) 中間サービスのデータ型 (バージョン 1.0 を使用する場合)
BIGINT UNSIGNED UInt64 Decimal
BIT(1) UInt64 ブール値
BIT(M)、M>1 UInt64 Byte[]
ブール ブール値 Int16
DECIMAL Decimal Decimal、String
整数 (INTEGER) 符号なし (UNSIGNED) UInt32 Int64
JSON Byte[]
MEDIUMINT UNSIGNED UInt32 Int64
SMALLINT UNSIGNED UInt16 Int32
TINYINT SByte Int16

Copy アクティビティでソースおよびシンクとしてサポートされるデータ ストアの一覧については、サポートされるデータ ストアに関するセクションを参照してください。