Gérer les flux de diffusion Firehose
L'ingénierie des données implique parfois de gérer des permissions, des utilisateurs et d'utiliser des outils graphiques plutôt que des scripts. Dans ce cours, nous vous montrerons comment utiliser boto3 avec Kinesis et Lambda, mais aussi comment exécuter certaines opérations sur AWS.
Tout au long du cours, les opérations sur AWS sont prises en charge pour vous, afin que vous puissiez vous concentrer sur la programmation.
Les démonstrations vidéo servent à vous donner tout le contexte sur le fonctionnement. Vous pouvez essayer ces opérations dans AWS de votre côté, mais c'est entièrement facultatif :
- Vous ne serez pas évalué·e sur la plateforme AWS
- Les opérations AWS sont prises en charge tout au long du cours, nous vous suggérons donc fortement de vous concentrer d'abord sur la réussite du cours
- Si vous décidez d'essayer des choses dans AWS, assurez-vous toujours d'arrêter vos instances dès que vous quittez, sinon la facture pourrait être salée
Pour l'instant, vous commencez à apprendre à interagir avec les flux Firehose. Votre prédécesseur a créé quelques flux Firehose, et vous voulez tous les supprimer pour repartir à neuf avec le compte.
Faisons table rase dans le compte AWS de la Ville !
Cette activité fait partie du cours
Données en continu avec AWS Kinesis et Lambda
Instructions de l’exercice
- Importez boto3 et créez un client Firehose avec boto3.
- Récupérez la liste des flux de diffusion Firehose.
- Parcourez le contenu de la réponse et supprimez chaque flux.
- Vérifiez que tous les flux de diffusion ont été supprimés en affichant les résultats de
.list_delivery_streams().
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Import boto3 and create boto3 Firehose client
import ____
firehose = boto3.____('____',
aws_access_key_id=AWS_KEY_ID, aws_secret_access_key=AWS_SECRET,
region_name='us-east-1', endpoint_url=endpoints['FIREHOSE'])
# Get list of delivery streams
response = firehose.____()
# Iterate over the response contents and delete every stream
for stream_name in response['DeliveryStreamNames']:
firehose.____(DeliveryStreamName=stream_name)
print(f"Deleted stream: {stream_name}")
# Print list of delivery streams
print(firehose.____())