Freigeben über


Konfigurieren der Azure-Datenbank für PostgreSQL in einer Kopieraktivität

In diesem Artikel wird beschrieben, wie Sie die Kopieraktivität in einer Pipeline zum Kopieren von Daten aus und in die Azure-Datenbank für PostgreSQL verwenden.

Unterstützte Konfiguration

Die Konfiguration der einzelnen Registerkarten unter der Copy-Aktivität finden Sie in den folgenden Abschnitten.

Allgemein

Informationen zum Konfigurieren der Registerkarte Allgemein finden Sie unter Allgemeine Einstellungen-Anleitung.

Quelle

Wechseln Sie zur Registerkarte Quelle, um die Quelle der Kopieraktivität zu konfigurieren. Die detaillierte Konfiguration finden Sie in den folgenden Inhalten.

Screenshot mit der Registerkarte 'Quelle' und der Liste der Eigenschaften.

Die folgenden drei Eigenschaften sind erforderlich:

  • Verbindung: Wählen Sie eine Azure-Datenbank für Die PostgreSQL-Verbindung aus der Verbindungsliste aus. Wenn keine Verbindung vorhanden ist, erstellen Sie eine neue Azure-Datenbank für Die PostgreSQL-Verbindung.

  • Verwenden Sie Die Abfrage: Wählen Sie "Tabelle " aus, um Daten aus der angegebenen Tabelle zu lesen, oder wählen Sie "Abfrage" aus, um Daten mithilfe von Abfragen zu lesen.

    • Wenn Sie Tabelle auswählen:

      • Tabelle: Wählen Sie die Tabelle aus der Dropdownliste aus oder wählen Sie Manuell eingeben, um Daten einzugeben.

        Screenshot mit

    • Wenn Sie Abfrage auswählen:

      • Abfrage: Geben Sie die benutzerdefinierte SQL-Abfrage zum Lesen der Daten an. Beispiel: SELECT * FROM mytable oder SELECT * FROM "MyTable".

        Hinweis

        In PostgreSQL wird der Entitätsname bei nicht zitierter Schreibweise als Groß-/Kleinschreibung behandelt.

        Screenshot mit

  • Version: Die von Ihnen angegebene Version. Empfehlen Sie ein Upgrade auf die neueste Version, um die neuesten Verbesserungen zu nutzen. Wenn Sie Version 2.0 auswählen, verwendet der Connector den SSL-erforderlichen Modus, wenn Sie die Verbindung verschlüsseln. Weitere Informationen zum SSL-Modus finden Sie in diesem Artikel.

