

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

# Creazione di flussi di dati utilizzando l'API Kinesis Data Streams e la versione 3 AWS SDK per PHP
<a name="kinesis-example-data-stream"></a>

Amazon Kinesis Data Streams consente di inviare dati in tempo reale. Crea un produttore di dati con Kinesis Data Streams che fornisca dati alla destinazione configurata ogni volta che aggiungi dati.

Per ulteriori informazioni, consulta [Creating and Managing Streams](https://docs.aws.amazon.com/kinesis/latest/dev/working-with-streams.html.html) nella Amazon Kinesis Developer Guide.

Gli esempi seguenti mostrano come:
+ Crea un flusso di dati utilizzando. [CreateAlias](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-kinesis-1913-12-02.html#createstream)
+ Ottieni dettagli su un singolo flusso di dati utilizzando [DescribeStream](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-kinesis-1913-12-02.html#describestream).
+ Elenca i flussi di dati esistenti utilizzando [ListStreams](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-kinesis-1913-12-02.html#liststreams).
+ Invia dati a un flusso di dati esistente utilizzando [PutRecord](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-kinesis-1913-12-02.html#putrecord).
+ Eliminare un flusso di dati utilizzando [DeleteStream](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-kinesis-1913-12-02.html#deletestream).

Tutto il codice di esempio per il AWS SDK per PHP è [disponibile qui GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

## Credenziali
<a name="examplecredentials"></a>

Prima di eseguire il codice di esempio, configurate AWS le vostre credenziali, come descritto in[Autenticazione con l' AWS utilizzo AWS SDK per PHP della versione 3](credentials.md). Quindi importate il file AWS SDK per PHP, come descritto in[Installazione della AWS SDK per PHP versione 3](getting-started_installation.md).

Per ulteriori informazioni sull'uso di Amazon Kinesis Developer Guide, consulta la [Amazon Kinesis](https://docs.aws.amazon.com/kinesis/latest/dev/) Data Streams Developer Guide.

## Creare un flusso di dati utilizzando un flusso di dati Kinesis
<a name="create-a-data-stream-using-a-ak-data-stream"></a>

Stabilisci un flusso di dati Kinesis in cui inviare le informazioni che devono essere elaborate da Kinesis utilizzando il seguente esempio di codice. Scopri di più sulla [creazione e l'aggiornamento di flussi di dati](https://docs.aws.amazon.com/kinesis/latest/dev/amazon-kinesis-streams.html) nella Amazon Kinesis Developer Guide.

Per creare un flusso di dati Kinesis, usa l'[CreateStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_CreateStream.html)operazione.

 **Importazioni** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
```

 **Codice di esempio** 

```
$kinesisClient = new Aws\Kinesis\KinesisClient([
    'profile' => 'default',
    'version' => '2013-12-02',
    'region' => 'us-east-2'
]);

$shardCount = 2;
$name = "my_stream_name";

try {
    $result = $kinesisClient->createStream([
        'ShardCount' => $shardCount,
        'StreamName' => $name,
    ]);
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    echo $e->getMessage();
    echo "\n";
}
```

## Recupera un flusso di dati
<a name="retrieve-a-data-stream"></a>

Ottieni informazioni dettagliate su un flusso di dati esistente utilizzando il seguente codice di esempio. Per impostazione predefinita, restituisce informazioni sui primi 10 shard collegati al flusso di dati Kinesis specificato. Ricordati `StreamStatus` di controllare la risposta prima di scrivere dati su un flusso di dati Kinesis.

Per recuperare i dettagli su un flusso di dati Kinesis specificato, usa l'[DescribeStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStream.html)operazione.

 **Importazioni** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
```

 **Codice di esempio** 

```
$kinesisClient = new Aws\Kinesis\KinesisClient([
    'profile' => 'default',
    'version' => '2013-12-02',
    'region' => 'us-east-2'
]);

$name = "my_stream_name";

try {
    $result = $kinesisClient->describeStream([
        'StreamName' => $name,
    ]);
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    echo $e->getMessage();
    echo "\n";
}
```

## Elenca i flussi di dati esistenti collegati a Kinesis
<a name="list-existing-data-streams-that-are-connected-to-ak"></a>

Elenca i primi 10 flussi di dati provenienti dalla tua Account AWS regione selezionata. AWS Utilizza il ``HasMoreStreams` restituito per stabilire se ci sono più flussi associati al tuo account.

Per elencare i tuoi flussi di dati Kinesis, usa l'operazione. [ListStreams](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListStreams.html)

 **Importazioni** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
```

 **Codice di esempio** 

```
$kinesisClient = new Aws\Kinesis\KinesisClient([
    'profile' => 'default',
    'version' => '2013-12-02',
    'region' => 'us-east-2'
]);

try {
    $result = $kinesisClient->listStreams();
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    echo $e->getMessage();
    echo "\n";
}
```

## Invia dati a un flusso di dati esistente
<a name="send-data-to-an-existing-data-stream"></a>

Dopo aver creato un flusso di dati, utilizza il seguente esempio per l'invio dei dati. Prima di inviare i dati, utilizza `DescribeStream` per controllare se i dati `StreamStatus` sono attivi.

Per scrivere un singolo record di dati in un flusso di dati Kinesis, usa l'[PutRecord](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html)operazione. Per scrivere fino a 500 record in un flusso di dati Kinesis, usa l'[PutRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecords.html)operazione.

 **Importazioni** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
```

 **Codice di esempio** 

```
$kinesisClient = new Aws\Kinesis\KinesisClient([
    'profile' => 'default',
    'version' => '2013-12-02',
    'region' => 'us-east-1'
]);

$name = "my_stream_name";
$content = '{"ticker_symbol":"QXZ", "sector":"HEALTHCARE", "change":-0.05, "price":84.51}';
$groupID = "input to a hash function that maps the partition key (and associated data) to a specific shard";

try {
    $result = $kinesisClient->PutRecord([
        'Data' => $content,
        'StreamName' => $name,
        'PartitionKey' => $groupID
    ]);
    print("<p>ShardID = " . $result["ShardId"] . "</p>");
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    echo $e->getMessage();
    echo "\n";
}
```

## Eliminare un flusso di dati
<a name="delete-a-data-stream"></a>

Questo esempio illustra come eliminare un flusso di dati. L'eliminazione di un flusso di dati, inoltre, elimina tutti i dati inviati al flusso di dati. I flussi di dati Active Kinesis passano allo stato ELIMINAZIONE fino al completamento dell'eliminazione del flusso. Mentre è nello stato DELETING, il flusso continua a elaborare i dati.

Per eliminare un flusso di dati Kinesis, usa l'[DeleteStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DeleteStream.html)operazione.

 **Importazioni** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
```

 **Codice di esempio** 

```
$kinesisClient = new Aws\Kinesis\KinesisClient([
    'profile' => 'default',
    'version' => '2013-12-02',
    'region' => 'us-east-2'
]);

$name = "my_stream_name";

try {
    $result = $kinesisClient->deleteStream([
        'StreamName' => $name,
    ]);
    var_dump($result);
} catch (AwsException $e) {
    // output error message if fails
    echo $e->getMessage();
    echo "\n";
}
```