Firehose の配信ストリームを管理する
データエンジニアリングでは、権限やユーザーの管理を行い、スクリプトではなく GUI ツールを使うこともあります。本コースでは、boto3 を使って Kinesis と Lambda を操作する方法に加え、AWS 上で特定の操作を実行する方法もお見せします。
コース全体を通して、AWS 上の各種操作はあらかじめ用意されているので、学習者の皆さんはプログラミングに集中できます。
スクリーンキャストは、仕組みを理解するための全体像を示すものです。AWS 上で実際に操作を試していただいても構いませんが、完全に任意です。
- AWS プラットフォーム自体については出題されません
- コース中の AWS の操作はすべて用意済みなので、まずはコースの完了に集中することを強くおすすめします
- もし AWS で試す場合は、離席時に必ずインスタンスを停止してください。停止しないと高額な請求が発生する可能性があります
ここでは、Firehose ストリームとのやり取りの基本を学び始めます。前任者がいくつかの Firehose ストリームを作成しており、アカウントをクリーンな状態にするためにそれらをすべて削除したい状況です。
それでは、都市の AWS アカウントを一から整えていきましょう!
この演習はコースの一部です
AWS Kinesis と Lambda で学ぶストリーミングデータ
演習の手順
- boto3 をインポートし、boto3 の Firehose クライアントを作成します。
- Firehose の配信ストリーム一覧を取得します。
- レスポンスの内容を走査し、すべてのストリームを削除します。
.list_delivery_streams()の結果を出力して、すべての配信ストリームが削除されたことを確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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.____())