Unter Erweitert können Sie die folgenden Felder angeben:

  • Abfragetimeout (Minuten): Geben Sie die Wartezeit an, bevor Sie den Versuch beenden, einen Befehl auszuführen und einen Fehler zu generieren, der Standardwert ist 120 Minuten. Wenn der Parameter für diese Eigenschaft festgelegt ist, sind zulässige Werte Zeitbereich, z. B. "02:00:00" (120 Minuten). Weitere Informationen finden Sie unter CommandTimeout.

  • Partitionsoption: Gibt die Datenpartitionierungsoptionen an, die zum Laden von Daten aus Azure-Datenbank für PostgreSQL verwendet werden. Wenn eine Partitionsoption aktiviert ist (d. h. keine), wird der Grad der Parallelität zum gleichzeitigen Laden von Daten aus einer Azure-Datenbank für PostgreSQL durch den Grad der Kopierparallelität auf der Registerkarte "Kopieraktivitätseinstellungen" gesteuert.

    Wenn Sie "Keine" auswählen, wählen Sie keine Partition aus.

    Wenn Sie physische Partitionen der Tabelle auswählen:

    • Partitionsnamen: Geben Sie die Liste der physischen Partitionen an, die kopiert werden müssen.

      Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfTabularPartitionName in die WHERE-Klausel. Für ein Beispiel siehe Abschnitt "Parallel copy from Azure Database for PostgreSQL".

      Screenshot der Konfiguration, wenn Sie physische Partitionen der Tabelle auswählen.

    Wenn Sie dynamischen Bereich auswählen:

    • Partitionsspaltenname: Geben Sie den Namen der Quellspalte vom Typ Ganzzahl oder Datum/Datum und Uhrzeit (int, smallint, bigint, date, timestamp without time zone, timestamp with time zone oder time without time zone) an, die von der Bereichspartitionierung für parallele Kopien verwendet wird. Wenn nicht angegeben, wird der Primärschlüssel der Tabelle automatisch erkannt und als Partitionsspalte verwendet.

      Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfRangePartitionColumnName in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Azure Database for PostgreSQL.

    • Partition obere Grenze: Geben Sie den Maximalwert der Partitionsspalte an, um Daten zu kopieren.

      Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfRangePartitionUpbound in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Azure Database for PostgreSQL. .

    • Partition untere Grenze: Geben Sie den Minimalwert der Partitionsspalte an, um Daten zu kopieren.

      Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfRangePartitionLowbound in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Azure Database for PostgreSQL.

      Screenshot der Konfiguration, wenn Sie dynamischen Bereich auswählen.

  • Zusätzliche Spalten: Fügen Sie zusätzliche Datenspalten hinzu, um den relativen Pfad oder statischen Wert der Quelldateien zu speichern. Für Letzteres wird ein Ausdruck unterstützt.

Bestimmungsort

Wechseln Sie zur Registerkarte Ziel, um das Ziel der Kopieraktivität zu konfigurieren. Die detaillierte Konfiguration finden Sie in den folgenden Inhalten.

Screenshot der Registerkarte „Ziel“ mit der Liste der Eigenschaften

Die folgenden drei Eigenschaften sind erforderlich:

  • Verbindung: Wählen Sie eine Azure-Datenbank für Die PostgreSQL-Verbindung aus der Verbindungsliste aus. Wenn keine Verbindung vorhanden ist, erstellen Sie eine neue Azure-Datenbank für Die PostgreSQL-Verbindung.

  • Tabelle: Wählen Sie die Tabelle aus der Dropdownliste aus oder wählen Sie manuell eingeben, um Daten einzugeben.

  • Version: Die von Ihnen angegebene Version. Empfehlen Sie ein Upgrade auf die neueste Version, um die neuesten Verbesserungen zu nutzen. Wenn Sie Version 2.0 auswählen, verwendet der Connector den SSL-erforderlichen Modus, wenn Sie die Verbindung verschlüsseln. Weitere Informationen zum SSL-Modus finden Sie in diesem Artikel.

Unter Erweitert können Sie die folgenden Felder angeben:

  • Write-Methode: Wählen Sie die Methode aus, die zum Schreiben von Daten in Azure-Datenbank für PostgreSQL verwendet wird. Wählen Sie aus Kopierbefehl (Standardeinstellung, die leistungsstärker ist), Masseneinfügung und Upsert (für Version 2.0).

    • Upsert: Wählen Sie diese Option aus, wenn Ihre Quelldaten sowohl Einfügungen als auch Aktualisierungen enthalten.
      • Schlüsselspalten: Wählen Sie aus, welche Spalte verwendet wird, um zu bestimmen, ob eine Zeile aus der Quelle einer Zeile vom Ziel entspricht. Screenshot, der Schlüsselspalten zeigt.
  • Skript vorab kopieren: Geben Sie eine SQL-Abfrage für die auszuführende Kopieraktivität an, bevor Sie Daten in Azure-Datenbank für PostgreSQL in jeder Ausführung schreiben. Sie können diese Eigenschaft verwenden, um die vorgeladenen Daten zu bereinigen.

  • Zeitlimit für Batchschreibvorgang: Geben Sie die Wartezeit an, bis der Batch-Einfügevorgang beendet ist, bevor er eine Zeitüberschreitung verursacht. Der zulässige Wert ist ein Timespan-Wert. Der Standardwert ist 00:30:00 (30 Minuten).

  • Batchgröße schreiben: Geben Sie die Anzahl der zeilen an, die pro Batch in azure Database für PostgreSQL geladen wurden. Als Wert ist ein Integer zulässig, der die Anzahl der Zeilen angibt. Der Standardwert ist 1.000.000.

