Azure

在 Azure 儲存 blob 容器之間保持增量同步

  • November 11, 2019

我有三個不同的 Azure 儲存 blob 容器,它們用於提供網站內容,一個用於生產,一個用於暫存,一個用於開發。

我的目標是每天或每周同步登台和開發,以便它們與生產相匹配。

我在 PowerShell 中整理了一些原則上可以工作的東西,但它又慢又笨重。它涉及刪除 staging 和 dev 容器,然後將整個生產容器複製兩次。對於僅 2 萬件商品,整個過程需要一個多小時。

考慮到一周內可能只有幾百個項目發生變化,增量操作可能會更快完成。

有沒有人見過可以在 Azure 儲存 blob 容器之間進行增量複製的工具或方法?我可能最終會編寫自己的工具,但想看看目前是否有任何工具。

我今天重新訪問了 AzCopy 工具,發現它已經走了很長一段路,並且完美地達到了這個目的。標誌是 AzCopy Sync,還有許多控制選項,例如刪除目標上不存在的目標文件。

可能是由於 Azure 架構或基礎設施的改進,這種傳輸速度也非常快。它在不到 60 秒的時間內完成了 10GB 的初始同步。以前,這需要一個小時或更長時間。

不幸的是,沒有一個好的方法可以做到這一點。正如您已經看到的,像 AZCopy 這樣的工具會為您移動文件,但它們不會進行增量複製或同步。

您可以在 PowerShell 中自己執行一些操作,通過 blob 執行並檢查它們是否存在於目標中,然後比較修改後的日期或文件雜湊之類的內容,但不幸的是,我無法想像這會特別快。

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