python - Azure Data Lake - 使用可用的凭据密钥生成*连接字符串*
问题描述
我正在尝试使用我的个人帐户使用connection_string连接到 Azure 数据湖存储。使用它,我可以建立连接并使用 blob。
现在,我收到了以下 4 个键,想看看是否有我们可以 使用 python从中生成connection_string的函数?
我知道,我可以使用密钥并使用它。但想探索是否有此选项可用。
Python代码:
from azure.storage.filedatalake import DataLakeServiceClient
from azure.identity import ClientSecretCredential
TENANT_ID = 'XXX'
CLIENT_ID = 'XXX'
CLIENT_SECRET = 'XXX'
STORAGE_ACCOUNT_NAME = 'XXX'
credential = ClientSecretCredential(TENANT_ID, CLIENT_ID, CLIENT_SECRET)
service_client = DataLakeServiceClient(account_url="{}://{}.dfs.core.windows.net".format(
"https", STORAGE_ACCOUNT_NAME), credential=credential)
解决方案
你不能。
connection string
和service principal
(你提到的 / 键)CLIENT_ID
是CLIENT_SECRET
不同的授权解决方案,你不能将一个转换为另一个。
顺便说一句,要对客户端进行身份验证,您有几个选项,并且不能混合使用:
1.使用SAS令牌字符串
2.使用帐户共享访问密钥
3.使用来自的令牌凭证azure.identity
(如使用服务主体)
4.连接字符串
推荐阅读
- python - KivyMD:无法绑定函数
- python - 将dict的内容输出为指定的文本格式
- php - wp中从标题拖动到页面其余部分的细水平线
- opencv - OpenCV 透视变换(无标记 AR)
- entity - 实体类型 [实体名称] 没有“revision_created”实体修订元数据键
- python - 在测试将文本文件作为输入的功能时,如何为测试用例传入字符串?
- c - 如何打印数组中的所有单词并将它们拆分到同一个函数中
- javascript - 角度量角器在包含 Chart.js 的页面上测试超时
- character - 如果二进制数字字符代码点值与数字字符不同,计算机内部如何进行数学运算
- vue.js - Vue检测点击其他组件