当前位置: 首页 > 知识库问答 >
问题:

CosmosDB只读密钥引发授权错误

卞坚成
2023-03-14
    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();

'ActivityID: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

如何克服这个问题?

共有1个答案

厉钊
2023-03-14

当我设置了错误的只读键时,我复制了您的问题。

示例代码:

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

返回消息:

 类似资料:
  • Using a delegation key The collaborator can now push to the repository using Docker Content Trust. Docker will automatically choose and pick the right key for the targets/release role. Edit the file o

  • Generating a delegation key Make sure you’re using OpenSSL 1.0.2+, otherwise the keys will be signed with SHA1, which Notary will refuse to import (invalid SHA1 signature algorithm): ❯ brew install op

  • 我正在尝试编写一个定制的KeyClope验证器,该验证器可以从某个请求中检索用户凭据,并动态提交这些凭据进行身份验证,而最终用户不必手动将它们输入某个登录表单。 以这个问题为起点,我在KeyCloak中创建了自己的自定义身份验证SPI。我还根据需要配置了KeyCloak身份验证流。 自定义验证器 自定义验证器工厂 下面是我的自定义登录表单,它基于这里的KeyClope“secret questio

  • Object授权 点击Object的属性管理 Object读权限授予某个云密钥帐号 其中Grantee是生成新的云密钥生成的AppID 如果是使用新版生态云,Grantee参考下图(填写"CI"加上用户组ID) 把Object设置为所有人可以下载 FDS中两个特殊的grantId: ALL_USERS:所有访问者 AUTHENTICATED_USERS:所有通过认证的访问(密钥认证/预签名认证/O

  • 使用IAM策略模拟器时,似乎必须提供对完整密钥arn的访问(),而不是别名() 有没有更好的办法来管理这个? 我知道我可以使用密钥策略管理对CMKs的访问,并且不允许从IAM进行访问,但是您不能在KMS密钥策略中使用组作为

  • 我为我的Android应用程序创建了一个用于GCM推送通知的Android API键。从最近两天开始,GCM服务器返回PHP中未授权的(401)响应。 Android API密钥无效/过期有什么原因吗?还是GCM不推荐使用Android API密钥? 我仍然没有得到关于为什么Android API密钥无效的适当解释?对于GCM,他们中的大多数人更喜欢服务器密钥而不是Android API密钥,但是