AzureBlob 文件复制 - 清理 $web
AzureBlob File Copy - clean up $web
我为我的 Angular 8 应用程序配置了一个 Azure Release Pipeline,它将编译后的应用程序数据复制到 Azure Blob 存储帐户中的 $web。
它会覆盖现有文件,这很好。
但一些由 Angular 编译器创建的编译文件在每次编译时都有不同的名称。
这导致 $web.
中过时文件的数量不断增加
AzureBlob 文件复制任务不提供最初 clear/clean 启动 $web 的选项。
如何实现 $web 的初始清理?
您可以使用 Azure CLI 任务调用 az cli commands
az storage blob delete-batch 以在 运行 Azure File Copy task
之前清理容器 $web
。示例代码如下:
az storage blob delete-batch -s mycontainer --account-name mystorageaccount --account-key mystorageaccountkey
Azure DevOps 管道任务在识别名为“$Web”的容器时出现问题,该容器是在 Azure 存储中创建静态网站时默认创建的。
我使用了 Azure CLI 任务并编写了以下 powershell 脚本来实现此目的:
$connectionContext = (Get-AzStorageAccount -ResourceGroupName <Your resource group name> -AccountName <Your storage account name>).Context
$Container = Get-AzStorageContainer -Context $connectionContext -Name '$web'
write-host clearing files in container $Container.Name
Get-AzStorageBlob -Container $Container.Name -Context $connectionContext | ForEach-Object {
write-host removing $_.Name
$_ | Remove-AzStorageBlob
}
如果您使用带有 powershell 内联脚本的基于 Windows 的代理,请将双引号更改为单引号。
az storage blob delete-batch --account-name <account_name> --source '$web'
我为我的 Angular 8 应用程序配置了一个 Azure Release Pipeline,它将编译后的应用程序数据复制到 Azure Blob 存储帐户中的 $web。 它会覆盖现有文件,这很好。 但一些由 Angular 编译器创建的编译文件在每次编译时都有不同的名称。 这导致 $web.
中过时文件的数量不断增加AzureBlob 文件复制任务不提供最初 clear/clean 启动 $web 的选项。
如何实现 $web 的初始清理?
您可以使用 Azure CLI 任务调用 az cli commands
az storage blob delete-batch 以在 运行 Azure File Copy task
之前清理容器 $web
。示例代码如下:
az storage blob delete-batch -s mycontainer --account-name mystorageaccount --account-key mystorageaccountkey
Azure DevOps 管道任务在识别名为“$Web”的容器时出现问题,该容器是在 Azure 存储中创建静态网站时默认创建的。
我使用了 Azure CLI 任务并编写了以下 powershell 脚本来实现此目的:
$connectionContext = (Get-AzStorageAccount -ResourceGroupName <Your resource group name> -AccountName <Your storage account name>).Context
$Container = Get-AzStorageContainer -Context $connectionContext -Name '$web'
write-host clearing files in container $Container.Name
Get-AzStorageBlob -Container $Container.Name -Context $connectionContext | ForEach-Object {
write-host removing $_.Name
$_ | Remove-AzStorageBlob
}
如果您使用带有 powershell 内联脚本的基于 Windows 的代理,请将双引号更改为单引号。
az storage blob delete-batch --account-name <account_name> --source '$web'