DynamicFrameWriter Class - AWS Glue

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

DynamicFrameWriter Class

  Methoden

__init__

__init__(glue_context)

from_options

from_options(frame, connection_type, connection_options={}, format=None, format_options={}, transformation_ctx="")

Schreibt einen DynamicFrame mit der angegebenen Verbindung und dem angegebenen Format.

  • frame – Der zu schreibende DynamicFrame.

  • connection_type – Der Verbindungstyp. Gültige Werte sind s3, mysql, postgresql, redshift, sqlserver und oracle.

  • connection_options – Verbindungsoptionen, beispielsweise Pfad und Datenbanktabelle (optional). Für den connection_type s3 ist ein Amazon-S3-Pfad definiert.

    connection_options = {"path": "s3://aws-glue-target/temp"}

    Für JDBC-Verbindungen müssen mehrere Eigenschaften definiert werden. Beachten Sie, dass der Datenbankname Teil der URL sein muss. Er kann optional in die Verbindungsoptionen eingeschlossen werden.

    Warnung

    Das Speichern von Passwörtern in Ihrem Skript wird nicht empfohlen. Erwägen Sie die Verwendung von boto3, um diese aus dem AWS Secrets Manager oder AWS Glue Data Catalog abzurufen.

    connection_options = {"url": "jdbc-url/database", "user": "username", "password": passwordVariable,"dbtable": "table-name", "redshiftTmpDir": "s3-tempdir-path"}

    Die dbtable-Eigenschaft ist der Name der JDBC-Tabelle. Bei JDBC-Datenspeichern, die von Schemata innerhalb einer Datenbank unterstützen, geben Sie schema.table-name an. Wenn kein Schema angegeben ist, wird der Standardwert "öffentliches" Schema verwendet.

    Weitere Informationen finden Sie unter Verbindungstypen und Optionen für ETL in AWS Glue für Spark.

  • format – Eine Formatspezifikation (optional). Diese wird für einen Amazon Simple Storage Service (Amazon S3) oder eine AWS Glue-Verbindung, die mehrere Formate unterstützt, verwendet. Informationen zu den unterstützten Formaten finden Sie unter Mögliche Formate für Eingaben und Ausgaben in AWS Glue für Spark.

  • format_options – Formatoptionen für das angegebene Format. Informationen zu den unterstützten Formaten finden Sie unter Mögliche Formate für Eingaben und Ausgaben in AWS Glue für Spark.

  • transformation_ctx – Ein zu verwendender Transformationskontext (optional).

from_catalog

from_catalog(frame, name_space, table_name, redshift_tmp_dir="", transformation_ctx="")

Schreibt einen DynamicFrame mit der angegebenen Katalogdatenbank und dem angegebenen Tabellennamen.

  • frame – Der zu schreibende DynamicFrame.

  • name_space – Die zu verwendende Datenbank.

  • table_name – Der zu verwendende table_name.

  • redshift_tmp_dir – Ein zu verwendendes temporäres Amazon-Redshift-Verzeichnis (optional).

  • transformation_ctx – Ein zu verwendender Transformationskontext (optional).

  • additional_options – Zusätzliche Optionen für AWS Glue.

    Sie können beim Schreiben der von Lake Formation verwalteten Tabellen diese zusätzlichen Optionen verwenden:

    • transactionId – (String) Die Transaktions-ID, bei der das Schreiben in die Tabelle „Governed“ durchgeführt werden soll. Diese Transaktion kann nicht bereits festgeschrieben oder abgebrochen werden, sonst schlägt der Schreiben fehl.

    • callDeleteObjectsOnCancel – (Boolescher Wert, optional) Bei Festlegung auf true (Standard), ruft AWS Glue automatisch die DeleteObjectsOnCancel-API auf, nachdem das Objekt in Amazon S3 geschrieben wurde. Weitere Informationen finden Sie unter DeleteObjectsOnCancel im AWS Lake Formation-Entwicklerhandbuch.

    Beispiel: Schreiben in eine verwaltete Tabelle in Lake Formation
    txId = glueContext.start_transaction(read_only=False) glueContext.write_dynamic_frame.from_catalog( frame=dyf, database = db, table_name = tbl, transformation_ctx = "datasource0", additional_options={"transactionId":txId}) ... glueContext.commit_transaction(txId)

from_jdbc_conf

from_jdbc_conf(frame, catalog_connection, connection_options={}, redshift_tmp_dir = "", transformation_ctx="")

Schreibt einen DynamicFrame mit den angegebenen JDBC-Verbindungsinformationen.

  • frame – Der zu schreibende DynamicFrame.

  • catalog_connection – Eine zu verwendende Katalogverbindung.

  • connection_options – Verbindungsoptionen, beispielsweise Pfad und Datenbanktabelle (optional).

  • redshift_tmp_dir – Ein zu verwendendes temporäres Amazon-Redshift-Verzeichnis (optional).

  • transformation_ctx – Ein zu verwendender Transformationskontext (optional).

Beispiel für write_dynamic_frame

In diesem Beispiel wird die Ausgabe lokal mit einem connection_type von S3 mit einem POSIX-Pfadargument in connection_options geschrieben. Das ermöglicht das Schreiben in den lokalen Speicher.

glueContext.write_dynamic_frame.from_options(\ frame = dyf_splitFields,\ connection_options = {'path': '/home/glue/GlueLocalOutput/'},\ connection_type = 's3',\ format = 'json')