你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:使用服务连接器部署连接到 Azure Blob 存储的 Web 应用程序

了解如何使用托管标识为 Azure 应用服务上运行的 Web 应用(不是已登录用户)访问 Azure Blob 存储。 在本教程中,你将使用 Azure CLI 完成以下任务:

  • 使用 Azure CLI 设置初始环境
  • 创建存储帐户和 Azure Blob 存储容器。
  • 使用服务连接器将代码部署到 Azure 应用服务并连接到具有托管标识的存储

先决条件

设置初始环境

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

    az --version
    

    如果需要升级,请运行 az upgrade 命令(需要版本 2.11+)。

  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. 使用以下命令创建App 服务应用(主机进程),az webapp up并将占位符替换为你自己的数据:

    • --location对于参数,请使用 Service 连接or 支持的区域。
    • 替换为 <app-name> Azure 中的唯一名称。 服务器终结点为 https://<app-name>.azurewebsites.net. <app-name> 允许的字符为 A-Z0-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 的详细信息,请阅读以下指南。