Gérez les fragments de données à l'aide de l'API Kinesis Data Streams et AWS SDK for PHP de la version 3 - AWS SDK for PHP

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.

Gérez les fragments de données à l'aide de l'API Kinesis Data Streams et AWS SDK for PHP de la version 3

Amazon Kinesis Data Streams vous permet d'envoyer des données en temps réel à un terminal. Le débit du flux de données varie en fonction du nombre de partitions dans votre flux.

Vous pouvez écrire 1 000 enregistrements par seconde sur une seule partition. Chaque partition dispose également d’une limite de chargement de 1 Mo par seconde. L’utilisation est calculée et facturée par partition, de manière à utiliser ces exemples pour gérer les données de capacité et de coût de votre flux.

Les exemples suivants montrent comment :

  • Répertoriez les fragments d'un flux à l'aide ListShardsde.

  • Ajoutez ou réduisez le nombre de partitions dans un flux à l'aide UpdateShardCountde.

Tous les exemples de code pour le AWS SDK for PHP sont disponibles ici GitHub.

Informations d’identification

Avant d'exécuter l'exemple de code, configurez vos AWS informations d'identification, comme décrit dansInformations d'identification. Importez ensuite leAWS SDK for PHP, comme décrit dansUtilisation de base.

Pour plus d'informations sur l'utilisation d'Amazon Kinesis Data Streams, consultez le manuel du développeur Amazon Kinesis Data Streams.

Répertorier les fragments de flux de données

Répertorier les détails de jusqu’à 100 partitions dans un flux spécifique.

Pour répertorier les partitions d'un flux de données Kinesis, utilisez l'ListShardsopération.

Importations

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

Exemple de code

$kinesisClient = new Aws\Kinesis\KinesisClient([ 'profile' => 'default', 'version' => '2013-12-02', 'region' => 'us-east-2' ]); $name = "my_stream_name"; try { $result = $kinesisClient->ListShards([ 'StreamName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Ajouter d'autres fragments de flux de données

Si vous avez besoin de davantage de partitions de flux de données, vous pouvez augmenter le nombre actuel de partitions. Nous vous recommandons de doubler votre nombre de partition en cas d’augmentation. Ainsi, chaque partition actuellement disponible est copiée afin d'augmenter votre capacité. Vous ne pouvez doubler le nombre de vos partitions que deux fois par période de 24 heures.

N'oubliez pas que la facturation pour l'utilisation de Kinesis Data Streams est calculée par partition. Par conséquent, lorsque la demande diminue, nous vous recommandons de réduire le nombre de partitions de moitié. Lorsque vous supprimez des partitions, vous pouvez uniquement réduire la quantité de partitions à la moitié de votre nombre de partitions actuel.

Pour mettre à jour le nombre de partitions d'un flux de données Kinesis, utilisez UpdateShardCountcette opération.

Importations

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

Exemple de code

$kinesisClient = new Aws\Kinesis\KinesisClient([ 'profile' => 'default', 'version' => '2013-12-02', 'region' => 'us-east-2' ]); $name = "my_stream_name"; $totalshards = 4; try { $result = $kinesisClient->UpdateShardCount([ 'ScalingType' => 'UNIFORM_SCALING', 'StreamName' => $name, 'TargetShardCount' => $totalshards ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }