Collectez et traitez un grand nombre d'enregistrements de données en temps réel. Vous pouvez acquérir et enregistrer en continu de nombreux téra de données par heure. La période de conservation des données est de 24 heures. Il peut être prolongé jusqu'à 7 jours en chargeant.
Une unité de débit de flux. Vous pouvez augmenter le débit du flux en augmentant la partition.
Une unité de données stockée dans un flux. L'enregistrement se compose d'un numéro de séquence, d'une clé de partition et d'un BLOB de données. Data BLOB est la donnée elle-même. Base64 encodé et enregistré.
Si vous êtes pris dans l'un ou l'autre, une erreur se produira.
―― 2 Mo / s par partition --5 transactions par partition
Si vous êtes pris dans l'un ou l'autre, une erreur se produira.
―― 1 Mo / s par partition --1000 transactions par partition
Installez boto avec pip.
Obtenez la clé d'accès et la clé secrète sur AWS.
Créez le fichier suivant en tant que .boto
dans la même hiérarchie que le programme.
.boto
[Credentials]
aws_access_key_id = YOUR_ACCESS_KEY_ID
aws_secret_access_key = YOUR_SECRET_ACCESS_KEY
from boto impor kinesis
#Spécifiez la région Kinesis à utiliser
conn = kinesis.connect_to_region(region_name = 'Nom de la région')
#Obtenir les informations du flux spécifié
stream = conn.describe_stream('Nom du flux')
#Obtenez des informations sur les fragments à partir des informations de flux que vous venez d'obtenir
#S'il y a plusieurs fragments, retournez dans la liste
shards = stream['StreamDescription']['Shards']
#Obtenez de tous les éclats
for shard in shards:
shard_id = shard['ShardId']
#Obtenez la position pour obtenir
#Premier argument: nom du flux
#Deuxième argument: ID de partition
#Troisième argument: type de lecture
# LATEST:Lire de la toute fin du fragment
# TRIM_HORIZON:Lire depuis le tout début du fragment
# AT_SEQUENCE_NUMBER:Lire à partir du numéro de séquence spécifié. Spécifiez le numéro de séquence dans le 4ème argument
# AFTER_SEQUENCE_NUMBER:Lit le suivant du numéro de séquence spécifié. Spécifiez le numéro de séquence dans le 4ème argument
iterator = conn.get_sahrd_iterator(stream['StreamDescription']['StreamName'], shard_id, shard_iterator_type='LATEST')['ShardIterator']
#Obtenir des données de Kinesis
#La limite supérieure d'acquisition peut être spécifiée avec le deuxième argument(limit)
result = conn.get_records(iterator)
print result
Je pense que ce sera plus facile à comprendre si vous imprimez celui qui décrit le flux.
from boto import kinesis
#Spécifiez la région Kinesis à utiliser
conn = kinesis.connect_to_region(region_name = 'Nom de la région')
#mettre
conn.put_record('Nom du flux', data = 'hogehoge', partition_key = 'partition_key')
partition_key
Les clés de partition sont utilisées pour isoler les enregistrements de données et les acheminer vers différentes partitions du flux. Si votre flux comporte deux partitions, vous pouvez utiliser deux clés de partition pour contrôler quelles données sont stockées dans quelle partition.
Recommended Posts