【问题标题】:Use SAS to access files in Azure使用 SAS 访问 Azure 中的文件
【发布时间】:2021-09-07 21:40:47
【问题描述】:

我正在尝试使用如下 URL 从 Python 访问 Azure 中的文件: URL: https://devlifemoorstorage.file.core.windows.net/varamptest?st=2021-06-24T09%3A03%3A48Z&se=2021-08-31T09%3A03%3A00Z&sp=rl&sv=2018-03-28&sr=s&sig=hrBBwAZ8xCy4Nuf7YibsUaQdKwcy3hOoXbUZzRkdyLw%3D 或这样的查询字符串:?st=2021-06-24T09%3A03%3A48Z&se=2021-08-31T09%3A03%3A00Z&sp=rl&sv=2018-03-28&sr=s&sig=hrBBwAZ8xCy4Nuf7YibsUaQdKwcy3hOoXbUZzRkdyLw%我该怎么做?

我尝试按照这个示例进行操作 https://docs.microsoft.com/en-us/azure/storage/files/storage-python-how-to-use-file-storage?tabs=python ,但他们使用了一种名为“连接字符串”的东西,我不确定它的格式。

连接字符串的格式是什么,或者,如何直接使用 SAS URL / 查询字符串访问 Python 中的文件?

【问题讨论】:

  • 请不要将[SAS]标签附加到与SAS软件无关的问题上。
  • 对不起,这是一个错误,但我现在似乎无法更改它。

标签: python azure azure-storage


【解决方案1】:

您可以使用此 SAS URL 创建ShareClient 的实例。您要使用的方法是from_share_url。您的代码如下所示:

share_client = ShareClient.from_share_url(sas_url)

一旦你有了 share_client,你就可以对你的共享执行操作了。考虑到您在 SAS 中只有 readlist 权限,您将只能list files and directories 和读取该共享的共享属性。

使用此share_client,您还可以使用get_file_clientget_directory_client 方法创建FileClientDirectoryClient 的实例,并对文件和目录执行读取和列出操作。

类似:

file_client = share_client.get_file_client('file-name')
...do some operations on file using this file client

【讨论】:

  • 谢谢!如何使用 share_client 下载/读取文件?
  • 您不能使用 share_client 下载文件。您需要使用file_client,然后使用download_file 下载文件。
猜你喜欢
  • 2016-12-10
  • 2018-03-20
  • 2015-10-29
  • 1970-01-01
  • 2018-03-10
  • 2019-10-16
  • 1970-01-01
  • 1970-01-01
  • 2019-06-30
相关资源
最近更新 更多