

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à.

# Utilizzo del formato Ion in AWS Glue
<a name="aws-glue-programming-etl-format-ion-home"></a>

AWS Glue recupera i dati dalle fonti e li scrive su destinazioni archiviate e trasportate in vari formati di dati. Se i dati vengono archiviati o trasportati nel formato dati Ion, questo documento presenta le funzionalità disponibili per l'utilizzo dei dati in AWS Glue.

AWS Glue supporta l'utilizzo del formato Ion. Questo formato rappresenta strutture di dati (che non sono basate su righe o colonne) in rappresentazioni binarie e di testo semplice intercambiabili. Per un'introduzione al formato da parte degli autori, consulta [Amazon Ion](https://amzn.github.io/ion-docs/). Per ulteriori informazioni consulta la [specifica Amazon Ion](https://amzn.github.io/ion-docs/spec.html).

Puoi usare AWS Glue per leggere file Ion da Amazon S3. Puoi leggere e scrivere archivi `bzip` e `gzip` contenenti file Ion da S3. Puoi configurare il comportamento di compressione sul [Parametri di connessione di S3](aws-glue-programming-etl-connect-s3-home.md#aws-glue-programming-etl-connect-s3) invece che nella configurazione discussa in questa pagina.

La tabella seguente mostra quali operazioni comuni di AWS Glue supportano l'opzione di formato Ion.


| Lettura | Scrittura | Lettura in streaming | Gruppo di file piccoli | Segnalibri di processo | 
| --- | --- | --- | --- | --- | 
| Supportata | Non supportato. | Non supportato. | Supportata | Non supportato. | 

## Esempio: lettura di cartelle e file Ion da S3
<a name="aws-glue-programming-etl-format-ion-read"></a>

**Prerequisiti:** occorreranno i percorsi S3 (`s3path`) nelle cartelle o nei file Ion da leggere. 

**Configurazione:** nelle opzioni della funzione, specifica `format="json"`. Nelle tue `connection_options`, utilizza la chiave `paths` per specificare `s3path`. Puoi configurare il modo in cui il reader interagisce con S3 in `connection_options`. Per i dettagli, vedi Tipi di connessione e opzioni per ETL in AWS Glue:[Indicazioni di riferimento alle opzioni di connessione ad Amazon S3](aws-glue-programming-etl-connect-s3-home.md#aws-glue-programming-etl-connect-s3). 

Il seguente script AWS Glue ETL mostra il processo di lettura di file o cartelle Ion da S3:

------
#### [ Python ]

Per questo esempio, utilizzare il metodo [create\$1dynamic\$1frame.from\$1options](aws-glue-api-crawler-pyspark-extensions-glue-context.md#aws-glue-api-crawler-pyspark-extensions-glue-context-create_dynamic_frame_from_options).

```
# Example: Read ION from S3

from pyspark.context import SparkContext
from awsglue.context import GlueContext

sc = SparkContext.getOrCreate()
glueContext = GlueContext(sc)

dynamicFrame = glueContext.create_dynamic_frame.from_options(
    connection_type="s3",
    connection_options={"paths": ["s3://s3path"]},
    format="ion"
)
```

------
#### [ Scala ]

Per questo esempio, utilizzate l'operazione [getSourceWithFormat](glue-etl-scala-apis-glue-gluecontext.md#glue-etl-scala-apis-glue-gluecontext-defs-getSourceWithFormat).

```
// Example: Read ION from S3

import com.amazonaws.services.glue.util.JsonOptions
import com.amazonaws.services.glue.GlueContext
import org.apache.spark.SparkContext

object GlueApp {
  def main(sysArgs: Array[String]): Unit = {
    val spark: SparkContext = new SparkContext()
    val glueContext: GlueContext = new GlueContext(spark)

    val dynamicFrame = glueContext.getSourceWithFormat(
      connectionType="s3",
      format="ion",
      options=JsonOptions("""{"paths": ["s3://s3path"], "recurse": true}""")
    ).getDynamicFrame()
  }
}
```

------

## Documentazione di riferimento della configurazione Ion
<a name="aws-glue-programming-etl-format-ion-reference"></a>

Non ci sono valori di `format_options` per `format="ion"`.