Kartierung

Informationen zur Konfiguration der Registerkarte Zuordnung finden Sie unter Konfigurieren der Zuordnungen auf der Registerkarte „Zuordnung“.

Einstellungen

Gehen Sie für die Konfiguration der Registerkarte Einstellungen zu Konfigurieren der anderen Einstellungen auf der Registerkarte „Einstellungen“.

Paralleles Kopieren aus Azure Database for PostgreSQL

Der Connector für Azure SQL-Datenbank in der Kopieraktivität verfügt über eine integrierte Datenpartitionierung zum parallelen Kopieren von Daten. Sie finden die Optionen für die Datenpartitionierung auf der Registerkarte " Quelle " der Kopieraktivität.

Wenn Sie das partitionierte Kopieren aktivieren, führt die Kopieraktivität parallele Abfragen für Ihre Azure SQL-Datenbank-Quelle aus, um Daten in Partitionen zu laden. Der parallele Grad wird durch den Grad der Kopierparallelität auf der Registerkarte "Kopieraktivitätseinstellungen" gesteuert. Wenn Sie beispielsweise den Grad der Kopierparallelität auf vier festlegen, generiert der Dienst gleichzeitig vier Abfragen basierend auf Ihrer angegebenen Partitionsoption und -einstellungen, und jede Abfrage ruft einen Teil der Daten aus Ihrer Azure-Datenbank für PostgreSQL ab.

Es wird empfohlen, das parallele Kopieren mit Datenpartitionierung zu aktivieren, vor allem, wenn Sie große Datenmengen aus Ihrer Azure SQL-Datenbank-Instanz laden. Im Folgenden werden Konfigurationen für verschiedene Szenarien vorgeschlagen. Beim Kopieren von Daten in einen dateibasierten Datenspeicher wird empfohlen, mehrere Dateien in einen Ordner zu schreiben (nur den Ordnernamen anzugeben). In diesem Fall ist die Leistung besser als beim Schreiben in eine einzelne Datei.

Szenario Empfohlene Einstellungen
Vollständiges Laden aus einer großen Tabelle mit physischen Partitionen. Partitionsoption: Physische Partitionen der Tabelle.

Während der Ausführung erkennt der Dienst automatisch die physischen Partitionen und kopiert Daten nach Partitionen.
Vollständiges Laden aus einer großen Tabelle ohne physische Partitionen, aber mit einer Integerspalte für die Datenpartitionierung Partitionsoptionen: Dynamischer Bereich.
Partitionsspalte: Geben Sie die Spalte an, die zum Partitionieren von Daten verwendet wird. Ohne Angabe wird die Primärschlüsselspalte verwendet.
Laden einer großen Datenmenge unter Verwendung einer benutzerdefinierten Abfrage mit physischen Partitionen Partitionsoption: Physische Partitionen der Tabelle.
Abfrage: SELECT * FROM ?AdfTabularPartitionName WHERE <your_additional_where_clause>
Partitionsname: Geben Sie den Namen der Partitionen an, aus denen Daten kopiert werden sollen. Wenn keine Angabe erfolgt, erkennt der Dienst automatisch die physischen Partitionen in der Tabelle, die Sie im PostgreSQL-Dataset angegeben haben.

