我获得了具有只读访问权限的 Azure 表存储 SAS token 。我可以使用 Azure 存储资源管理器浏览它,没有任何问题。在尝试通过控制台应用程序访问它时,我能够使用 SAS token 作为 TableEndpoint 解析连接字符串,但是当我尝试创建表客户端时,我得到:
System.InvalidOperationException: No credentials provided. at Microsoft.WindowsAzure.Storage.CloudStorageAccount.CreateCloudTableClient()
我用于连接字符串(带有替换值)的语法是:
<add key="StorageConnectionString" value ="TableEndpoint=https://myaccount.table.core.windows.net/Table?sv=2015-04-05&tn=Table&sig=Signature&se=2099-99-99T12%3A00%3A00Z&sp=r" />
最后,我的控制台应用程序代码:
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
最佳答案
我认为您需要使用StorageCredentials
类。这是一个示例:
StorageCredentials accountSAS = new StorageCredentials(sasToken);
CloudStorageAccount accountWithSAS = new CloudStorageAccount(accountSAS, "account-name", endpointSuffix: null, useHttps: true);
CloudTableClient tableClientWithSAS = accountWithSAS.CreateCloudTableClient();
关于c# - Azure 表存储 - 从只读 SAS token 创建连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40450992/