Megosztás:


Adatok másolása a PostgreSQL V2-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 PostgreSQL-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.

Fontos

A PostgreSQL V1-összekötő eltávolítási fázisban van. Javasoljuk, hogy frissítse a PostgreSQL-összekötőt V1-ről V2-re.

Támogatott képességek

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

Támogatott képességek integrációs modul
Másolási 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 a PostgreSQL-összekötő támogatja a PostgreSQL 12-es vagy újabb verzióját.

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 egy beépített PostgreSQL-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 másolási tevékenység végrehajtásához egy folyamattal használhatja az alábbi eszközök vagy SDK-k egyikét:

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

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

    Válassza ki a PostgreSQL-ö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 PostgreSQL-hez.

Az összekötő konfigurációjának részletei

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

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

A PostgreSQL társított szolgáltatáshoz 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: PostgreSqlV2 Igen
kiszolgáló Megadja azt a gazdagépnevet – és opcionálisan portot –, amelyen a PostgreSQL fut. Igen
átvisz A PostgreSQL-kiszolgáló TCP-portja. Nem
adatbázis A PostgreSQL-adatbázis, amelyhez csatlakozni szeretne. Igen
felhasználónév A csatlakozáshoz használt felhasználónév. Az IntegratedSecurity használata esetén nem kötelező. Igen
jelszó A csatlakozáshoz használt jelszó. Az IntegratedSecurity használata esetén nem kötelező. Igen
SSL mód Az SSL használatát a kiszolgáló támogatásától függően szabályozza.
- Letiltás: Az SSL le van tiltva. Ha a kiszolgáló SSL-t igényel, a kapcsolat sikertelen lesz.
- Engedélyezés: Előnyben részesíti a nem SSL-kapcsolatokat, ha a kiszolgáló engedélyezi őket, de engedélyezze az SSL-kapcsolatokat.
- Előnyben részesítjük az SSL-kapcsolatokat, ha a kiszolgáló engedélyezi őket, de ssl nélkül is engedélyezi a kapcsolatokat.
- Kötelező: Sikertelen a kapcsolat, ha a kiszolgáló nem támogatja az SSL-t.
- Ca ellenőrzése: Sikertelen a kapcsolat, ha a kiszolgáló nem támogatja az SSL-t. A kiszolgálótanúsítványt is ellenőrzi.
- Verify-full: Sikertelen kapcsolat, ha a kiszolgáló nem támogatja az SSL-t. A kiszolgálótanúsítványt a gazdagép nevével is ellenőrzi.
Beállítások: Letiltás (0) / Engedélyezés (1) / Prefer (2) (Alapértelmezett) / Kötelező (3) / Verify-ca (4) / Verify-full (5)
Nem
hitelesítési típus Az adatbázishoz való csatlakozás hitelesítési típusa. Csak az Alapszintű verziót támogatja. 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
További kapcsolati tulajdonságok:
séma Beállítja a séma keresési útvonalát. Nem
Összevonás Használjuk-e a kapcsolatkészletezést? Nem
Kapcsolatidőkorlát (connectionTimeout) Az a várakozási idő (másodpercben), amikor megpróbál kapcsolatot létesíteni, mielőtt megszakítja a kísérletet, és hibát okozna. Nem
parancskoridőzítés Az a maximális várakozási idő (másodpercben), amelyet megengedünk egy parancs végrehajtására, mielőtt a próbálkozást megszakítanánk, és hibát generálnánk. Állítsa nullára a végtelenhez tartozó értéket. Nem
Bizalom a szerver tanúsítványában A kiszolgálótanúsítvány hitelesítés nélküli megbízhatósága. Nem
SSL tanúsítvány A kiszolgálónak küldendő ügyféltanúsítvány helye. Nem
SSL kulcs A kiszolgálónak küldendő ügyféltanúsítvány ügyfélkulcsának helye. Nem
SSL jelszó Ügyféltanúsítvány kulcsának jelszava. Nem
readBufferSize Meghatározza a belső puffer Npgsql olvasáskor használt méretét. A növekedés javíthatja a teljesítményt, ha nagy értékeket ad át az adatbázisból. Nem
logParameters Ha engedélyezve van, a parancsok végrehajtásakor a rendszer naplózza a paraméterértékeket. Nem
időzóna Lekéri vagy beállítja a munkamenet időzónát. Nem
kódolás Lekéri vagy beállítja a PostgreSQL-sztringadatok kódolásához/dekódolásához használt .NET-kódolást. Nem

