部署到 Azure 应用服务#

Azure 应用服务是用于托管 Web 应用程序、REST API 和移动后端基于 HTTP 的服务。此文件夹下的脚本(bash 为 deploy.sh,powershell 为 deploy.ps1)旨在帮助将 Docker 镜像部署到 Azure 应用服务。

此示例演示如何使用 Azure 应用服务部署 Web 分类流。

将流构建为 Docker 格式应用#

使用以下命令将流构建为 Docker 格式应用

pf flow build --source ../../flows/standard/web-classification --output dist --format docker

请注意,所有依赖的连接必须在构建为 Docker 之前创建。

使用 Azure 应用服务进行部署#

这两个脚本将执行以下操作

  1. 如果资源组不存在,则创建一个。

  2. 构建镜像并将其推送到 Docker 注册表。

  3. 使用给定的 SKU 创建应用服务计划。

  4. 使用指定名称创建应用,将部署容器镜像设置为已推送的 Docker 镜像。

  5. 为应用设置环境变量。

使用 bash 脚本的示例命令

bash deploy.sh --path dist -i <image_tag> --name my-app-23d8m -r <docker registry> -g <resource_group>

通过 bash deploy.sh -h 查看完整参数。

使用 powershell 脚本的示例命令

.\deploy.ps1 -Path dist -i <image_tag> -n my-app-23d8m -r <docker registry> -g <resource_group>

通过 .\deploy.ps1 -h 查看完整参数。

请注意,name 将生成一个唯一的 FQDN,例如 AppName.azurewebsites.net。

查看和测试 Web 应用#

Web 应用可以在 Azure 门户中找到

img

创建应用后,您需要前往 https://portal.azure.com/ 找到该应用,并在(设置>配置)或(设置>环境变量)中设置环境变量,然后重新启动应用。

img

可以通过向终结点发送 POST 请求或浏览测试页面来测试应用。

curl https://<name>.azurewebsites.net/score --data '{"url":"https://play.google.com/store/apps/details?id=com.twitter.android"}' -X POST  -H "Content-Type: application/json"
Invoke-WebRequest -URI https://<name>.azurewebsites.net/score -Body '{"url":"https://play.google.com/store/apps/details?id=com.twitter.android"}' -Method POST  -ContentType "application/json"

在“概述”中浏览应用并查看测试页面

img

提示

  • 在(部署>部署中心)中查看部署日志,在(监视>日志流)中查看应用日志。

  • 在(开发工具>高级工具)中查看高级部署工具。

  • Azure 应用服务中查看有关应用服务的更多详细信息。

后续步骤#

  • 在此处尝试示例here