การจัดการ Firehose Delivery Streams
งาน Data Engineering บางครั้งต้องจัดการสิทธิ์และผู้ใช้งาน ซึ่งอาจใช้เครื่องมือแบบ GUI แทนการเขียนสคริปต์ ในคอร์สนี้จะแสดงวิธีใช้ boto3 กับ Kinesis และ Lambda รวมถึงการดำเนินการบางอย่างบน AWS
ตลอดคอร์ส การดำเนินการบน AWS จะถูกจัดการไว้ให้แล้ว เพื่อให้คุณโฟกัสกับด้านการเขียนโปรแกรมได้เต็มที่
สกรีนแคสต์มีไว้เพื่อให้เห็นภาพรวมของการทำงาน หากต้องการลองใช้งานบน AWS เองก็สามารถทำได้ แต่ไม่บังคับ:
- ไม่มีการทดสอบบน AWS platform
- การดำเนินการบน AWS ถูกจัดการไว้ให้ตลอดคอร์ส จึงแนะนำให้เรียนให้จบก่อน
- หากตัดสินใจลองใช้งานบน AWS อย่าลืมหยุด instance ทุกครั้งก่อนออก ไม่เช่นนั้นอาจเสียค่าใช้จ่ายสูงมาก
ตอนนี้เริ่มเรียนรู้การโต้ตอบกับ Firehose stream กัน ผู้ที่ดูแลระบบก่อนหน้าได้สร้าง Firehose stream ไว้หลายรายการ และต้องการลบทั้งหมดเพื่อเริ่มต้นบัญชีใหม่
มาเริ่มต้นใหม่ใน AWS account ของเมืองกันเลย!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Streaming Data ด้วย AWS Kinesis และ Lambda
คำแนะนำการฝึกหัด
- Import boto3 และสร้าง boto3 Firehose client
- ดึงรายการ Firehose Delivery stream
- วนซ้ำผ่านผลลัพธ์ที่ได้และลบ stream ทุกรายการ
- ตรวจสอบว่า delivery stream ถูกลบทั้งหมดแล้วโดยพิมพ์ผลลัพธ์จาก
.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.____())