连接到 Azure 存储队列

Azure 中的存储选项提供 RESTAPI(或者,更好的是,HTTP API)

Azure SDK 为多种语言提供客户端。让我们看看如何使用 C#客户端库初始化其中一个存储对象(队列)。

对 Azure 存储的所有访问都通过存储帐户完成。你可以通过多种方式创建存储帐户:通过门户,Azure CLI,PowerShell,Azure 资源管理器(ARM),…

在这个例子中,我们假设你已经有一个,并且已将其存储在 app.config 文件中。

// Retrieve storage account from connection string.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
    CloudConfigurationManager.GetSetting("StorageConnectionString"));

可以通过以下 URL 访问队列:http://<storage account>.queue.core.windows.net/<queue>

客户端库将为你生成此 URL; 你只需要指定队列名称(必须是小写)。第一步是获取对队列客户端的引用,该客户端将用于管理队列(队列包含在指定的存储帐户中)。

CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();

你使用客户端获取对队列的引用。

CloudQueue queue = queueClient.GetQueueReference("<queue>");

现在,使用此 queue 代理,你可以将任何操作指向队列。

通常,第一个操作是创建队列(如果它尚不存在)

queue.CreateIfNotExists();

注意操作的名称。为什么如果不存在?有几个原因:

  • 你可能正在部署将运行此代码的某事的多个实例(某些东西通常是计算服务 ,如 Web 角色或工作者角色,但它可以是 Web 应用程序,结构服务,某些自定义代码一个 VM …)
  • 你的应用可能会随时重启。请记住,这是一个云环境,特别是对于 PaaS 服务,实例是短暂的。你对应用程序的控制程度与对本地部署的应用程序的控制程度不同。

更好的是,你应该使用相同 API 调用的异步版本:

await queue.CreateIfNotExistsAsync();

我们在此示例中使用了一个队列,但该示例可以轻松应用于其他存储对象(blob,表和文件)。

创建存储对象后,即可开始使用它。