如何通过出站代理连接或获取到blob存储的连接


curl -v -X GET 'https://outboundproxy.xx.net:8443/<Container_name>/<SAS>Token' -H 
'Host: Azurestorage.blob.core.windows.net' -H "Rest of the curl 
headers"

我们有一个出站代理到位,所有的外部连接必须通过'https://outboundproxy.xx.net:8443'。因此,在上面的curl命令中,我使用了host header来传递实际的存储帐户基url。

现在,我想使用python Azure blob SDK模块复制它,但我不确定如何构建帐户url参数。任何指针或提示都会有帮助

现在,我想使用python Azure blob SDK模块复制它,但我不确定如何构建帐户url参数。任何指针或提示都会有帮助

根据jalauzon和Jagadishbobadeg之间的讨论,添加gist作为社区wiki,以帮助可能面临类似问题的社区成员。

  • 当尝试在连接字符串中添加SAS令牌时,使用SharedAccessSignature
  • 在URL中不使用容器名,只使用根端点URL。
from azure.storage.blob import BlobServiceClient
conn = 'DefaultEndpointsProtocol=https;BlobEndpoint=https://********.net:8443/;AccountName=<StorageName only>;SharedAccessSignature=sp=rl&st=2022-04-08T11:54:32Z&se=2022-05-08T19:54:32Z&spr=https&sv=2020-08-04&sr=c&sig=*****************************'
blob_service_client = BlobServiceClient.from_connection_string(conn)
headers = {'Host': '************************.blob.core.windows.net'}
container_client = blob_service_client.get_container_client(<Container_Name>)
containers = container_client.list_blobs(headers=headers)

Reference:通过出站反向代理设置获取到Blob存储的连接

最新更新