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();
}
}
}