首页 > 解决方案 > 在 Azure 服务器中执行存储过程

问题描述

如何在 Azure 服务器中执行示例存储过程。

我正在使用 cosmos db 模拟器,每当我尝试执行示例 sp 时,我都会收到此错误

源自脚本的请求不能引用除客户端请求提交的分区键之外的分区键。

存储过程

function createToDoItem(itemToCreate) {
    var context = getContext();
    var container = context.getCollection();
    console.log("success");
    var itemToCreate={
        "Id": null,
        "UserAccountID": "1742",
        "FirstName": "Sanjeev",
        "LastName": "S",
        "Phone": "12345678",
        "Location": "",
        "StreetAddress": "vcbgvbvc",
       };

itemToCreate.partitionKey = "UserAccountID";

    var accepted = container.createDocument(container.getSelfLink(),
        itemToCreate,
        function (err, itemCreated) {
            if (err) throw new Error('Error test' + err.message);
            context.getResponse().setBody(itemCreated.id)
        });
    if (!accepted) return;
}

示例存储过程也无法获得所需的结果。在这里链接问题

标签: azurestored-proceduresazure-cosmosdb

解决方案


Sanjeev S,基于问题消息:

源自脚本的请求不能引用除客户端请求提交的分区键之外的分区键。

它声称您文档中的分区键需要与您的集合的分区键设置相匹配。

例如,您的集合的分区键是/name,

在此处输入图像描述

然后,您需要在插入的文档中排除 name 属性,并在执行 SP 时提供这样的分区键。

在此处输入图像描述

输出:

在此处输入图像描述


推荐阅读