Azure CosmosDB只读密钥引发授权错误

Azure CosmosDB只读密钥引发授权错误,azure,stored-procedures,azure-cosmosdb,Azure,Stored Procedures,Azure Cosmosdb,我已尝试使用主键和主键只读键读取CosmosDb集合中的文档 DocumentClient _documentRUClient = new DocumentClient(new Uri(EndPointURI), PrimaryKey); DocumentClient _documentRClient = new DocumentClient(new Uri(EndPointURI),

我已尝试使用
主键
主键只读键
读取
CosmosDb集合
中的文档

    DocumentClient _documentRUClient = new DocumentClient(new Uri(EndPointURI), PrimaryKey);
    DocumentClient _documentRClient = new DocumentClient(new Uri(EndPointURI), 
                                                          ReadOnly_PrimaryKey);

    var result = _documentRUClient.CreateDocumentQuery<T>
                (UriFactory.CreateDocumentCollectionUri(DataBaseId, CollectionId), 
                new FeedOptions() { EnableCrossPartitionQuery = true}).AsEnumerable().ToList();

    var result2 = _documentRClient.CreateDocumentQuery<T>
                (UriFactory.CreateDocumentCollectionUri(DataBaseId, CollectionId), 
                new FeedOptions() { EnableCrossPartitionQuery = true}).AsEnumerable().ToList();
DocumentClient\u documentRUClient=newdocumentclient(newuri(EndPointURI),PrimaryKey);
DocumentClient _DocumentClient=新的DocumentClient(新Uri(EndPointURI),
只读(主密钥);
var result=\u documentRUClient.CreateDocumentQuery
(UriFactory.CreateDocumentCollectionUri(数据库ID,CollectionId),
新的FeedOptions(){EnableCrossPartitionQuery=true});
var result2=\u documentclient.CreateDocumentQuery
(UriFactory.CreateDocumentCollectionUri(数据库ID,CollectionId),
新的FeedOptions(){EnableCrossPartitionQuery=true});
DocumentClient
使用
主键
从Cosmos数据库集合中检索文档,没有任何问题。但是使用
主只读键的程序会抛出以下错误

输入授权令牌无法为请求提供服务。请查收 确保预期有效负载是按照协议构建的,并检查 正在使用的密钥。服务器使用以下有效负载进行签名:“get”

2018年3月3日星期六06:47:04 gmt

'活动ID:d57786a0-f7a0-46e9-9375-d5251b81b1e3, Microsoft.Azure.Documents.Common/1.20.108.4, documentdb dotnet sdk/1.20.2主机/64位 MicrosoftWindowsNT/10.0.16299.0


如何克服此问题?

当我设置错误的只读键时,我重现了您的问题

示例代码:

返回消息:

我建议您通过Fiddler捕捉消息,并检查您的只读密钥是否正确


希望对您有所帮助。

您能编辑您的问题并包含完整的错误信息吗。有效载荷被切断。@GauravMantri。更新了带有完整错误消息的问题。@SaravanaKumar您检查过密钥了吗?有进展吗?@SaravanaKumar嗨,现在有更新吗?@JayGong。现在我们正在使用RW键。我会检查并尽快给你更新。
using Microsoft.Azure.Documents.Client;
using System;
using System.Linq;

namespace ConsoleApp2
{
    class Program
    {
        private static DocumentClient client;

        static string endpoint = "https://***.documents.azure.com:443/";

        static string key1 = "***";

        static string DataBaseId = "db";
        static string CollectionId = "coll";

        static void Main(string[] args)
        {
            client = new DocumentClient(new Uri(endpoint), key1);

            var result = client.CreateDocumentQuery
                (UriFactory.CreateDocumentCollectionUri(DataBaseId, CollectionId),
                new FeedOptions() { EnableCrossPartitionQuery = true }).AsEnumerable().ToList();

            Console.WriteLine("aaa");

            Console.ReadLine();
        }
    }
}