Azure Storage系列之使用AzCopy遷移S3數(shù)

AzCopy兩個實際的使用場景,可以說對于azure blob的操作絕對是相當(dāng)簡便的,但是現(xiàn)在AzCopy已經(jīng)不僅僅局限于Azure的操作了,我們還可以用AzCopy把S3的數(shù)據(jù)遷移過來,這對于像AWS遷移Azure的項目來說絕對是個相當(dāng)好用的工具,不過目前這個功能還只是preview版本,要注意驗證下遷移的結(jié)果再刪除源端的數(shù)據(jù)具體的使用方法和blob之間拷貝數(shù)據(jù)稍有不同,主要在于身份驗證的方式有所區(qū)別若要使用 Azure 存儲授權(quán),請使用 Azure Active Directory (AD)或共享訪問簽名(SAS)令牌。
?
若要使用?AWS S3 進(jìn)行授權(quán),請使用 AWS 訪問密鑰和密鑰訪問密鑰所以S3進(jìn)行授權(quán)的時候是直接用AK/SK做授權(quán)的AWS AK/SK的創(chuàng)建方式這里就不詳細(xì)說了,直接來看下怎么設(shè)置AK/SK來讓azcopy能識別到AzCopy其實是會直接讀取環(huán)境變量里兩個固定的名稱的,分別是AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
?
以PowerShell環(huán)境舉例,我們可以用以下方法設(shè)置環(huán)境變量$en
?
$en
?
將xxx替換為實際的值即可,這種方法設(shè)置的環(huán)境變量都只是臨時變量,關(guān)閉PowerShell會話就會消失,這也是比較符合實際情況的,這種非常敏感的信息當(dāng)然也不適合長時間保存我們可以使用azcopy env來驗證下是否可以正確讀取到環(huán)境變量只要這里能讀取出來數(shù)值,就代表環(huán)境變量的設(shè)置沒有問題了目標(biāo)端Azure我們就直接使用Azure AD驗證了,具體的操作步驟就不多說了下邊來看下如何進(jìn)行S3的遷移,AzCopy可以支持很多種S3對象,包括以下等對象目錄
?
bucket
?
多個bucket
?
語法基本是差不多的,主要來看下對象和目錄的遷移對象遷移Azcopy copy 'https://xxx.s3.cn-north-1.amazonaws.com.cn/CBB_EC2AMAZ-R566F8E/CBB_Cloud/obs2s3000001/haozip_v5.9.8.exe' 'haozip_froms3.exe'
?
這里如果出現(xiàn)下邊的報錯,就證明是環(huán)境變量的設(shè)置有問題正常輸出的結(jié)果如下:
?
在blob里馬上就可以看到數(shù)據(jù)了
?
整體語法和blob之間進(jìn)行操作還是很一致的目錄遷移目錄的遷移和blob遷移目錄基本也是一樣的,只需要加一個額外的參數(shù)即可Azcopy copy 'https://xxx.s3.cn-north-1.amazonaws.com.cn/CBB_EC2AMAZ-R566F8E/CBB_Cloud/obs2s3000001/15090887278028_sow.exe%24' 'https://xxx.blob.core.chinacloudapi.cn/aws/' --recursive=true可以看到整個目錄都遷過來了!
?
依次類推,還可以遷移整個bucket,這對于遷移來說就太方便了
了解更多網(wǎng)絡(luò)知識關(guān)注:http://www.vecloud.com/