Gegevens kopiëren uit PostgreSQL V1 met behulp van Azure Data Factory of Synapse Analytics
VAN TOEPASSING OP: Azure Data Factory
Azure Synapse Analytics
Tip
Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .
In dit artikel wordt beschreven hoe u de kopieeractiviteit in Azure Data Factory- en Synapse Analytics-pijplijnen gebruikt om gegevens uit een PostgreSQL-database te kopiëren. Het is gebaseerd op het artikel over het overzicht van kopieeractiviteiten met een algemeen overzicht van de kopieeractiviteit.
Belangrijk
De PostgreSQL V2-connector biedt verbeterde systeemeigen PostgreSQL-ondersteuning. Als u de PostgreSQL V1-connector in uw oplossing gebruikt, moet u uw PostgreSQL-connector upgraden omdat V1 zich in de fase Einde van de ondersteuning bevindt. Raadpleeg deze sectie voor meer informatie over het verschil tussen V2 en V1.
Ondersteunde mogelijkheden
Deze PostgreSQL-connector wordt ondersteund voor de volgende mogelijkheden:
Ondersteunde mogelijkheden | IR |
---|---|
Copy-activiteit (bron/-) | (1) (2) |
Activiteit Lookup | (1) (2) |
(1) Azure Integration Runtime (2) Zelf-hostende Integration Runtime
Zie de tabel Ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die worden ondersteund als bronnen/sinks door de kopieeractiviteit.
Deze PostgreSQL-connector ondersteunt met name PostgreSQL versie 7.4 en hoger.
Vereisten
Als uw gegevensarchief zich in een on-premises netwerk, een virtueel Azure-netwerk of een virtuele particuliere cloud van Amazon bevindt, moet u een zelf-hostende Integration Runtime configureren om er verbinding mee te maken.
Als uw gegevensarchief een beheerde cloudgegevensservice is, kunt u De Azure Integration Runtime gebruiken. Als de toegang is beperkt tot IP-adressen die zijn goedgekeurd in de firewallregels, kunt u IP-adressen van Azure Integration Runtime toevoegen aan de acceptatielijst.
U kunt ook de beheerde functie voor integratieruntime voor virtuele netwerken in Azure Data Factory gebruiken om toegang te krijgen tot het on-premises netwerk zonder een zelf-hostende Integration Runtime te installeren en te configureren.
Zie Strategieën voor gegevenstoegang voor meer informatie over de netwerkbeveiligingsmechanismen en -opties die door Data Factory worden ondersteund.
Integration Runtime biedt een ingebouwd PostgreSQL-stuurprogramma vanaf versie 3.7. Daarom hoeft u geen stuurprogramma handmatig te installeren.
Aan de slag
Als u de kopieeractiviteit wilt uitvoeren met een pijplijn, kunt u een van de volgende hulpprogramma's of SDK's gebruiken:
- Het hulpprogramma voor het kopiëren van gegevens
- Azure Portal
- De .NET-SDK
- De Python-SDK
- Azure PowerShell
- De REST API
- Een Azure Resource Manager-sjabloon
Een gekoppelde service maken voor PostgreSQL met behulp van de gebruikersinterface
Gebruik de volgende stappen om een gekoppelde service te maken voor PostgreSQL in de gebruikersinterface van Azure Portal.
Blader naar het tabblad Beheren in uw Azure Data Factory- of Synapse-werkruimte en selecteer Gekoppelde services en klik vervolgens op Nieuw:
Zoek naar Postgre en selecteer de PostgreSQL-connector.
Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.
Configuratiedetails van connector
De volgende secties bevatten details over eigenschappen die worden gebruikt voor het definiëren van Data Factory-entiteiten die specifiek zijn voor PostgreSQL-connector.
Eigenschappen van gekoppelde service
De volgende eigenschappen worden ondersteund voor de gekoppelde PostgreSQL-service:
Eigenschappen | Beschrijving | Vereist |
---|---|---|
type | De eigenschap type moet worden ingesteld op: PostgreSql | Ja |
connectionString | Een ODBC-verbindingsreeks om verbinding te maken met Azure Database for PostgreSQL. U kunt ook een wachtwoord in Azure Key Vault plaatsen en de password configuratie uit de verbindingsreeks halen. Raadpleeg de volgende voorbeelden en sla referenties op in het Artikel over Azure Key Vault met meer informatie. |
Ja |
connectVia | De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. Meer informatie vindt u in de sectie Vereisten . Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. | Nee |
Een typische verbindingsreeks is Server=<server>;Database=<database>;Port=<port>;UID=<username>;Password=<Password>
. Meer eigenschappen die u per geval kunt instellen:
Eigenschappen | Beschrijving | Opties | Vereist |
---|---|---|---|
EncryptionMethod (EM) | De methode die het stuurprogramma gebruikt om gegevens te versleutelen die worden verzonden tussen het stuurprogramma en de databaseserver. Bijvoorbeeld. EncryptionMethod=<0/1/6>; |
0 (geen versleuteling) (standaard) / 1 (SSL) / 6 (RequestSSL) | Nee |
ValidateServerCertificate (VSC) | Bepaalt of het stuurprogramma het certificaat valideert dat door de databaseserver wordt verzonden wanneer SSL-versleuteling is ingeschakeld (Encryption Method=1). Bijvoorbeeld. ValidateServerCertificate=<0/1>; |
0 (uitgeschakeld) (standaard) / 1 (ingeschakeld) | Nr. |
Notitie
Als u volledige SSL-verificatie wilt hebben via de ODBC-verbinding wanneer u de zelf-hostende Integration Runtime gebruikt, moet u expliciet een ODBC-typeverbinding gebruiken in plaats van de PostgreSQL-connector en de volgende configuratie voltooien:
- Stel de DSN in op SHIR-servers.
- Plaats het juiste certificaat voor PostgreSQL in C:\Windows\ServiceProfiles\DIAHostService\AppData\Roaming\postgresql\root.crt op de SHIR-servers. Hier zoekt het ODBC-stuurprogramma naar > het SSL-certificaat om te controleren wanneer het verbinding maakt met de database.
- Gebruik in uw data factory-verbinding een ODBC-typeverbinding met uw verbindingsreeks die verwijst naar de DSN die u hebt gemaakt op uw SHIR-servers.
Voorbeeld:
{
"name": "PostgreSqlLinkedService",
"properties": {
"type": "PostgreSql",
"typeProperties": {
"connectionString": "Server=<server>;Database=<database>;Port=<port>;UID=<username>;Password=<Password>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Voorbeeld: wachtwoord opslaan in Azure Key Vault
{
"name": "PostgreSqlLinkedService",
"properties": {
"type": "PostgreSql",
"typeProperties": {
"connectionString": "Server=<server>;Database=<database>;Port=<port>;UID=<username>;",
"password": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Als u een gekoppelde PostgreSQL-service met de volgende nettolading gebruikt, wordt deze nog steeds ondersteund, terwijl u wordt aangeraden de nieuwe te gebruiken.
Vorige nettolading:
{
"name": "PostgreSqlLinkedService",
"properties": {
"type": "PostgreSql",
"typeProperties": {
"server": "<server>",
"database": "<database>",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Eigenschappen van gegevensset
Zie het artikel gegevenssets voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van gegevenssets . Deze sectie bevat een lijst met eigenschappen die worden ondersteund door postgreSQL-gegevensset.
Als u gegevens uit PostgreSQL wilt kopiëren, worden de volgende eigenschappen ondersteund:
Eigenschappen | Beschrijving | Vereist |
---|---|---|
type | De typeeigenschap van de gegevensset moet worden ingesteld op: PostgreSqlTable | Ja |
schema | Naam van het schema. | Nee (als 'query' in de activiteitsbron is opgegeven) |
table | Naam van de tabel. | Nee (als 'query' in de activiteitsbron is opgegeven) |
tableName | Naam van de tabel met schema. Deze eigenschap wordt ondersteund voor compatibiliteit met eerdere versies. Gebruik schema en table voor nieuwe workload. |
Nee (als 'query' in de activiteitsbron is opgegeven) |
Voorbeeld
{
"name": "PostgreSQLDataset",
"properties":
{
"type": "PostgreSqlTable",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<PostgreSQL linked service name>",
"type": "LinkedServiceReference"
}
}
}
Als u RelationalTable
getypte gegevensset gebruikt, wordt deze nog steeds ondersteund, terwijl u wordt aangeraden de nieuwe gegevensset te gebruiken.
Eigenschappen van de kopieeractiviteit
Zie het artikel Pijplijnen voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van activiteiten. Deze sectie bevat een lijst met eigenschappen die worden ondersteund door de PostgreSQL-bron.
PostgreSQL als bron
Als u gegevens uit PostgreSQL wilt kopiëren, worden de volgende eigenschappen ondersteund in de sectie bron van kopieeractiviteit:
Eigenschappen | Beschrijving | Vereist |
---|---|---|
type | De typeeigenschap van de bron van de kopieeractiviteit moet worden ingesteld op: PostgreSqlSource | Ja |
query | Gebruik de aangepaste SQL-query om gegevens te lezen. Voorbeeld: "query": "SELECT * FROM \"MySchema\".\"MyTable\"" . |
Nee (als 'tableName' in de gegevensset is opgegeven) |
Notitie
Schema- en tabelnamen zijn hoofdlettergevoelig. Plaats deze tussen ""
(dubbele aanhalingstekens) in de query.
Voorbeeld:
"activities":[
{
"name": "CopyFromPostgreSQL",
"type": "Copy",
"inputs": [
{
"referenceName": "<PostgreSQL input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "PostgreSqlSource",
"query": "SELECT * FROM \"MySchema\".\"MyTable\""
},
"sink": {
"type": "<sink type>"
}
}
}
]
Als u RelationalSource
getypte bron gebruikt, wordt deze nog steeds ondersteund, terwijl u wordt aangeraden de nieuwe bron te gebruiken.
Eigenschappen van opzoekactiviteit
Als u meer wilt weten over de eigenschappen, controleert u de lookup-activiteit.
Gerelateerde inhoud
Zie ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die worden ondersteund als bronnen en sinks door de kopieeractiviteit.