อัปเดต index ให้ครอบคลุมเดือนกุมภาพันธ์
ในสองแบบฝึกหัดที่ผ่านมา Sam ได้ดำเนินการดังนี้:
- อ่านไฟล์ log คำร้อง Get It Done รายวันสำหรับเดือนกุมภาพันธ์
- รวมไฟล์เหล่านั้นเป็น DataFrame เดียว
- สร้าง DataFrame ที่รวบรวมเมตริก (จำนวนคำร้องแยกตามประเภท)
- บันทึก DataFrame ดังกล่าวเป็นไฟล์รายงานสุดท้ายในรูปแบบ CSV และ HTML
- อัปโหลดไฟล์เหล่านี้ขึ้น S3
ตอนนี้ Sam ต้องการให้ไฟล์เหล่านี้เข้าถึงได้ผ่านหน้า directory listing ซึ่งปัจจุบันแสดงเฉพาะลิงก์ของรายงานเดือนมกราคม:

เธอได้สร้าง S3 client ของ boto3 และเก็บไว้ในตัวแปร s3 แล้ว
ช่วย Sam สร้าง directory listing ใหม่ที่รวมรายงานของเดือนกุมภาพันธ์ที่อัปโหลดไว้ และเก็บผลลัพธ์ในรูปแบบ DataFrame
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้นสำหรับ AWS Boto
คำแนะนำการฝึกหัด
- แสดงรายการออบเจกต์ใน bucket
'gid-reports'ที่ขึ้นต้นด้วย'2019/' - แปลงเนื้อหาของรายการออบเจกต์ให้เป็น DataFrame
- สร้างคอลัมน์
'Link'ที่เก็บ Public Object URL รวมกับ key - แสดงตัวอย่าง DataFrame
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# List the gid-reports bucket objects starting with 2019/
objects_list = s3.____(Bucket='gid-reports', ____='2019/')
# Convert the response contents to DataFrame
objects_df = pd.____(objects_list['Contents'])
# Create a column "Link" that contains Public Object URL
base_url = "http://gid-reports.s3.amazonaws.com/"
objects_df['Link'] = base_url + objects_df['____']
# Preview the resulting DataFrame
objects_df.head()