簡體   English   中英

自動從s3下載文件到本地

[英]download file from s3 to local automatically

我正在創建膠水作業(Python shell)以從 redshift 導出數據並將其存儲在 S3 中。 但是我將如何自動/觸發 S3 中的文件下載到 local.network 驅動器,以便第 3 方供應商將其拾取。

在不使用膠水的情況下,我可以創建一個在本地服務器上運行的 python 實用程序,以從 redshift 中提取數據作為文件並將其保存在 local.network 驅動器中,但我想在雲上實現此框架以避免依賴本地服務器。

AWS cli sync function 無濟於事,因為供應商獲取文件后,我不應該將其再次放在本地文件夾中。

請給我建議好的選擇。

如果接口團隊可以使用 S3 API 或 CLI 從 S3 獲取對象並放在 SFTP 服務器上,那么通過 IAM 用戶或角色授予他們 S3 訪問權限可能是最簡單的解決方案。 界面團隊可以編寫一個腳本,定期獲取在指定日期后創建的 S3 對象列表,並將它們復制到 SFTP 服務器。

如果他們不能使用 S3 API 或 CLI,您可以使用簽名 URL。 您仍然需要將 S3 object URL 傳達給界面團隊。 隊列將是一個很好的解決方案。 但如果他們可以使用 AWS SQS 客戶端,我認為他們很可能只使用 S3 API 來查找新對象並檢索它們。

我不清楚誰控制 SFTP 服務器,是您的界面團隊還是第 3 方供應商。 如果您可以自己將文件推送到 SFTP 服務器,則可以創建一個運行 Lambda function 的 S3 事件通知,以便每次在 S3 存儲桶中創建新的 object 時將 object 復制到 SFTP 服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM