Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript Azure函数将实体添加到Azure Cosmos表_Azure_Azure Functions_Azure Cosmosdb - Fatal编程技术网

使用Javascript Azure函数将实体添加到Azure Cosmos表

使用Javascript Azure函数将实体添加到Azure Cosmos表,azure,azure-functions,azure-cosmosdb,Azure,Azure Functions,Azure Cosmosdb,在Azure中,我有一个javascript HTTPTrigger函数应用程序,具有: const azure = require('azure-storage') const tableSvc = azure.createTableService( process.env.COSMOS_TABLE_ACCOUNT, process.env.COSMOS_TABLE_KEY, process.env.COSMOS_TABLE_ENDPOINT ) const entGe

在Azure中,我有一个javascript HTTPTrigger函数应用程序,具有:

const azure = require('azure-storage')
const tableSvc = azure.createTableService(
    process.env.COSMOS_TABLE_ACCOUNT,
    process.env.COSMOS_TABLE_KEY,
    process.env.COSMOS_TABLE_ENDPOINT
)
const entGen = azure.TableUtilities.entityGenerator
const testData = {
    PartitionKey: entGen.String('test'),
    RowKey: entGen.String(1),
    name: entGen.String('It works!')
}

const insertTestData = () => new Promise((resolve, reject) => {
    tableSvc.insertEntity('tests', testData, (error, res) => {
        if (error) return reject(error)
        resolve(res)
    })
})
...
我已经确认环境变量都已设置,并使用Azure Cosmos DB->Cosmos Table Instance->Connection String中的值填充

我也尝试过与以下方面联系:

const tableSvc = azure.createTableService(
    process.env.COSMOS_TABLE_CONNECTION_STRING
)
调用
insertTestData()
时,我从带有空对象的
.insertEntity
回调返回一个错误:
{}
。没有实体被添加到我的
测试
表中,这已由数据浏览器确认


您知道如何执行此操作或在我的调试器中获取更多信息吗?我有一个Insight监视器连接到进程,但它报告成功完成。

我注意到您正在为
行键
属性传递一个数值

RowKey: entGen.String(1)
当我使用代码时,它对此表示不满

当我将代码更改为:

RowKey: entGen.String('1')
我能够插入实体

以下是我的完整代码:

const azure = require('azure-storage')

const tableSvc = azure.createTableService(
    'account-name',
    'account-key',
    'https://account-name.table.core.windows.net'
)
const entGen = azure.TableUtilities.entityGenerator
const testData = {
    PartitionKey: entGen.String('test'),
    RowKey: entGen.String('1'),
    name: entGen.String('It works!')
}

console.log(testData);

const insertTestData = () => new Promise((resolve, reject) => {
    tableSvc.insertEntity('test', testData, (error, res) => {
        if (error) return reject(error)
        resolve(res)
    })
})

console.log('----------------');

insertTestData()
.then((result) => {
  console.log('result');
  console.log(result);
})
.catch((error) => {
  console.log('error');
  console.log(error);
})

我使用了
azure存储
NPM包(版本2.10.2)。

。那些围绕数字的引号做到了这一点。你知道,我昨晚考虑过这个问题,但我当时在看它时认为
.String()
方法将转换为字符串。