【发布时间】:2022-01-24 05:16:41
【问题描述】:
我已经使用 ClientSecretCredential 访问了 Azure 存储队列方法,但在访问时 队列 receiveMessages、队列 peekMessages 和 deleteMessages 它给了我错误
RestError:此请求无权使用此权限执行此操作。 RequestId:c92577923e-a603-0004-61c0-f70a19000
这是我的节点 js 代码
const { QueueServiceClient } = require("@azure/storage-queue");
const { ClientSecretCredential } = require("@azure/identity");
async function getQueueMessages() {
try {
let myStorageAccount = "hellostorage";
const credential = new ClientSecretCredential(tenantId, app_id, SecretKey);
const queueServiceClient = new QueueServiceClient(
`https://${myStorageAccount}.queue.core.windows.net`,
credential
);
const queueName = "hello-queue";
const queueClient = queueServiceClient.getQueueClient(queueName);
const response = await queueClient.receiveMessages(10);
console.log("response: ", response);
} catch (error) {
console.log("error: ", error);
}
}
getQueueMessages();
【问题讨论】:
-
这可能是因为分配给您的服务主体的权限。请编辑您的问题并包含您分配给服务主体的权限。
-
@GauravMantri 请看上图
-
在您的许可下我可以知道您是否添加了此角色
Storage Queue Data Message Processor用于授予对 Azure 存储队列中消息的查看、检索和删除权限。
标签: node.js azure azure-storage-queues azure-identity