如果源文件较旧,则 AzCopy 忽略

问题描述

是否有处理下一种情况的选项: 我在其中实现了一个管道和复制文件任务,它用于将一些静态 html 文件从 git 上传到 blob。一切都很完美。但有时我需要在 blob 存储中更改此文件(使用托管应用程序工具)。所以,问题是:我是否可以“检测”我的 git 文件是否比目标 blob 文件旧,并忽略此文件以进行复制任务以保持原样。我最初的想法是使用 Azure 文件副本并使用“可选参数”文本框。但是,我在文档中找不到所需的选项。它允许这样的事情吗?还是应该以其他方式处理此案?

解决方法

我认为您正在寻找 isSourceNewer 选项的 --overwrite 值。

--overwrite string 如果此标志设置为 true,则覆盖目标处的冲突文件和 blob。 (默认 true)可能的值包括 truefalsepromptifSourceNewer

更多信息:azcopy copy - Options

,

同意ickvdbosch。 isSourceNewer 选项的 --overwrite 值可以满足您的要求。

错误:无法将“ifSourceNewer”解析为“OverwriteOption”

根据我的测试,我可以在 Azure 文件复制任务中重现此问题。

enter image description here

似乎无法在 Azure 文件复制任务中将 isSourceNewer 值设置为 Overwrite 选项。

解决方法:您可以使用 PowerShell 任务运行 azcopy 脚本以使用 --overwrite=ifSourceNewer

上传文件

例如:

azcopy copy "filepath" "BlobURLwithSASToken" --overwrite=ifSourceNewer --recursive

更多详细信息,您可以参考this doc

关于Azure文件复制任务的问题,建议您可以通过以下链接提交反馈票:Report task issues