

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# DynamicFrameWriter classe
<a name="aws-glue-api-crawler-pyspark-extensions-dynamic-frame-writer"></a>



##   Méthodes
<a name="aws-glue-api-crawler-pyspark-extensions-dynamic-frame-writer-_methods"></a>
+ [\$1\$1init\$1\$1](#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-writer-__init__)
+ [from\$1options](#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-writer-from_options)
+ [from\$1catalog](#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-writer-from_catalog)
+ [from\$1jdbc\$1conf](#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-writer-from_jdbc_conf)

## \$1\$1init\$1\$1
<a name="aws-glue-api-crawler-pyspark-extensions-dynamic-frame-writer-__init__"></a>

**`__init__(glue_context)`**
+ `glue_context` – [GlueContext classe](aws-glue-api-crawler-pyspark-extensions-glue-context.md) à utiliser.

## from\$1options
<a name="aws-glue-api-crawler-pyspark-extensions-dynamic-frame-writer-from_options"></a>

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

Écrit un `DynamicFrame` à l'aide de la connexion et du format spécifiés.
+ `frame` – Objet `DynamicFrame` à écrire.
+ `connection_type` – type de connexion. Les valeurs valides sont `s3`, `mysql`, `postgresql`, `redshift`, `sqlserver` et `oracle`.
+ `connection_options` – Options de connexion, telles que le chemin et la table de base de données (facultatif). Pour un `connection_type` de `s3`, un chemin Amazon S3 est défini.

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

  Pour les connexions JDBC, plusieurs propriétés doivent être définies. Notez que le nom de base de données doit être inclus dans l’URL. Il peut éventuellement être inclus dans les options de connexion.
**Avertissement**  
Il n’est pas recommandé de stocker des mots de passe dans votre script. Envisagez de les utiliser `boto3` pour les récupérer depuis AWS Secrets Manager le catalogue de données AWS Glue.

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

  La propriété `dbtable` est le nom de la table JDBC. Pour les magasins de données JDBC qui prennent en charge les schémas dans une base de données, spécifiez `schema.table-name`. Si aucun schéma n'est fourni, c'est le schéma « public » par défaut qui est utilisé.

  Pour plus d'informations, consultez [Types et options de connexion pour ETL dans AWS Glue pour Spark](aws-glue-programming-etl-connect.md).
+ `format` – spécification de format (facultatif). Utilisée pour une connexion Amazon Simple Storage Service (Amazon S3) ou une connexion AWS Glue qui prend en charge plusieurs formats. Consultez [Options de format pour les entrées et sorties dans AWS Glue pour Spark](aws-glue-programming-etl-format.md) pour connaître les formats pris en charge.
+ `format_options` – options de format pour le format spécifié. Consultez [Options de format pour les entrées et sorties dans AWS Glue pour Spark](aws-glue-programming-etl-format.md) pour connaître les formats pris en charge.
+ `transformation_ctx` – Contexte de transformation à utiliser (facultatif).

## from\$1catalog
<a name="aws-glue-api-crawler-pyspark-extensions-dynamic-frame-writer-from_catalog"></a>

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

Écrit un `DynamicFrame` à l'aide de la base de données et du nom de table du catalogue spécifié.
+ `frame` – Objet `DynamicFrame` à écrire.
+ `name_space` – Base de données à utiliser.
+ `table_name` – `table_name` à utiliser.
+ `redshift_tmp_dir` – répertoire Amazon Redshift temporaire à utiliser (facultatif).
+ `transformation_ctx` – Contexte de transformation à utiliser (facultatif).
+ `additional_options` — Options supplémentaires fournies à AWS Glue. 

  Pour écrire sur des tables régies Lake Formation, vous pouvez utiliser ces options supplémentaires :
  + `transactionId`— (Chaîne) ID de transaction auquel effectuer l'écriture dans la table régie. Cette transaction ne peut pas être déjà validée ou interrompue, sinon l'écriture échouera.
  + `callDeleteObjectsOnCancel ` – (booléen, facultatif) Si la valeur est définie sur `true` (par défaut), AWS Glue appelle automatiquement l'API `DeleteObjectsOnCancel` une fois l'objet écrit sur Amazon S3. Pour plus d’informations, consultez [DeleteObjectsOnCancel](https://docs.aws.amazon.com/lake-formation/latest/dg/aws-lake-formation-api-transactions-api.html#aws-lake-formation-api-transactions-api-DeleteObjectsOnCancel) dans le *Guide du développeur AWS Lake Formation *.  
**Example Exemple : écriture dans une table régie dans 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\$1jdbc\$1conf
<a name="aws-glue-api-crawler-pyspark-extensions-dynamic-frame-writer-from_jdbc_conf"></a>

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

Écrit un `DynamicFrame` à l'aide des informations de connexion JDBC spécifiées.
+ `frame` – Objet `DynamicFrame` à écrire.
+ `catalog_connection` – Connexion de catalogue à utiliser.
+ `connection_options` – Options de connexion, telles que le chemin et la table de base de données (facultatif).
+ `redshift_tmp_dir` – répertoire Amazon Redshift temporaire à utiliser (facultatif).
+ `transformation_ctx` – Contexte de transformation à utiliser (facultatif).

## Exemple pour write\$1dynamic\$1frame
<a name="pyspark-WriteDynamicFrame-examples"></a>

Cet exemple écrit la sortie localement en utilisant un `connection_type` de S3 avec un argument de chemin POSIX dans `connection_options`, ce qui permet d'écrire dans le stockage local.

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