NodeJS 从Azure表存储检索实体时发生NotImplemented错误

neekobn8  于 2023-05-28  发布在  Node.js
关注(0)|答案(1)|浏览(168)

我正在使用来自nodejs项目的 *Azure表存储 *,并通过@azure/data-tables模块与服务交互。
我可以向表中写入数据,但无法从表中检索或更新任何数据,除了createEntity之外的所有函数都将失败,并执行RestError

{
    "odata.error": {
        "code": "NotImplemented",
        "message": {
            "lang": "en-US",
            "value": "The requested operation is not implemented on the specified resource."
        }
    }
}

这是我正在运行的

const tableClient = new TableClient(endpoint, 'tableName', credential);
 
let data = {
  rowKey: 'r1',
  partitionKey: 'p1',
  name: 'Bob'
}

await tableClient.createEntity(data)
let result = await tableClient.getEntity("p1", "r1")

我已确认权限,并且能够从等效的PowerShell模块更新/删除/检索实体

qoefvg9y

qoefvg9y1#

我引用了MSDOC和git@kazrael2119来创建Azure表。

  • 创建存储帐户时,请确保启用“所有服务类型”。

const  {  TableClient,  AzureNamedKeyCredential  } = require("@azure/data-tables");
async  function  interactWithTableStorage()  {

const  accountName = "account name";

const  accountKey = "Accesskeys";

const  endpoint = `https://${accountName}.table.core.windows.net`;

const  tableName = "tablename";

const  credential = new  AzureNamedKeyCredential(accountName,  accountKey);

const  tableClient = new  TableClient(endpoint,  tableName,  credential);

const  entityData = {
partitionKey:  "p1",
rowKey:  "r1",
name:  "Bob"
};

try  {

await  tableClient.createEntity(entityData);
console.log("Entity created successfully!");

const  result = await  tableClient.getEntity("p1",  "r1");
console.log("Retrieved entity:",  result);

}  
catch (error)
 {
console.error("Error interacting with Azure Table Storage:",  error);
}
}
interactWithTableStorage();

检索实体输出:

注:

如果实体已经存在,如下图所示,请创建新实体。

相关问题