2月の集計レポートをアップロードする
前の演習で、Sam はその月のファイルを raw データのバケットからダウンロードしました。
その後、月内のすべてのリクエストとリクエストの種類をまとめて 1 つの DataFrame に結合しました。
この DataFrame は変数 all_reqs に保存され、pandas の groupby 機能を使ってサービス名ごとにリクエスト数を集計し、新しい DataFrame agg_df を作成しました:
| service_name | count | |
|---|---|---|
| 0 | 72 Hour Violation | 2910 |
| 1 | Chain Link Fence Repair | 90 |
| 2 | Collections Truck Spill | 30 |
| 3 | Container Left Out | 120 |
| 4 | Dead Animal | 360 |
すでに boto3 の S3 クライアントが変数 s3 に作成されています。
今月のリクエスト統計を公開できるように手伝ってください。
agg_df を CSV と HTML ファイルに書き出し、S3 に公開ファイルとしてアップロードします。
この演習はコースの一部です
Python で始める AWS Boto 入門
演習の手順
agg_dfの CSV 版と HTML 版を書き出し、ファイル名はそれぞれ'feb_final_report.csv'と'feb_final_report.html'にしてください。agg_dfの両方のファイルをgid-reportsバケットにアップロードし、public read に設定してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Write agg_df to a CSV and HTML file with no border
agg_df.____('./____')
agg_df.____('./____', border=0)
# Upload the generated CSV to the gid-reports bucket
s3.____(Filename='./feb_final_report.csv',
Key='2019/feb/final_report.html', Bucket='gid-reports',
____ = {'ACL': '____'})
# Upload the generated HTML to the gid-reports bucket
s3.upload_file(Filename='./feb_final_report.html',
Key='2019/feb/final_report.html', Bucket='gid-reports',
____ = {'ContentType': '____',
'____': '____'})