【问题标题】:What is the connection string to use Azure Storage Emulator with a Webjob?将 Azure 存储模拟器与 Web 作业结合使用的连接字符串是什么?
【发布时间】:2017-02-22 22:38:22
【问题描述】:

我有一个简单的 WebJob,我希望使用 Azure 存储模拟器对其进行测试。

我目前已将 AzureJobsRuntime 和 AzureJobsData 设置为使用开发存储,如下所示:

<connectionStrings>
    <add name="AzureJobsRuntime" connectionString="UseDevelopmentStorage=true;" />
    <add name="AzureJobsData" connectionString="UseDevelopmentStorage=true;" />
</connectionStrings>

webjob 很简单:

public static void Main(string[] args)
{
    JobHost host = new JobHost();
    host.RunAndBlock();
}

public static void Process([QueueInput("queue")] string input, [BlobOutput("containername/blobname")]TextWriter writer)
{

}

这会在启动时引发异常:

无效操作异常:

Windows Azure 存储帐户连接字符串格式不正确

我已经能够使用相同的连接字符串和CloudStorageAccount 类从网站创建队列并向其添加消息。

【问题讨论】:

    标签: azure connection-string azure-webjobs


    【解决方案1】:

    很遗憾,WebJobs SDK 不支持使用 Azure 存储模拟器,因为该模拟器不支持它使用的某些功能。

    【讨论】:

    • 另外值得注意的是,2.2.1 预览版模拟器也不起作用。弹出一条错误消息,指出不支持开发存储。
    • @amit-apple WebJobs SDK 是否支持 3.0 存储模拟器?
    • @Jack 如果您的意思是使用 WebJobs SDK 的 WebJobs,那么您可以通过简单地指向生产 Azure 存储(可能是不同的存储帐户/容器/表)而不是模拟器来在本地测试它们,这不是最好的解决方案,需要互联网连接,但它可以工作。
    • 它非常荒谬的本地运行没有得到适当的支持。将其插入 live azure != 开发支持
    • 我也很沮丧 Azure SDK 不允许我使用本地定义的队列作为我的 Web 作业的触发器。我知道刚才,我将把我的开发/测试数据上传到另一个非实时存储容器中的真实 Azure 队列。真可惜!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    相关资源
    最近更新 更多