[英]Is Sync in Amazon S3 PHP SDK/API really a sync operation?
Amazon php sdk( http://docs.aws.amazon.com/aws-sdk-php/v3/guide/service/s3-transfer.html )同步操作是使用上述鏈接方法執行的。 我已經成功地對其進行了編碼和配置,但是在每次調用該方法時,由於未在本地將文件修改為上一個同步調用,因此存儲桶下文件的最后修改日期將更新為最新時間。
我想知道它到底是同步操作還是只是覆蓋從本地目錄發送的任何內容的操作?
這很重要的原因是我們計划在服務器和S3存儲桶之間同步文件演出。 使用S3存儲桶作為備份存儲,萬一發生任何中斷,我們可以以相反的方式進行同步(S3存儲桶->服務器),以使丟失的數據在我們的服務器中可用。
筆記:
不幸的是,我相信答案是否定的,使用Transfer
類時,我還能看到每個文件的完整上傳。
從v2
API文檔開始 ,它可以正常工作:
客戶端的
uploadDirectory()
方法將本地目錄的內容與Amazon S3存儲桶中的內容進行比較,並且僅傳輸已更改的文件。
完美,這就是我們想要的!
但是,在v3
,我保留了S3Client::uploadDirectory()
以實現API兼容性,但這只是 Transfer::promise()
的包裝 ,我們知道它只是上傳而沒有任何同步。 保持API兼容性但改變這種行為對我來說似乎不是一個好主意 。
我最終不得不為我的項目添加支持,以使用AWS CLI工具進行實際上傳,該工具確實完美支持同步。 遠非理想。
如果有一種方法可以使用Transfer
類輕松同步而不是完全上傳,則希望有人能證明我錯了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.