始める無料で始める

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.____())
コードを編集して実行