

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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



##   Metodi
<a name="aws-glue-api-crawler-pyspark-extensions-dynamic-frame-writer-_methods"></a>
+ [\_\_init\_\_](#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-writer-__init__)
+ [from\_options](#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-writer-from_options)
+ [from\_catalog](#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-writer-from_catalog)
+ [from\_jdbc\_conf](#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-writer-from_jdbc_conf)

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

**`__init__(glue_context)`**
+ `glue_context`: il [GlueContext classe](aws-glue-api-crawler-pyspark-extensions-glue-context.md) da usare.

## from\_options
<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="")`**

Scrive un `DynamicFrame` usando la connessione e il formato specificati.
+ `frame`: il `DynamicFrame` da scrivere.
+ `connection_type`: il tipo di connessione. I valori validi sono `s3`, `mysql`, `postgresql`, `redshift`, `sqlserver` e `oracle`.
+ `connection_options`: opzioni di connessione, come tabella di database e percorso (opzionale). Per un `connection_type` di `s3` è definito un percorso Amazon S3.

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

  Per le connessioni JDBC, diverse proprietà devono essere definite. Il nome del database deve fare parte dell'URL. Può opzionalmente essere incluso nelle opzioni di connessione.
**avvertimento**  
Si consiglia di non archiviare le password nello script. Valuta la possibilità `boto3` di utilizzarli per recuperarli da Gestione dei segreti AWS o dal AWS Glue Data Catalog.

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

  La proprietà `dbtable` è il nome della tabella JDBC. Per i archivi dati JDBC che supportano schemi all'interno di un database, specificare `schema.table-name`. Se non viene fornito alcuno schema, viene usato lo schema “pubblico” predefinito.

  Per ulteriori informazioni, consulta [Tipi e opzioni di connessione per ETL in AWS Glue per Spark](aws-glue-programming-etl-connect.md).
+ `format`: una specifica del formato (facoltativa). Viene utilizzato per un servizio Amazon Simple Storage Service (Amazon S3) o una connessione AWS Glue che supporta più formati. Consultare [Opzioni del formato dati per input e output in AWS Glue per Spark](aws-glue-programming-etl-format.md) per informazioni sui formati supportati.
+ `format_options`: opzioni di formato per il formato specificato. Consultare [Opzioni del formato dati per input e output in AWS Glue per Spark](aws-glue-programming-etl-format.md) per informazioni sui formati supportati.
+ `transformation_ctx`: un contesto di trasformazione da usare (opzionale).

## from\_catalog
<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="")`**

Scrive un `DynamicFrame` utilizzando il nome della tabella e il database del catalogo specificati.
+ `frame`: il `DynamicFrame` da scrivere.
+ `name_space`: il database da usare.
+ `table_name`: il `table_name` da usare.
+ `redshift_tmp_dir`: una directory temporanea Amazon Redshift da usare (opzionale).
+ `transformation_ctx`: un contesto di trasformazione da usare (opzionale).
+ `additional_options`: opzioni aggiuntive fornite a AWS Glue. 

  Per scrivere su tabelle governate da Lake Formation, è possibile utilizzare queste opzioni aggiuntive:
  + `transactionId`: (stringa) l'ID transazione in cui eseguire la scrittura nella tabella Governed. Di questa transazione non può essere già stato eseguito il commit, né può essere interrotta, diversamente la scrittura non andrà a buon fine.
  + `callDeleteObjectsOnCancel `: (booleano, facoltativo) Se impostato su `true` (default), AWS Glue chiama automaticamente l'API `DeleteObjectsOnCancel` dopo che l'oggetto è stato scritto su Amazon S3. Per ulteriori informazioni, consulta la sezione [DeleteObjectsOnCancel](https://docs.aws.amazon.com/lake-formation/latest/dg/aws-lake-formation-api-transactions-api.html#aws-lake-formation-api-transactions-api-DeleteObjectsOnCancel) nella *Guida per gli sviluppatori di AWS Lake Formation *.  
**Example Esempio: scrittura su una tabella governata 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
<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="")`**

Scrive un `DynamicFrame` usando le informazioni sulla connessione JDBC specificate.
+ `frame`: il `DynamicFrame` da scrivere.
+ `catalog_connection`: una connessione del catalogo da utilizzare.
+ `connection_options`: opzioni di connessione, come tabella di database e percorso (opzionale).
+ `redshift_tmp_dir`: una directory temporanea Amazon Redshift da usare (opzionale).
+ `transformation_ctx`: un contesto di trasformazione da usare (opzionale).

## Esempio di write\_dynamic\_frame
<a name="pyspark-WriteDynamicFrame-examples"></a>

Questo esempio scrive l'output localmente utilizzando un `connection_type` di S3 con un argomento percorso POSIX in `connection_options`, che consente di scrivere su storage locale.

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