Amazon-Web-Services

通過 AWS S3 的 Amazon SES 數據:是否有一種簡單的方法來列出和下載文件夾並獲取行數?

  • June 3, 2020

我已設置 Amazon SES 以向大約 1,000 名聯繫人的列表發送公司公告。我將 Kenesis Firehose 設置為將所有電子郵件事件(例如,發送、退回、點擊)記錄到 S3 中的儲存桶中。SES 似乎提供了對大量電子郵件進行批量分析的工具,但我想查看每個收件人的結果。我不知道我是否遺漏了什麼,但我發現這樣做的唯一方法是從 S3 下載文件並在電子表格中解析它們。我已經開發了一個非常複雜的電子表格來做到這一點。

這些文件按月、日和小時儲存在 S3 中的文件夾層次結構中。S3 控制台允許我通過手動瀏覽文件夾樹並右鍵點擊每個文件來單獨下載每個文件。S3 控制台文件說

您可以使用 Amazon S3 控制台為每個請求下載一個對象。要下載多個對象,請使用 AWS CLI、AWS 開發工具包或 REST API。

我已經熟悉了適用於 PHP 的 AWS 開發工具包,並且正在使用它在 SES 中發送電子郵件。S3 開發人員指南包含使用 AWS SDK for PHP 獲取對象的說明。它似乎沒有獲取多個對象的說明,我想我可以通過編寫一個遍歷文件夾和文件的循環來實現這一點。

我尚未安裝 AWS CLI。有一個伺服器故障答案似乎說可以通過 CLI 命令下載文件夾sync

所以現在的情況是,為了下載文件夾中的所有文件,我要麼需要編寫 SDK 程序,要麼需要安裝 CLI 並學習sync命令。對於我可以在 Windows 中通過滑鼠拖動或在 Filezilla 中通過點兩下滑鼠執行的操作,其中任何一個似乎都需要做很多工作。我是否遺漏了什麼,或者我真的需要做所有這些工作只是為了下載文件夾樹中的文件?

Windows 和 Filezilla 還可以讓我輕鬆地一次查看整個文件夾樹,其中包含每個文件夾中的所有文件。S3 控制台一次只允許我查看一個子文件夾。同樣,我是否需要編寫 SDK 程序或學習 CLI 才能獲得文件夾樹的列表?

當我問這兩個問題時,其他有幫助的事情是查看每個文件中的行數,因為每行代表一個 SES 事件。獲得文件後,我會很容易地從分析中獲得這些資訊,但令我驚訝的是,除了進行分析之外,SES 似乎沒有給我提供查看事件數量的方法。這是正確的,還是我忽略了 SES 中可以給我這些資訊的東西?

最後一個問題:如果我可以簡單地要求 SES 向我提供所有事件數據的轉儲,那麼以上所有內容都是不必要的。我發現獲取這些數據的唯一方法是下載那些 S3 文件,然後我必須將其合併到我的電子表格中。再說一遍,我是否忽略了 SES 中的某些東西,它允許我在不經過 S3 中的所有這些繁瑣操作的情況下獲取所有事件數據?

您可以簡單地使用cyberduck列出和下載文件,或者使用Athena 直接從S3 分析您的數據

引用自:https://serverfault.com/questions/1019874