天天看點

【Azure Developer】在Azure Storage Account的兩個Blob可以同步嗎?可以跨訂閱拷貝嗎?

問題描述

不同訂閱下的Azure Storage Account中Blob資源可以同步嗎?

解決方案

可以。通過Azure 官方推薦的Storage Account工具來完成 Copy/Paste 操作。操作步驟如下圖:

【Azure Developer】在Azure Storage Account的兩個Blob可以同步嗎?可以跨訂閱拷貝嗎?

詳細檢視Stroage Explorer輸出的日志,使用的正是AzCopy指令。 指令的格式為:

./azcopy.exe copy 
"https://blob1.blob.core.windows.net/casebotwebapilogs/casebotwebapi/*?sv=2018-03-28&ss=b&srt=co&sp=rl&se=2020-12-17T07%3A44%3A43Z&sig=xxxxxxxxxxxxxx" 
"https://blob2.blob.core.chinacloudapi.cn/test123/casebotwebapi?se=2021-01-09T07%3A45%3A46Z&sp=rwl&sv=2018-03-28&sr=c&sig=xxxxxxxxxxxxxxxxxx" 
--overwrite=prompt --blob-type Detect --s2s-preserve-access-tier=false --recursive;      

在檢視azcopy copy的說明,支援以下源與目标之間的拷貝情況:

Copies source data to a destination location. The supported directions are:
  • local <-> Azure Blob (SAS or OAuth authentication)
  • local <-> Azure Files (Share/directory SAS authentication)
  • local <-> Azure Data Lake Storage Gen 2 (SAS, OAuth, or shared key authentication)
  • Azure Blob (SAS or public) -> Azure Blob (SAS or OAuth authentication)
  • Azure Blob (SAS or public) -> Azure Files (SAS)
  • Azure Files (SAS) -> Azure Files (SAS)
  • Azure Files (SAS) -> Azure Blob (SAS or OAuth authentication)
  • Amazon Web Services (AWS) S3 (Access Key) -> Azure Block Blob (SAS or OAuth authentication)

當然也可以使用對應語言的SDK,編寫代碼對Blob進行操作。可以參考Azure Blob的官方原子示例:https://docs.azure.cn/zh-cn/storage/common/storage-samples-dotnet?toc=/storage/blobs/toc.json

當在複雜的環境中面臨問題,格物之道需:濁而靜之徐清,安以動之徐生。 雲中,恰是如此!

繼續閱讀