You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Postman中生成适用于Service Bus的SAS令牌

Postman生成Service Bus可用SAS令牌教程

官方基础实现逻辑(Node.js版本)

function createSharedAccessToken(uri, saName, saKey) { 
if (!uri || !saName || !saKey) { 
        throw "Missing required parameter"; 
    } 
var encoded = encodeURIComponent(uri); 
var now = new Date(); 
var week = 60*60*24*7;
var ttl = Math.round(now.getTime() / 1000) + week;
var signature = encoded + '\n' + ttl; 
var signatureUTF8 = utf8.encode(signature); 
var hash = crypto.createHmac('sha256', saKey).update(signatureUTF8).digest('base64'); 
return 'SharedAccessSignature sr=' + encoded + '&sig=' +  
    encodeURIComponent(hash) + '&se=' + ttl + '&skn=' + saName; 
 }

Postman预请求脚本可直接运行版本

实测以下代码可以直接放到Postman的预请求脚本(Pre-request Script) 中运行,生成的SAS令牌可正常用于Service Bus请求。

使用前置条件

提前在Postman集合变量中配置3个参数:

  • serviceNamespace:Service Bus的命名空间
  • SharedAccessKeyName:共享访问密钥的名称
  • SharedAccessKeySend:对应发送权限的共享访问密钥值

脚本运行后会自动将生成的SAS令牌存入集合变量SasToken,后续请求可以直接引用该变量。

注意:代码中adfTest为示例队列/主题名称,可根据自己的实际资源路径修改。

var namespace = pm.collectionVariables.get("serviceNamespace");
var uri = "https://" + namespace + ".servicebus.windows.net/adfTest/messages";
var saName = pm.collectionVariables.get("SharedAccessKeyName");
var saKey = pm.collectionVariables.get("SharedAccessKeySend");

var sasToken = createSharedAccessToken(uri, saName, saKey);

console.log(sasToken);
pm.collectionVariables.set("SasToken", sasToken);

function createSharedAccessToken(uri, saName, saKey) { 
    if (!uri || !saName || !saKey) { 
            throw "Missing required parameter"; 
        } 
    var encoded = encodeURIComponent(uri).toLowerCase(); 
    var now = new Date(); 
    var week = 60*60*24*7;
    var ttl = Math.round(now.getTime() / 1000) + week;
    var signature = encoded + '\n' + ttl;     
    var hash = CryptoJS.HmacSHA256(signature, saKey);
    var hashInBase64 = CryptoJS.enc.Base64.stringify(hash);
    return 'SharedAccessSignature sr=' + encoded + '&sig=' +  
        encodeURIComponent(hashInBase64) + '&se=' + ttl + '&skn=' + saName; 
}

内容的提问来源于stack exchange,提问作者Cristina Carrasco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:54:03