Während der Ausführung ersetzt der Dienst ?AdfTabularPartitionName mit dem tatsächlichen Partitionsnamen und sendet an Azure DB for PostgreSQL.
Laden einer großen Datenmenge unter Verwendung einer benutzerdefinierten Abfrage ohne physische Partitionen, aber mit einer Integerspalte für die Datenpartitionierung Partitionsoptionen: Dynamischer Bereich.
Abfrage: SELECT * FROM ?AdfTabularPartitionName WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>
Partitionsspalte: Geben Sie die Spalte an, die zum Partitionieren von Daten verwendet wird. Sie können eine Partition für die Spalte mit einem Integer- oder date/datetime-Datentyp erstellen.
Partition Obergrenze und Partition Untergrenze: Geben Sie an, ob Sie über die Partitionsspalte filtern möchten, um Daten nur zwischen dem unteren und oberen Bereich abzurufen.

Während der Ausführung ersetzt der Dienst ?AdfRangePartitionColumnName, ?AdfRangePartitionUpbound und ?AdfRangePartitionLowbound mit dem tatsächlichen Spaltennamen und den Wertbereichen für jede Partition und sendet an Azure DB for PostgreSQL.
Wenn z. B. für Ihre Partitionsspalte „ID“ die untere Grenze auf 1 und die obere Grenze auf 80 festgelegt ist und die Parallelkopie auf 4 eingestellt ist, ruft der Dienst Daten nach 4 Partitionen ab. Ihre IDs liegen jeweils zwischen [1–20], [21–40], [41–60] und [61–80].

Bewährte Methoden zum Laden von Daten unter Verwendung der Partitionsoption:

  • Wählen Sie eine unverwechselbare Spalte als Partitionsspalte (z. B. Primärschlüssel oder eindeutiger Schlüssel) aus, um Datenverzerrung zu vermeiden.
  • Wenn die Tabelle eine integrierte Partition aufweist, verwenden Sie die Partitionsoption „Physikalische Partitionen der Tabelle“, um eine bessere Leistung zu erzielen.

Tabellenzusammenfassung

Die folgende Tabelle enthält weitere Informationen zur Kopieraktivität in der Azure-Datenbank für PostgreSQL.

Quellinformationen

Name BESCHREIBUNG Wert Erforderlich JSON-Skripteigenschaft
Verbindung Ihre Verbindung zum Quelldatenspeicher. < Ihre Azure-Datenbank für Die PostgreSQL-Verbindung > Ja Verbindung
Die Abfrage verwenden Die Möglichkeit zum Lesen von Daten. Wenden Sie Tabelle an, um Daten aus der angegebenen Tabelle zu lesen, oder wenden Sie Abfrage zum Lesen von Daten mithilfe von Abfragen an. Tabelle
Abfrage
Ja • typeProperties (unter typeProperties ->source)
  – Schema
  – Tabelle
