管理 Firehose Delivery Streams
数据工程有时需要管理权限、用户,并使用 GUI 工具而不是脚本来完成这些工作。在本课程中,我们会向您展示如何使用 boto3 操作 Kinesis 和 Lambda,同时也会演示如何在 AWS 上执行某些操作。
在整个课程中,AWS 上的这些操作都会为您处理好,您可以专注于编程本身。
这些演示视频旨在为您提供完整的工作背景。您也可以自行在 AWS 上尝试这些操作,但这完全是可选的:
- 您不会在 AWS 平台本身上被测试
- 课程期间 AWS 操作都会为您处理好,因此我们强烈建议您先专注完成课程
- 如果您决定在 AWS 上尝试,请务必在离开时立即停止实例,否则可能会产生高额账单
现在,您将开始学习如何与 Firehose 流交互。您的前任创建了几个 Firehose 流,您希望全部删除,以便重新开始。
让我们在这座城市的 AWS 账户里来一次干净的开端吧!
本练习是课程的一部分
使用 AWS Kinesis 与 Lambda 处理流数据
练习说明
- 导入 boto3 并创建一个 boto3 Firehose 客户端。
- 获取 Firehose Delivery streams 的列表。
- 遍历响应内容并删除每个流。
- 通过打印
.list_delivery_streams()的结果来验证所有 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.____())