使用 Visual Studio 连接服务添加 Azure 存储
在 Visual Studio 中,通过使用“连接服务”功能可将以下任何服务连接到 Azure 存储:
- .NET Framework 控制台应用
- ASP.NET 模型-视图-控制器 (MVC) (.NET Framework)
- ASP.NET Core
- .NET Core(包括控制台应用、WPF、Windows 窗体、类库)
- .NET Core 辅助角色
- Azure Functions
- 通用 Windows 平台应用
- Xamarin
- Cordova
连接服务功能可将所有需要的引用和连接代码添加到项目,并相应地修改配置文件。
先决条件
- Visual Studio(请参阅 [Visual Studio 下载] (https://visualstudio.microsoft.com/downloads/?cid=learn-onpage-download-cta)),其中安装了 Azure 开发工作负荷。
- 一个受支持类型的项目
- 一个 Azure 帐户。 如果没有 Azure 帐户,请激活你的 Visual Studio 订阅者 Azure 权益或注册免费试用版。
使用连接服务连接到 Azure Storage
在 Visual Studio 中打开项目。
在“解决方案资源管理器”中,右键单击“连接服务”节点,并在上下文菜单中选择“添加连接服务”。
在“连接服务”选项卡中,选择“服务依赖项”的 + 图标。
在“添加依赖项”页中,选择“Azure Storage”。
如果还没有登录,请登录到 Azure 帐户。 如果没有 Azure 帐户,可以注册免费试用版。
在“配置 Azure 存储”屏幕中,选择一个现有的存储帐户,并选择“下一步”。
若要要创建存储帐户,请转到下一步。 否则,请跳到步骤 6。
创建存储帐户:
选择对话框底部的“创建存储帐户”。
填写“Azure 存储: 新建”对话框,并选择“创建”。
显示“Azure 存储”对话框时,新的存储帐户会显示在列表中。 在列表中选择新存储帐户,并选择“下一步”。
输入连接字符串名称,然后选择是要将连接字符串存储在本地机密文件中还是存储在 Azure Key Vault 中。
“更改摘要”屏幕显示了在完成该过程后将对项目进行的所有修改。 如果更改看起来正常,请选择“完成”。
该存储连接服务会显示在项目的“连接的服务”节点下。
在 Visual Studio 中打开项目。
按 Ctrl+Q(或使用主菜单栏右侧的 Visual Studio IDE 中的“搜索”按钮)。
在“功能搜索”中,输入
Azure Storage
,然后选择“Azure 存储 - 项目”>“连接服务”>“添加”>“Azure 存储”。在“连接到依赖项”页中,选择“Azure 存储”,然后选择“下一步”。
如果还没有登录,请登录到 Azure 帐户。 如果没有 Azure 帐户,可以注册免费试用版。
在“连接到 Azure 存储”屏幕中,选择一个现有的存储帐户,并选择“下一步”。
若要要创建存储帐户,请转到下一步。 否则,请跳到下一步。
创建存储帐户:
选择绿色加号旁边的“新建”。
填写“Azure 存储: 新建”对话框,并选择“创建”。
显示“Azure 存储”对话框时,新的存储帐户会显示在列表中。 在列表中选择新存储帐户,并选择“下一步”。
输入连接字符串设置名称。 设置名称引用secrets.json文件或 Azure 密钥库中显示的连接字符串设置的名称。
选择是要将连接字符串存储在本地机密文件中、Azure 密钥库中还是未存储在任何位置。
注意
如果使用的是 Visual Studio 17.12 之前的 Visual Studio 版本,并且选择使用secrets.json文件,则必须采取安全预防措施,因为本地secrets.json文件中的连接字符串可能会公开。 如果使用 Visual Studio 2022 版本 17.12 或更高版本,此过程将生成更安全的结果,因为它生成连接设置值,而不是使用身份验证凭据连接字符串。
更改摘要屏幕显示了在完成该过程后将对项目进行的所有修改。 如果更改看起来正常,请选择“完成”。
该存储连接服务会显示在项目的“连接的服务”节点下。
了解身份验证
运行前面的过程后,你的应用将设置为使用身份验证来访问存储帐户。 如果选择secrets.json方法或 Azure 密钥库,则此身份验证的连接信息将存储在本地。
如果使用了secrets.json文件,请使用“连接服务”选项卡上Secrets.json旁边的三个点打开该文件,打开菜单,然后选择“管理用户机密”。 使用 Visual Studio 2022 版本 17.12 及更高版本,此文件包含引用 URI 以获取安全连接字符串的设置,而不是连接字符串本身。
{
"StorageConnection:blobServiceUri": "https://webapplication16storagex.blob.core.windows.net/",
"StorageConnection:queueServiceUri": "https://webapplication16storagex.queue.core.windows.net/",
"StorageConnection:tableServiceUri": "https://webapplication16storagex.table.core.windows.net/"
}
借助 Visual Studio 17.12 及更高版本中的这些设置,身份验证是自动且灵活的。 从 Visual Studio 本地运行或调试时,Visual Studio 保存的 Azure 凭据用于访问 Azure 存储帐户。 如果从命令行启动应用,首先需要使用 Azure CLI 登录,并且会自动检测和使用这些凭据。 但是,当应用部署到 Azure 并在 Azure 中运行时,它会使用托管标识,而无需更改任何代码。 身份验证适用于所有托管环境,因为 Azure 标识 API 会按顺序检查所有链接的凭据,并在找到它们时使用它们。 请参阅 DefaultAzureCredential。
后续步骤
Azure 存储支持 Blob 和队列以及其他功能。
若要了解如何使用 Blob,可以继续学习 Blob 存储快速入门,但无需从头开始,而是可以从 Azure Blob 快速入门 (.NET) - 代码示例开始。
若要了解如何使用队列,请从 Azure 队列存储快速入门 (.NET) - 代码示例开始。