你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:使用服务连接器部署连接到 Azure Blob 存储的 Web 应用程序
了解如何使用托管标识为 Azure 应用服务上运行的 Web 应用(不是已登录用户)访问 Azure Blob 存储。 在本教程中,你将使用 Azure CLI 完成以下任务:
- 使用 Azure CLI 设置初始环境
- 创建存储帐户和 Azure Blob 存储容器。
- 使用服务连接器将代码部署到 Azure 应用服务并连接到具有托管标识的存储
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
在 Azure Cloud Shell 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 中的 Bash 快速入门。
如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI。
如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展。
运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade。
设置初始环境
检查 Azure CLI 版本是否为 2.30.0 或更高版本:
az --version
如果需要升级,请运行
az upgrade
命令(需要版本 2.11+)。使用 CLI 登录到 Azure:
az login
此命令将打开浏览器以获取凭据。 命令完成后,它会显示包含订阅相关信息的 JSON 输出。
登录后,可以使用 Azure CLI 运行 Azure 命令,处理订阅中的资源。
克隆或下载示例应用
克隆示例存储库:
git clone https://github.com/Azure-Samples/serviceconnector-webapp-storageblob-dotnet.git
转到存储库的根文件夹:
cd serviceconnector-webapp-storageblob-dotnet
创建应用服务应用
在终端中,请确保在包含应用代码的 WebAppStorageMISample 存储库文件夹中操作。
使用以下命令创建App 服务应用(主机进程),
az webapp up
并将占位符替换为你自己的数据:--location
对于参数,请使用 Service 连接or 支持的区域。- 替换为
<app-name>
Azure 中的唯一名称。 服务器终结点为https://<app-name>.azurewebsites.net
.<app-name>
允许的字符为A
-Z
、0
-9
和-
。 良好的模式是结合使用公司名称和应用标识符。
az webapp up --name <app-name> --sku B1 --location eastus --resource-group ServiceConnector-tutorial-rg
创建存储帐户和 Blob 存储容器
在终端中,运行以下命令来创建一个常规用途 v2 存储帐户和 Blob 存储容器。
az storage account create --name <storage-name> --resource-group ServiceConnector-tutorial-rg --sku Standard_RAGRS --https-only
将 <storage-name>
替换为唯一名称。 容器的名称必须小写,必须以字母或数字开头,并且只能包含字母、数字和短划线 (-) 字符。
使用托管标识将应用服务应用连接到 Blob 存储容器
在终端中,运行以下命令,使用托管标识将 Web 应用连接到 Blob 存储。
az webapp connection create storage-blob -g ServiceConnector-tutorial-rg -n <app-name> --tg ServiceConnector-tutorial-rg --account <storage-name> --system-identity
将以下占位符替换为你自己的数据:
- 替换为
<app-name>
在步骤 3 中使用的 Web 应用名称。 - 替换为
<storage-name>
在步骤 4 中使用的存储应用名称。
注意
如果看到错误消息“订阅未注册为使用 Microsoft.ServiceLinker”,请运行az provider register -n Microsoft.ServiceLinker
以注册服务连接或资源提供程序并再次运行连接命令。
运行示例代码
在终端中,运行以下命令以在浏览器中打开示例应用程序。 将 <app-name>
替换为你之前使用的 Web 应用名称。
az webapp browse --name <app-name>
示例代码是一个 Web 应用程序。 每次刷新索引页时,该应用程序都会在存储容器中使用文本 Hello Service Connector! Current is {UTC Time Now}
创建或更新一个 Blob,然后读回该文本以将其显示在索引页中。
后续步骤
若要了解有关 Service 连接or 的详细信息,请阅读以下指南。