你当前正在访问 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 CLI 2.30.0 或更高版本。 你将使用它在任何 shell 中运行命令来预配和配置 Azure 资源。

设置初始环境

  1. 检查 Azure CLI 版本是否为 2.30.0 或更高版本:

    az --version
    

    如果需要升级,请尝试 az upgrade 命令(需要版本 2.11+)或请参阅安装 Azure CLI

  2. 使用 CLI 登录到 Azure:

    az login
    

    此命令将打开浏览器以获取凭据。 命令完成后,它会显示包含订阅相关信息的 JSON 输出。

    登录后,可以使用 Azure CLI 运行 Azure 命令,处理订阅中的资源。

克隆或下载示例应用

  1. 克隆示例存储库:

    git clone https://github.com/Azure-Samples/serviceconnector-webapp-storageblob-dotnet.git
    
  2. 转到存储库的根文件夹:

    cd serviceconnector-webapp-storageblob-dotnet
    

创建应用服务应用

  1. 在终端中,请确保在包含应用代码的 WebAppStorageMISample 存储库文件夹中操作。

  2. 使用以下 az webapp up 命令创建一个应用服务应用(主机进程)。

     az webapp up --name <app-name> --sku B1 --location eastus --resource-group ServiceConnector-tutorial-rg
    

    将以下占位符文本替换为你自己的数据:

    • 对于 --location 参数,请确保使用服务连接器支持的区域
    • <app-name> 替换为在整个 Azure 中唯一的一个名称(服务器终结点是 https://<app-name>.azurewebsites.net)。 <app-name> 允许的字符为 A-Z0-9-。 良好的模式是结合使用公司名称和应用标识符。

创建存储帐户和 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,然后读回该文本以将其显示在索引页中。

后续步骤

参考下面列出的教程来详细了解服务连接器。