azure - 通过 Azure CLI 复制容器并等待结果
问题描述
我试图找到一些简单的方法,如何通过 Azure CLI 将容器从一个存储异步复制到另一个存储。azcopy 可以做的事情。我的机器上没有安装 azcopy,但 Azure CLI 是。
问题:我知道我需要一个接一个地复制 blob。如何检查复制操作是否完成?
那种工作,但az storage blob show
一个接一个地调用需要很长时间(分钟)。
$backup = 'somecontainer'
$exists = (az storage container exists --name $backup --account-name an --account-key ak --output tsv) -match 'true'
if (!$exists) {
az storage container create --name $backup --account-name mt --account-key mk
}
$blobs = az storage blob list --container-name $backup --account-name an --account-key ak | ConvertFrom-Json
# copy one by one
$blobs.name | % {
$name = $_
az storage blob copy start --destination-blob $name --destination-container $backup --source-blob $name --source-container $backup --account-name mt --account-key mk --source-account-name an --source-account-key ak
}
# check operation status
$results = $blobs.name | % {
az storage blob show --container-name $backup --name $_ --account-name mt --account-key mk | ConvertFrom-Json
}
# still unfinished copy opearations:
$results | ? { !($_.properties.copy.completiontime) } | % { $_.name }
解决方案
@stej 正如@GeorgeChen 提到的,您可以使用以下内容:
az storage blob copy start-batch --account-key 00000000 --account-name MyAccount --destination-container MyDestinationContainer --source-account-key MySourceKey --source-account-name MySourceAccount --source-container MySourceContainer
这是文档链接:
推荐阅读
- next.js - NextJS 无法与样式化组件一起正常工作
- react-hooks - 在材料表中的自定义编辑组件中设置值
- powershell - Powershell转义单引号
- c# - 如何自动在标签中放入 UIElement 的名称
- python - 展平 Pandas DataFrame 列
- python - read_excel 缺少列
- angular - “AppComponent”类型上不存在属性“isSideBarOpen”
- java - HV000030:找不到约束“javax.validation.constraints.Pattern”验证类型“java.util.Date”的验证器
- javascript - 将活动类添加到幻灯片 javascript
- postgresql - 从另一个过程调用一个过程时:错误:过程参数“...”是一个输出参数,但对应的参数不可写