如何通过Postman使用REST操作Azure Data Lake Gen2?
Postman下用服务主体通过REST管理Azure Data Lake Gen2的实现步骤
1. 获取访问令牌(Access Token)
- 打开Postman,新建POST请求,填入Azure AD令牌端点:
https://login.microsoftonline.com/{租户ID}/oauth2/v2.0/token(把{租户ID}换成你的Azure租户ID) - 切换到Body标签,选择
form-data格式,添加以下参数:grant_type:固定填client_credentialsclient_id:你的服务主体客户端IDclient_secret:你的服务主体客户端密钥scope:固定填https://storage.azure.com/.default
- 点击Send,从响应的JSON里提取
access_token字段,建议把它存到Postman环境变量里(比如命名为storage_access_token),方便后续调用。
2. 发起PUT请求(上传文件/创建目录)
上传文件(Put Blob)
- 新建PUT请求,URL格式:
https://{存储账户名}.dfs.core.windows.net/{文件系统名}/{目标文件路径}?resource=file(替换占位符为实际值,比如mystorage.dfs.core.windows.net/mycontainer/test.txt?resource=file) - 切换到Headers标签,添加以下键值对:
Authorization:填Bearer {{storage_access_token}}(直接引用之前保存的环境变量)x-ms-version:填2021-06-08(或其他兼容的最新存储服务版本)x-ms-date:用Postman动态变量{{$isoTimestamp}}自动生成符合要求的时间戳Content-Type:根据文件类型填写,比如文本文件填text/plain,二进制文件填application/octet-stream
- 上传内容:如果是文本,在Body选
raw输入内容;如果是本地文件,选binary然后选择文件。 - 点击Send,收到
201 Created响应就说明上传成功。
创建目录
- 新建PUT请求,URL格式:
https://{存储账户名}.dfs.core.windows.net/{文件系统名}/{目标目录路径}?resource=directory - Headers和上传文件类似,但不需要
Content-Type和Content-Length参数 - 点击Send,收到
201 Created即为创建成功。
注意事项
- 确保服务主体拥有目标存储账户的Storage Blob Data Contributor及以上权限(你的所有者权限完全满足,不过建议遵循最小权限原则)
- 租户ID必须和存储账户所属的Azure租户一致
scope参数必须严格填https://storage.azure.com/.default,否则令牌无法用于存储服务的REST授权- 如果操作大文件,建议开启Postman的分块上传功能,避免超时
内容的提问来源于stack exchange,提问作者Ag863
相关产品推荐
相关产品推荐

