AzureWebjobSDK 中的 StorageConnectionString 是否需要访问整个存储帐户?

2024-05-05

我尝试使用 Azure WebJobs SDK 在消息发布到队列时触发函数。

当使用存储帐户密钥将 StorageConnectionString 设置为连接字符串时,这可以正常工作。

我想使用共享访问令牌(SAS),它可以访问 StorageConnectionString 中的该队列(并且只能访问该队列),但出现错误:

消息=无法验证 Microsoft Azure WebJobs SDK 存储 连接字符串。 Microsoft Azure 存储帐户连接 字符串格式不正确。请拜访http://msdn.microsoft.com/en-us/library/windowsazure/ee758697.aspx http://msdn.microsoft.com/en-us/library/windowsazure/ee758697.aspx为了 有关配置 Microsoft Azure 存储连接字符串的详细信息。

And:

   Message=The account credentials for '' are incorrect.
   Source=Microsoft.Azure.WebJobs.Host
   StackTrace:
        at Microsoft.Azure.WebJobs.Host.Executors.DefaultStorageCredentialsValidator.<ValidateCredentialsAsyncCore>d__4.MoveNext()

我正在使用的连接字符串的格式如下: 斑点端点=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/queuename;SharedAccessSignature=令牌 https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccoount.queue.core.windows.net/queuename;SharedAccessSignature=token

StorageConnectionString 是否有可能需要访问整个存储帐户?如果是这样,你知道我能做什么吗?


查看WebjobSDK代码:https://github.com/Azure/azure-webjobs-sdk/tree/dev/src https://github.com/Azure/azure-webjobs-sdk/tree/dev/src看起来您面临的异常是由存储帐户解析器引发的。看代码,解析如下:

    public static StorageAccountParseResult TryParseAccount(string connectionString, out CloudStorageAccount account)
    {
        if (String.IsNullOrEmpty(connectionString))
        {
            account = null;
            return StorageAccountParseResult.MissingOrEmptyConnectionStringError;
        }

        CloudStorageAccount possibleAccount;
        if (!CloudStorageAccount.TryParse(connectionString, out possibleAccount))
        {
            account = null;
            return StorageAccountParseResult.MalformedConnectionStringError;
        }

        account = possibleAccount;
        return StorageAccountParseResult.Success;
    }

我检查了您使用 CloudStorageAccount 发送的格式,它似乎通过了。请注意,blob 端点后面有一个不必要的“/”,也许您丢失了一些文本,这导致解析失败。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AzureWebjobSDK 中的 StorageConnectionString 是否需要访问整个存储帐户? 的相关文章

随机推荐