Kopírování dat z PostgreSQL pomocí služby Azure Data Factory nebo Synapse Analytics
PLATÍ PRO: Azure Data Factory Azure Synapse Analytics
Tip
Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.
Tento článek popisuje, jak pomocí aktivity kopírování v kanálech Azure Data Factory a Synapse Analytics kopírovat data z databáze PostgreSQL. Vychází z článku s přehledem aktivity kopírování, který představuje obecný přehled aktivity kopírování.
Důležité
Nový konektor PostgreSQL poskytuje vylepšenou nativní podporu PostgreSQL a lepší výkon. Pokud ve svém řešení používáte starší konektor PostgreSQL, podporuje se pouze zpětnou kompatibilitu, přečtěte si článek o konektoru PostgreSQL (starší verze ).
Podporované funkce
Tento konektor PostgreSQL je podporovaný pro následující funkce:
Podporované funkce | IR |
---|---|
aktivita Copy (zdroj/-) | (1) (2) |
Aktivita Lookup | (1) (2) |
(1) Prostředí Azure Integration Runtime (2) Místní prostředí Integration Runtime
Seznam úložišť dat podporovaných jako zdroje nebo jímky aktivitou kopírování najdete v tabulce Podporované úložiště dat.
Konkrétně tento konektor PostgreSQL podporuje PostgreSQL verze 7.4 a vyšší.
Požadavky
Pokud se vaše úložiště dat nachází uvnitř místní sítě, virtuální sítě Azure nebo amazonového privátního cloudu, musíte nakonfigurovat místní prostředí Integration Runtime pro připojení k němu.
Pokud je vaše úložiště dat spravovanou cloudovou datovou službou, můžete použít Azure Integration Runtime. Pokud je přístup omezený na IP adresy schválené v pravidlech brány firewall, můžete do seznamu povolených přidat IP adresy prostředí Azure Integration Runtime.
K přístupu k místní síti bez nutnosti instalace a konfigurace místního prostředí Integration Runtime můžete také použít funkci Runtime integrace spravované virtuální sítě ve službě Azure Data Factory.
Další informace o mechanismech zabezpečení sítě a možnostech podporovaných službou Data Factory najdete v tématu Strategie přístupu k datům.
Prostředí Integration Runtime poskytuje integrovaný ovladač PostgreSQL od verze 3.7, takže nemusíte ručně instalovat žádný ovladač.
Začínáme
K provedení aktivita Copy s kanálem můžete použít jeden z následujících nástrojů nebo sad SDK:
- Nástroj pro kopírování dat
- Azure Portal
- Sada .NET SDK
- Sada Python SDK
- Azure PowerShell
- Rozhraní REST API
- Šablona Azure Resource Manageru
Vytvoření propojené služby do PostgreSQL pomocí uživatelského rozhraní
Pomocí následujícího postupu vytvořte propojenou službu s PostgreSQL v uživatelském rozhraní webu Azure Portal.
Přejděte na kartu Správa v pracovním prostoru Azure Data Factory nebo Synapse a vyberte Propojené služby a pak klikněte na Nový:
Vyhledejte Postgre a vyberte konektor PostgreSQL.
Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.
podrobnosti o konfiguraci Připojení oru
Následující části obsahují podrobnosti o vlastnostech, které slouží k definování entit služby Data Factory specifických pro konektor PostgreSQL.
Vlastnosti propojené služby
Propojená služba PostgreSQL podporuje následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu musí být nastavená na: PostgreSqlV2. | Ano |
server | Určuje název hostitele a volitelně port, na kterém je PostgreSQL spuštěný. | Ano |
port | Port TCP serveru PostgreSQL. | No |
database | Databáze PostgreSQL, ke které se chcete připojit. | Ano |
username | Uživatelské jméno, se kterým se chcete spojit. Nevyžaduje se, pokud používáte IntegratedSecurity. | Ano |
Heslo | Heslo pro připojení. Nevyžaduje se, pokud používáte IntegratedSecurity. | Ano |
sslMode | Určuje, jestli se používá protokol SSL, v závislosti na podpoře serveru. - Zákaz: PROTOKOL SSL je zakázaný. Pokud server vyžaduje protokol SSL, připojení se nezdaří. - Povolit: Preferujte připojení bez SSL, pokud je server povoluje, ale povolte připojení SSL. - Preferujte: Upřednostněte připojení SSL, pokud je server umožňuje, ale povolte připojení bez SSL. - Vyžadovat: Selhání připojení, pokud server nepodporuje PROTOKOL SSL. - Verify-ca: Selhání připojení, pokud server nepodporuje SSL. Ověřuje také certifikát serveru. - Ověření úplné: Selhání připojení, pokud server nepodporuje PROTOKOL SSL. Ověřuje také certifikát serveru s názvem hostitele. Možnosti: Zakázat (0) / Povolit (1) / Preferovat (2) (výchozí) / Vyžadovat (3) / Verify-ca (4) / Verify-full (5) |
No |
authenticationType | Typ ověřování pro připojení k databázi. Podporuje pouze Basic. | Ano |
connectVia | Prostředí Integration Runtime , které se má použít pro připojení k úložišti dat. Další informace najdete v části Požadavky . Pokud není zadaný, použije výchozí prostředí Azure Integration Runtime. | No |
Další vlastnosti připojení: | ||
schema | Nastaví cestu hledání schématu. | No |
Sdružování | Určuje, jestli se má použít sdružování připojení. | No |
Connectiontimeout | Doba čekání (v sekundách) při pokusu o navázání připojení před ukončením pokusu a vygenerováním chyby | No |
Commandtimeout | Doba čekání (v sekundách) při pokusu o spuštění příkazu před ukončením pokusu a vygenerováním chyby. Nastavte na nulu pro nekonečno. | No |
trustServerCertificate | Zda má certifikát serveru důvěřovat bez jeho ověření. | No |
sslCertificate | Umístění klientského certifikátu, který se má odeslat na server. | No |
sslKey | Umístění klientského klíče pro klientský certifikát, který se má odeslat na server. | No |
sslPassword | Heslo pro klíč pro klientský certifikát. | No |
readBufferSize | Určuje velikost interní vyrovnávací paměti Npgsql používá při čtení. Zvýšení může zvýšit výkon při přenosu velkých hodnot z databáze. | No |
logParameters | Pokud je tato možnost povolená, zaprotokolují se hodnoty parametrů při spuštění příkazů. | No |
timezone | Získá nebo nastaví časové pásmo relace. | No |
encoding | Získá nebo nastaví kódování .NET, které se použije k kódování nebo dekódování dat řetězce PostgreSQL. | No |
Poznámka:
Pokud chcete mít úplné ověření SSL prostřednictvím připojení ODBC při použití místního prostředí Integration Runtime, musíte místo konektoru PostgreSQL explicitně použít připojení typu ODBC a dokončit následující konfiguraci:
- Nastavte DSN na všech serverech SHIR.
- Na serverech SHIR umístěte správný certifikát pro PostgreSQL do složky C:\Windows\ServiceProfiles\DIAHostService\AppData\Roaming\postgresql\root.crt. V tomto případě ovladač ODBC hledá > certifikát SSL k ověření, když se připojí k databázi.
- V připojení datové továrny použijte připojení typu ODBC s připojovací řetězec odkazující na DSN, který jste vytvořili na serverech SHIR.
Příklad:
{
"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říklad: Uložení hesla ve službě Azure Key Vault
{
"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"
}
}
}
Vlastnosti datové sady
Úplný seznam oddílů a vlastností dostupných pro definování datových sad najdete v článku o datových sadách . Tato část obsahuje seznam vlastností podporovaných datovou sadou PostgreSQL.
Pokud chcete kopírovat data z PostgreSQL, podporují se následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu datové sady musí být nastavená na: PostgreSqlV2Table. | Ano |
schema | Název schématu | Ne (pokud je zadán dotaz ve zdroji aktivity) |
table | Název tabulky. | Ne (pokud je zadán dotaz ve zdroji aktivity) |
Příklad
{
"name": "PostgreSQLDataset",
"properties":
{
"type": "PostgreSqlV2Table",
"linkedServiceName": {
"referenceName": "<PostgreSQL linked service name>",
"type": "LinkedServiceReference"
},
"annotations": [],
"schema": [],
"typeProperties": {
"schema": "<schema name>",
"table": "<table name>"
}
}
}
Pokud jste používali RelationalTable
zadaná datová sada, je stále podporovaná tak, jak je, zatímco se navrhuje používat novou datovou sadu.
Vlastnosti aktivity kopírování
Úplný seznam oddílů a vlastností dostupných pro definování aktivit najdete v článku Pipelines . Tato část obsahuje seznam vlastností podporovaných zdrojem PostgreSQL.
PostgreSQL jako zdroj
Pokud chcete kopírovat data z PostgreSQL, podporují se v části zdroje aktivity kopírování následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu zdroje aktivity kopírování musí být nastavená na: PostgreSqlV2Source. | Ano |
query | Ke čtení dat použijte vlastní dotaz SQL. Například: "query": "SELECT * FROM \"MySchema\".\"MyTable\"" . |
Ne (pokud je v datové sadě zadán název tabulky) |
Poznámka:
V názvech schémat a tabulek se rozlišují malá a velká písmena. Uzavřete je do ""
dotazu (dvojité uvozovky).
Příklad:
"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\""
},
"sink": {
"type": "<sink type>"
}
}
}
]
Pokud jste používali RelationalSource
typovaný zdroj, je stále podporovaný tak, jak je, zatímco se navrhuje používat nový zdroj.
Mapování datových typů pro PostgreSQL
Při kopírování dat z PostgreSQL se z datových typů PostgreSQL používají následující mapování k dočasným datovým typům používaným službou interně. Informace o tom, jak aktivita kopírování mapuje zdrojové schéma a datový typ na jímku, najdete v mapování schématu schématu a datového typu schématu schématu a datového typu.
Datový typ PostgreSql | Dočasný datový typ služby | Dočasný datový typ služby pro PostgreSQL (starší verze) |
---|---|---|
SmallInt |
Int16 |
Int16 |
Integer |
Int32 |
Int32 |
BigInt |
Int64 |
Int64 |
Decimal (Přesnost <= 28) |
Decimal |
Decimal |
Decimal (Přesnost > 28) |
Nepodporované | 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 |
NumbericArray |
String |
String |
DateArray |
String |
String |
Range |
String |
String |
Bpchar |
String |
String |
Vlastnosti aktivity vyhledávání
Podrobnosti o vlastnostech najdete v aktivitě Vyhledávání.
Upgrade propojené služby PostgreSQL
Tady jsou kroky, které vám pomůžou upgradovat propojenou službu PostgreSQL:
Vytvořte novou propojenou službu PostgreSQL a nakonfigurujte ji pomocí odkazů na vlastnosti propojené služby.
Mapování datových typů pro nejnovější propojenou službu PostgreSQL se liší od mapování datového typu pro starší verzi. Informace o nejnovějším mapování datových typů najdete v tématu Mapování datových typů pro PostgreSQL.
Rozdíly mezi PostgreSQL a PostgreSQL (starší verze)
Následující tabulka ukazuje rozdíly v mapování datových typů mezi PostgreSQL a PostgreSQL (starší verze).
Datový typ PostgreSQL | Dočasný datový typ služby pro PostgreSQL | Dočasný datový typ služby pro PostgreSQL (starší verze) |
---|---|---|
Peníze | Desetinná čárka | String |
Časové razítko s časovým pásmem | DateTime | String |
Čas s časovým pásmem | DateTimeOffset | String |
Interval | TimeSpan | String |
BigDecimal | Nepodporováno Jako alternativu použijte to_char() funkci k převodu BigDecimal na String. |
String |
Související obsah
Seznam úložišť dat podporovaných jako zdroje a jímky aktivitou kopírování najdete v podporovaných úložištích dat.