Filewatcher仅检测完全上传并准备复制的文件

问题描述

我想使用Powershell filewatcher监视azure文件共享,以锁定当前正在上传文件,直到完成上传。我还有另一个功能,可以将上传文件复制到其他文件共享,并且我不希望复制文件功能文件完全成功上传之前复制文件。这有可能吗?有人建议获取租赁文件。有没有人在Powershell中提供有关如何执行此操作的示例。

解决方法

您可以使用 Get-AzStorageFileHandle

Get-AzStorageFileHandle
   [-ShareName] <String>
   [[-Path] <String>]
   [-Recursive]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-ConcurrentTaskCount <Int32>]
   [-IncludeTotalCount]
   [-Skip <UInt64>]
   [-First <UInt64>]
   [<CommonParameters>]

示例代码段:

$storagecontext = New-AzStorageContext -StorageAccountName "<STORAGEACCOUNT NAME>" -StorageAccountKey "<KEY>"
Get-AzStorageFileHandle "<FILESHARENAME>" -Context $storagecontext -Recursive 

示例输出:

enter image description here

当我运行命令时,我正在复制search.py​​命令

如果您看到一个特定的目录,在上面的命令行开关中会出现,您可以放心地假设该目录中正在发生操作,并且可以跳过该目录。