azure - 使用特定条件重命名 azure blob
问题描述
我有一个带有测试容器的存储帐户,这个容器包含 24 个文件夹,每个文件夹都包含n
一些 blob。我想要的是将图 1 中的所有文件夹和子 blob 重命名为与图 2 中的完全相同。
我用过这个重命名脚本: 如何使用 powershell 重命名 blob 文件
但是上面的脚本对一两个 blob 很有用,而且这个脚本不会重命名文件夹(这可以通过将 blob 复制到新位置来解决),在我的例子中,我有n
blob,我试图用它来解决:
$textinfo = (Get-Culture).TextInfo
$text2=($textinfo.ToTitleCase($text)).Split(" ")
但这也无济于事,因为它将exchangerate重命名为Exchangerate而不是ExchangeRate(这是真正的要求)。我想到了这个:
foreach($file in $text)
{
Get-AzStorageBlob -Container 'test' -Context $storageContext -Blob $text|
Rename-AzStorageBlob -NewName ''
}
但是然后新名称(参数)我无法使其动态化。如何解决这个问题?
解决方案
如果要将 blob 从 重命名exchangerate
为ExchangeRate
,则没有自动方法。
为此,正如 Martin 所提到的,您最好有一个映射,您可以在其中查找exchangerate
-> ExchangeRate
(并且对于所有其他名称包含多个单词)。
否则,您的代码不知道新 blob 名称中的字母是否应为大写。
推荐阅读
- java - Spring Boot 无法自动装配
- scala - 写入时 Spark Merge 模式 - 出现错误:“现有表的列号与数据不匹配
- python-3.x - 将 tkinter 按钮排成一行
- flutter - 后端(JVM)内部错误:编译flutter时生成错误的字节码
- java - 存在主键唯一约束时Postgres表ID重复
- python - 使用 cv2 和鼠标回调避免递归错误
- javascript - 在 node-fetch 中设置引用者
- r - 如何将“1,345.89”更改为数字?
- ios - OpenUrl返回false并且在xamarin ios中超过5次后不起作用
- java - 使用数组覆盖文件中的数据