• Abfrage
Version Die von Ihnen angegebene Version. Empfehlen Sie ein Upgrade auf die neueste Version, um die neuesten Verbesserungen zu nutzen. Wenn Sie Version 2.0 auswählen, verwendet der Connector den SSL-erforderlichen Modus, wenn Sie die Verbindung verschlüsseln. Weitere Informationen zum SSL-Modus finden Sie in diesem Artikel. • 2.0
• 1.0
Ja Version:
• 2.0
• 1.0
Abfragetimeout (Minuten) Die Wartezeit vor dem Beenden des Versuchs, einen Befehl auszuführen und einen Fehler zu generieren, beträgt standardmäßig 120 Minuten. Wenn der Parameter für diese Eigenschaft festgelegt ist, sind zulässige Werte Zeitbereich, z. B. "02:00:00" (120 Minuten). Weitere Informationen finden Sie unter CommandTimeout. Zeitbereich Nein queryTimeout
Partitionsnamen Die Liste der physischen Partitionen, die kopiert werden müssen. Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?AdfTabularPartitionName in die WHERE-Klausel. < Ihre Partitionsnamen > Nein Partitionsnamen
Partitionsspaltenname Der Name der Quellspalte im ganzzahligen oder Datums-/Datetime-Typ (int, smallint, bigint, date, timestamp without time zone, timestamp with time zone oder time without time zone), die von der Bereichspartitionierung für parallele Kopien verwendet wird. Wenn nicht angegeben, wird der Primärschlüssel der Tabelle automatisch erkannt und als Partitionsspalte verwendet. < Namen Ihrer Partitionsspalten > Nein Partitionierungsspaltenname
Partitionsobergrenze Der maximal mögliche Wert der Partitionsspalte, um Daten herauszukopieren. Wenn Sie eine Abfrage zum Abrufen der Quelldaten verwenden, fügen Sie das Platzhalter-Element ?AdfRangePartitionUpbound in die WHERE-Klausel ein. < Ihre Partitionsobergrenze > Nein Partitionsobergrenze
Partitionsuntergrenze Der Mindestwert der Partitionsspalte, um Daten herauszukopieren. Wenn Sie eine Abfrage verwenden, um die Quelldaten abzufragen, dann fügen Sie den Hook ?AdfRangePartitionLowbound in die WHERE-Klausel ein. < Ihre Partitionsuntergrenze > Nein Partitionsuntergrenze
Zusätzliche Spalten Fügen Sie zusätzliche Datenspalten hinzu, um den relativen Pfad oder statischen Wert der Quelldateien zu speichern. Für Letzteres wird ein Ausdruck unterstützt. • Name
•Wert
Nein zusätzlicheSpalten:
• Name
• Wert

Zielinformationen

Name BESCHREIBUNG Wert Erforderlich JSON-Skripteigenschaft
Verbindung Ihre Verbindung zum Zieldatenspeicher. < Ihre Azure-Datenbank für Die PostgreSQL-Verbindung > Ja Verbindung
Tabelle Die Zieldatentabelle zum Schreiben von Daten. < Name der Zieltabelle > Ja typeProperties (unter typeProperties ->sink):
  – Schema
  – Tabelle
Version Die von Ihnen angegebene Version. Empfehlen Sie ein Upgrade auf die neueste Version, um die neuesten Verbesserungen zu nutzen. Wenn Sie Version 2.0 auswählen, verwendet der Connector den SSL-erforderlichen Modus, wenn Sie die Verbindung verschlüsseln. Weitere Informationen zum SSL-Modus finden Sie in diesem Artikel. • 2.0
• 1.0
Ja Version:
• 2.0
• 1.0
Write-Methode Die Methode zum Schreiben von Daten in Azure Database for PostgreSQL. Befehl "Kopieren" (Standard)
Masseneinfügen
Upsert (für Version 2.0)
Nein writeMethod:
• Kopierbefehl
• Masseneinfügung
• Upsert (Aktualisieren oder Einfügen)
Schlüsselspalten Wählen Sie aus, welche Spalte verwendet wird, um zu bestimmen, ob eine Zeile aus der Quelle mit einer Zeile vom Ziel übereinstimmt. <Ihre Schlüsselspalte> Nein Schlüssel
Skript vor Kopiervorgang Eine SQL-Abfrage für die auszuführende Kopieraktivität, bevor Sie Daten in Azure Database for PostgreSQL in jeder Ausführung schreiben. Sie können diese Eigenschaft verwenden, um die vorgeladenen Daten zu bereinigen. < Ihr Skript vor dem Kopieren > Nein preCopyScript
Zeitlimit für Batchschreibvorgang Wartezeit für den Abschluss der Batcheinfügung, bis das Timeout wirksam wird. Zeitbereich
(der Standardwert ist 00:30:00 – 30 Minuten)
Nein writeBatchTimeout
Schreibbatchgröße Die Anzahl von Zeilen, die pro Batch in Azure Database for PostgreSQL geladen werden. Integer
(Der Standardwert ist 1.000.000)
Nein writeBatchSize