你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本教程介绍如何使用托管标识为 Azure 应用服务上运行的 Web 应用(不是已登录用户)访问 Azure Blob 存储。 在本教程中,你将使用 Azure CLI 完成以下任务:
- 使用 Azure CLI 设置初始环境
- 创建存储帐户和 Azure Blob 存储容器。
- 使用服务连接器将代码部署到 Azure 应用服务并连接到具有托管标识的存储
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
在 Azure Cloud Shell 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 入门。
如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI。
如果使用的是本地安装,请使用 az login 命令登录 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅 使用 Azure CLI 向 Azure 进行身份验证。
出现提示时,请在首次使用时安装 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 存储库文件夹中操作。
使用以下
az webapp up命令创建一个应用服务应用(主机进程),并将占位符替换为你自己的数据:- 对于
--location参数,请使用服务连接器支持的区域。 - 将
<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,然后读回该文本以将其显示在索引页中。
下一步
若要了解有关服务连接器的详细信息,请阅读以下指南。