

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

# Inviare dati con AWS SDK
<a name="writing-with-sdk"></a>

[https://aws.amazon.com/sdk-for-python/](https://aws.amazon.com/sdk-for-python/) Se non conosci Amazon Data Firehose, prenditi del tempo per acquisire familiarità con i concetti e la terminologia presentati in. [Cos’è Amazon Data Firehose?](what-is-this-service.md) Per ulteriori informazioni, consulta [Come iniziare a usare Amazon Web Services](https://aws.amazon.com/developers/getting-started/).

Questi esempi non rappresentano codici pronti per la produzione, poiché non eseguono un controllo per tutte le possibili eccezioni o spiegano tutte le possibili considerazioni relative alle prestazioni e alla sicurezza. 

L'API Amazon Data Firehose offre due operazioni per l'invio di dati al tuo stream Firehose: e. [PutRecord[PutRecordBatch](https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html)](https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecord.html) `PutRecord()`invia un record di dati in una chiamata e `PutRecordBatch()` può inviare più record di dati in una sola chiamata. 

## Operazioni di scrittura singole utilizzando PutRecord
<a name="putrecord"></a>

L'inserimento dei dati richiede solo il nome del flusso Firehose e un buffer di byte (<=1000 KB). Poiché Amazon Data Firehose raggruppa più record prima di caricare il file in Amazon S3, potresti voler aggiungere un separatore di record. Per inserire i dati un record alla volta in un flusso Firehose, utilizzate il codice seguente:

```
PutRecordRequest putRecordRequest = new PutRecordRequest();
putRecordRequest.setDeliveryStreamName(deliveryStreamName);

String data = line + "\n";

Record record = new Record().withData(ByteBuffer.wrap(data.getBytes()));
putRecordRequest.setRecord(record);

// Put record into the DeliveryStream
firehoseClient.putRecord(putRecordRequest);
```

Per ulteriori informazioni sul codice, consulta il codice di esempio incluso nell' AWS SDK. Per informazioni sulla sintassi di richiesta e risposta, consultate l'argomento pertinente in [Firehose API Operations](https://docs.aws.amazon.com/firehose/latest/APIReference/API_Operations.html).

## Operazioni di scrittura in batch utilizzando PutRecordBatch
<a name="putrecordbatch"></a>

L'inserimento dei dati richiede solo il nome dello stream Firehose e un elenco di record. Poiché Amazon Data Firehose raggruppa più record prima di caricare il file in Amazon S3, potresti voler aggiungere un separatore di record. Per inserire i record di dati in batch in un flusso Firehose, utilizzate il codice seguente:

```
PutRecordBatchRequest putRecordBatchRequest = new PutRecordBatchRequest();
putRecordBatchRequest.setDeliveryStreamName(deliveryStreamName);
putRecordBatchRequest.setRecords(recordList);

// Put Record Batch records. Max No.Of Records we can put in a
// single put record batch request is 500
firehoseClient.putRecordBatch(putRecordBatchRequest);

recordList.clear();
```

Per ulteriori informazioni sul codice, consulta il codice di esempio incluso nell' AWS SDK. Per informazioni sulla sintassi di richiesta e risposta, consultate l'argomento pertinente in [Firehose API Operations](https://docs.aws.amazon.com/firehose/latest/APIReference/API_Operations.html).