【问题标题】:rest operations Azure Datalake gen2休息操作 Azure Datalake gen2
【发布时间】:2022-11-14 23:00:39
【问题描述】:
我想在 Azure datalake gen2 中使用休息操作进行操作。我有一个带有客户端密码的服务主体,并且拥有存储帐户的所有者访问权限。
我很困惑如何构建操作请求。我找不到任何合适的例子来证明它。
我想要的方式是:
- 获取访问令牌
- 使用不记名身份验证方法发出 put 请求
以下是我所指的文件
Access token
Put blob operation
我想通过邮递员来做。如果有人可以提出建议,那将非常有帮助
【问题讨论】:
标签:
azure
rest
azure-data-lake
azure-storage-account
【解决方案1】:
我试图在我的环境中重现相同的结果并得到以下结果:
我创建了一个名为DataLake并添加API权限如下:
现在,我授予存储 Blob 数据贡献者在存储帐户级别对该服务主体的角色,如下所示:
转到 Azure 门户 -> 存储帐户 -> 你的存储帐户 -> 访问控制 (IAM) -> 添加角色分配 -> 存储 Blob 数据贡献者
生成访问令牌通过邮递员,我在下面使用参数:
POST https://login.microsoftonline.com/<tenantID>/oauth2/v2.0/token
client_id:<appID>
grant_type:client_credentials
client_secret:<secret>
scope: https://storage.azure.com/.default
回复:
当我通过包含上述不记名令牌运行以下查询时,我得到了Status 201 Created如下所示:
PUT https://<storageaccname>.blob.core.windows.net/<container_name>/test.txt
Authorization:Bearer <token>
x-ms-version:2017-11-09
x-ms-blob-type:BlockBlob
回复:
您需要将文件附加到邮差在运行如下查询之前:
当我在 Azure 门户中检查相同时,文件上传到存储帐户成功地如下所示: