AWS Firehose在將數據複製到紅移前使用S3作爲間歇存儲。一旦數據傳輸到紅移,如果成功,如何自動清除它們。如何清理加載文件後由AWS Firehose使用的S3文件?
我手動刪除了這些文件,它出於抱怨文件被刪除的狀態,我不得不再次重新創建Firehose以恢復。
使用S3規則在7天后刪除這些文件將工作嗎?或者有沒有自動化的方式,Firehose可以刪除移動到紅移的成功文件。
AWS Firehose在將數據複製到紅移前使用S3作爲間歇存儲。一旦數據傳輸到紅移,如果成功,如何自動清除它們。如何清理加載文件後由AWS Firehose使用的S3文件?
我手動刪除了這些文件,它出於抱怨文件被刪除的狀態,我不得不再次重新創建Firehose以恢復。
使用S3規則在7天后刪除這些文件將工作嗎?或者有沒有自動化的方式,Firehose可以刪除移動到紅移的成功文件。
與支持AWS討論,
證實,它是安全的後24小時內或最大重試時間刪除這些中間文件。
在S3 Bucket上自動刪除的生命週期規則應該解決此問題。
希望它有幫助。
一旦你完成加載目標表,執行類似的東西(下面的代碼片段是典型的shell腳本):
aws s3 ls $aws_bucket/$table_name.txt.gz
if [ "$?" = "0" ]
then
aws s3 rm $aws_bucket/$table_name.txt.gz
fi
這會檢查你剛剛加載的表是否存在在s3或不會,並會放棄它。作爲cronjob的一部分執行它。
如果您的ETL/ELT不是遞歸的,您可以將此片段寫入腳本的末尾。填充表格後,它會在s3上刪除文件。但是,在執行此部分之前,請確保您的目標表已填充。
如果你的ETL/ELT是遞歸的,你可以把它放在腳本的開頭,檢查並刪除上一次運行中創建的文件。這將保留直到下一次運行創建的文件,並且應該是首選的,因爲如果最後一次加載失敗(或者需要最後一次加載的平面文件用於任何其他目的),文件將充當備份。
沒有相關答案。問題是關於消防站而不是關於s3生命週期。我會建議刪除它。 – Kannaiyan
問題在Firehose上,而不是如何刪除S3上的文件。 Firehose使用S3作爲臨時存儲來將數據推送到目的地。一旦這個過程完成,它永遠不會清理它。我刪除了一些這些文件,它抱怨文件丟失,不得不刪除firehose並重新創建它來工作。這就是問題所在。 – Kannaiyan