我为特定文件共享(在存储帐户中)创建了一个 SAS url,它允许将目录/文件复制到该文件共享而不是整个存储帐户,即假设我在存储帐户中有 2 个文件共享(A,B) ,如果令牌用于文件共享 (A),则此 URL 将只允许我读取、写入、删除、列出文件共享 (A) 中的文件/目录。
The url response is https://<storageAccountName>.file.core.windows.net/<fileshareName>?<SAS Token>
现在,从上面的 url 我可以使用 azcopy 命令行执行复制/删除操作(或根据生成上述 url 时指定的权限):
./azcopy copy "./azcopy_v10.tar.gz" "https://<storageAcccountName>.file.core.windows.net/<fileShareName>?<SAS Token>" --recursive=true
我们可以从 azure 上的文件共享 sdk 做类似的事情吗 - 以编程方式使用 Python(其他语言也可以)。? 我在很多地方都看到了文件上传的参考,但是与 azcopy 不同的是,我们也可以上传目录,但缺少目录。
from azure.storage.fileshare import ShareClient #this doesn't contain upload_directory as a whole(or maybe I have missed :/ )
share_client = ShareClient.from_share_url(r'https://<storageAccountName>.file.core.windows.net/<fileShareName?<SAS>') #establishing connection
#... Now if I can upload folder using share_client it would help
# Example: share_client.folder_upload(folder_to_upload,"location_within_file_share") ?? - imaginary
有人可以帮忙吗?