Azure web作业希望我在启动时设置AzureWebJobsDashboard和AzureWebJobsStorage属性,但是,我不想在代码中公开AccountKey。 当我尝试使用SAS令牌时,JobHostConfiguration类尝试解析SAS令牌并抛出异常
var config = new JobHostConfiguration();
config.DashboardConnectionString = ConfigurationManager.GetSetting(KeyVaultSecrets.StorageReadWriteConnectionString);
config.StorageConnectionString = ConfigurationManager.GetSetting(KeyVaultSecrets.StorageReadWriteConnectionString);
异常
发生了System.InvalidOperationException 的HResult = 0x80131509 消息=无法验证Microsoft Azure WebJobs SDK仪表板连接字符串。 Microsoft Azure存储帐户连接字符串格式不正确。有关配置Microsoft Azure存储连接字符串的详细信息,请访问http://msdn.microsoft.com/en-us/library/windowsazure/ee758697.aspx。 来源= 堆栈跟踪: 在 Microsoft.Azure.WebJobs.Host.Executors.StorageAccountParser.ParseAccount (String connectionString,String connectionStringName,IServiceProvider services) 在Microsoft.Azure.WebJobs.Host.Executors.DefaultStorageAccountProvider.set_DashboardConnectionString(String value)
在为JobHostConfiguration创建配置时,有没有办法使用SAS令牌?
答案 0 :(得分:1)
此处尚不支持SAS令牌。但是,您不需要在代码中放置连接字符串。 你应该把它们放在appsettings中!像这样:
<configuration>
<connectionStrings>
<!-- The format of the connection string is "DefaultEndpointsProtocol=https;AccountName=NAME;AccountKey=KEY" -->
<!-- For local execution, the value can be set either in this config file or through environment variables -->
<add name="AzureWebJobsDashboard" connectionString="xxxxxxx" />
<add name="AzureWebJobsStorage" connectionString="yyyyyyyyy" />
</connectionStrings>
此外,您可以直接在自己的网站上设置自己的应用程序。
也就是说,在最新的夜间版本中,我们现在支持在SAS连接字符串上运行[Timer]和[Singleton];您可以通过将config.DashboardConnectionString显式设置为null来禁用日志记录。但我们还没有支持将[Blob]和其他存储绑定到SAS网址。请参阅此提交中的单元测试:https://github.com/Azure/azure-webjobs-sdk/blob/bd2d9ea34f13fc16569e8d8f80bafdb605eeb6f9/test/Microsoft.Azure.WebJobs.Host.EndToEndTests/InternalStorageTests.cs
答案 1 :(得分:0)
我们可以在连接字符串中使用SAS。由于SAS包含验证请求所需的信息,因此具有SAS的连接字符串提供协议,服务端点以及根据that link
访问资源所需的凭据通过这种方式, StorageAccountParser.ParseAccount(String connectionString)可以解析连接字符串
BlobEndpoint = https://storagesample.blob.core.windows.net; SharedAccessSignature = SV = 2015年4月5日&安培; SR = B和SI =教程政策635959936145100803&安培; SIG = 9aCzs76n0E7y5BpEi2GvsSv433BZa22leDOZXX%2BXXIU%3D