Feljegyzés

Ahhoz, hogy az ODBC-kapcsolaton keresztül teljes KÖRŰ SSL-ellenőrzést lehessen végezni a saját üzemeltetésű integrációs modul használatakor, a PostgreSQL-összekötő helyett kifejezetten ODBC típusú kapcsolatot kell használnia, és végre kell hajtania a következő konfigurációt:

  1. Állítsa be a DSN-t bármely SHIR-kiszolgálón.
  2. Helyezze a Megfelelő tanúsítványt a PostgreSQL-hez a C:\Windows\ServiceProfiles\DIAHostService\AppData\Roaming\postgresql\root.crt fájlban az SHIR-kiszolgálókon. Itt keresi > az ODBC-illesztő az SSL-tanúsítványt, hogy ellenőrizze, mikor csatlakozik az adatbázishoz.
  3. Az adatgyári összekapcsolásban használjon ODBC típusú kapcsolatot, és a kapcsolati karakterlánc az SHIR-kiszolgálókon létrehozott DSN-re mutasson.

Példa:

{
    "name": "PostgreSqlLinkedService",
    "properties": {
        "type": "PostgreSqlV2",
        "typeProperties": {
            "server": "<server>",
            "port": 5432,
            "database": "<database>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "sslmode": <sslmode>,
            "authenticationType": "Basic"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

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

{
    "name": "PostgreSqlLinkedService",
    "properties": {
        "type": "PostgreSqlV2",
        "typeProperties": {
            "server": "<server>",
            "port": 5432,
            "database": "<database>",
            "username": "<username>",
            "password": {
                "type": "AzureKeyVaultSecret",
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>",
                    "type": "LinkedServiceReference"
                },
                "secretName": "<secretName>"
            }
            "sslmode": <sslmode>,
            "authenticationType": "Basic"
        },
        "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 PostgreSQL-adatkészlet által támogatott tulajdonságok listáját tartalmazza.

Az adatok PostgreSQL-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: PostgreSqlV2Table Igen
séma A séma neve. Nem (ha "lekérdezés" van megadva a tevékenységforrásban)
tábla A tábla neve. Nem (ha "lekérdezés" van megadva a tevékenységforrásban)

Példa

{
    "name": "PostgreSQLDataset",
    "properties":
    {
        "type": "PostgreSqlV2Table",
        "linkedServiceName": {
            "referenceName": "<PostgreSQL linked service name>",
            "type": "LinkedServiceReference"
        },
        "annotations": [],
        "schema": [],
        "typeProperties": {
            "schema": "<schema name>",
            "table": "<table name>"
        }
    }
}

Ha a RelationalTable típusú adatkészletet használta, az továbbra is támogatott, míg javasolt, hogy az új adatkészletet használja a jövőben.

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

PostgreSQL mint forrás

Ha adatokat szeretne másolni a PostgreSQL-ből, a másolási tevékenység forrás szakaszában az alábbi tulajdonságok támogatottak:

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: PostgreSqlV2Source Igen
lekérdezés Az adatok olvasásához használja az egyéni SQL-lekérdezést. Például: "query": "SELECT * FROM \"MySchema\".\"MyTable\"" Nem (ha "tableName" van megadva az adathalmazban)
lekérdezési időkorlát A parancs végrehajtására és a hiba generálására tett kísérlet befejezését megelőző várakozási idő alapértelmezés szerint 120 perc. Ha ennek a tulajdonságnak a paramétere be van állítva, az engedélyezett értékek időtartamok, például "02:00:00" (120 perc). További információ: CommandTimeout.
Ha mindkettő commandTimeout és queryTimeout konfigurálva van, queryTimeout elsőbbséget élvez.
Nem

Feljegyzés

A séma és a táblanevek megkülönböztetik a kis- és nagybetűket. Csatolja őket "" (dupla idézőjelek) a lekérdezésbe.

Példa:

"activities":[
    {
        "name": "CopyFromPostgreSQL",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<PostgreSQL input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "PostgreSqlV2Source",
                "query": "SELECT * FROM \"MySchema\".\"MyTable\"",
                "queryTimeout": "00:10:00"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Ha RelationalSource gépelt forrást használt, azt továbbra is támogatják, de javasolt az új használata a jövőben.

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

Amikor adatokat másol a PostgreSQL-ből, a következő leképezéseket használja a PostgreSQL-adattípusoktól a szolgáltatás által belsőleg használt köztes adattípusokig. Lásd a séma- és adattípus-leképezéseket, hogy megtudja, a másolási tevékenység hogyan rendeli hozzá a forrássémát és adattípust a fogadósémához és adattípushoz.

PostgreSQL-adattípus Köztes szolgáltatás adattípusa a PostgreSQL V2-hez Köztes szolgáltatás adattípusa a PostgreSQL V1-hez
SmallInt Int16 Int16
Integer Int32 Int32
BigInt Int64 Int64
Decimal (Pontosság <= 28) Decimal Decimal
Decimal (Pontosság > 28) Nem támogatott String
Numeric Decimal Decimal
Real Single Single
Double Double Double
SmallSerial Int16 Int16
Serial Int32 Int32
BigSerial Int64 Int64
Money Decimal String
Char String String
Varchar String String
Text String String
Bytea Byte[] Byte[]
Timestamp DateTime DateTime
Timestamp with time zone DateTime String
Date DateTime DateTime
Time TimeSpan TimeSpan
Time with time zone DateTimeOffset String
Interval TimeSpan String
Boolean Boolean Boolean
Point String String
Line String String
Iseg String String
Box String String
Path String String
Polygon String String
Circle String String
Cidr String String
Inet String String
Macaddr String String
Macaddr8 String String
Tsvector String String
Tsquery String String
UUID Guid Guid
Json String String
Jsonb String String
Array String String
Bit Byte[] Byte[]
Bit varying Byte[] Byte[]
XML String String
IntArray String String
TextArray String String
NumericArray String String
DateArray String String
Range String String
Bpchar String String

Keresési tevékenység tulajdonságai

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

A PostgreSQL-összekötő frissítése

Az alábbi lépések segítenek a PostgreSQL-összekötő frissítésében:

  1. Hozzon létre egy új PostgreSQL-társított szolgáltatást, és konfigurálja a társított szolgáltatás tulajdonságaira hivatkozva.

  2. A PostgreSQL V2-összekötő adattípus-leképezése eltér az 1. A legújabb adattípus-megfeleltetés megismeréséhez tekintse meg a PostgreSQL adattípus-leképezését.

A PostgreSQL V2 és a V1 közötti különbségek

Az alábbi táblázat a PostgreSQL V2 és v1 közötti adattípus-leképezési különbségeket mutatja be.

PostgreSQL-adattípus Köztes szolgáltatás adattípusa a PostgreSQL V2-hez Köztes szolgáltatás adattípusa a PostgreSQL V1-hez
Pénz Decimális Sztring
Időbélyeg időzónával Dátum/idő Sztring
Időzóna IdőpontEltérés (DateTimeOffset) Sztring
Intervallum időtartam Sztring
BigDecimal Nem támogatott. Alternatív megoldásként használja to_char() a függvényt a BigDecimal sztringgé alakításához. Sztring

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.