Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
在本快速入门中,你将创建一个 Azure 容器应用 作业。 在容器应用中,作业用于启动在有限持续时间内运行的容器化任务,然后退出。 作业最适合用于数据处理、机器学习、资源清理或需要按需处理的任何方案等任务。
可以手动触发作业、计划作业的运行,或根据事件触发其运行。 本快速入门介绍如何创建手动或计划作业。 若要了解如何创建事件驱动作业,请参阅 使用 Azure 容器应用部署事件驱动作业。
先决条件
设置
若要从 CLI 登录到 Azure,请运行以下命令,然后按照提示完成身份验证过程。
az cloud set -n AzureChinaCloud az login # az cloud set -n AzureCloud //means return to Public Azure.确保通过升级命令运行最新版本的 CLI。
az upgrade安装最新版 Azure 容器应用 CLI 扩展。
az extension add --name containerapp --upgrade如果尚未在 Azure 订阅中注册
Microsoft.App、Microsoft.OperationalInsights和Microsoft.Storage命名空间,请进行注册。az provider register --namespace Microsoft.App az provider register --namespace Microsoft.OperationalInsights az provider register --namespace Microsoft.Storage完成 Azure CLI 安装后,接下来可以定义要在本文中使用的环境变量。
$RESOURCE_GROUP="jobs-quickstart" $LOCATION="chinanorth3" $ENVIRONMENT="env-jobs-quickstart" $JOB_NAME="my-job"
创建容器应用环境
Azure 容器应用环境充当容器应用和作业周围的安全边界,因此容器应用和作业可以共享同一网络并相互通信。
使用以下命令创建资源组。
az group create --name $RESOURCE_GROUP --location $LOCATION使用以下命令创建容器应用环境。
az containerapp env create --name $ENVIRONMENT --resource-group $RESOURCE_GROUP --location $LOCATION
创建和运行手动作业
若要使用手动作业,请先创建一个触发器类型的 Manual 作业,然后启动其运行。 可以启动同一作业的多个运行,多个作业执行可以并发运行。
使用以下命令在容器应用环境中创建作业。
az containerapp job create ` --name $JOB_NAME --resource-group $RESOURCE_GROUP --environment $ENVIRONMENT ` --trigger-type "Manual" ` --replica-timeout 1800 ` --image "mcr.microsoft.com/k8se/quickstart-jobs:latest" ` --cpu "0.25" --memory "0.5Gi"手动作业不会自动执行。 必须启动作业的执行。
使用以下命令启动作业执行。
az containerapp job start --name $JOB_NAME --resource-group $RESOURCE_GROUP该命令返回有关作业运行的详细信息,包括其名称。
创建和运行计划作业
若要使用计划作业,您需要创建一个作业,其中包括 Schedule 类型的触发器和一个用于定义计划的 cron 表达式。
使用以下命令创建每分钟启动一次的容器应用作业。
az containerapp job create `
--name $JOB_NAME --resource-group $RESOURCE_GROUP --environment $ENVIRONMENT `
--trigger-type "Schedule" `
--replica-timeout 1800 `
--image "mcr.microsoft.com/k8se/quickstart-jobs:latest" `
--cpu "0.25" --memory "0.5Gi" `
--cron-expression "*/1 * * * *"
作业执行根据计划自动启动。
容器应用作业使用 cron 表达式来定义计划。 它支持标准 cron 表达式格式,其中包含分钟、小时、日、月和星期这五个字段。
列出最近的作业运行历史记录
容器应用作业维护最近运行的历史记录。 可以列出作业的运行。
az containerapp job execution list `
--name $JOB_NAME `
--resource-group $RESOURCE_GROUP `
--output table `
--query '[].{Status: properties.status, Name: name, StartTime: properties.startTime}'
任务在运行时显示在列表中。
Status Name StartTime
--------- -------------- -------------------------
Succeeded my-job-jvsgub6 2023-05-08T21:21:45+00:00
查询作业执行日志
作业执行将日志输出到你为容器应用环境配置的日志记录提供程序。 默认情况下,日志存储在 Azure Log Analytics 中。
将容器应用环境的 Log Analytics 工作区 ID 保存到某个变量中。
$LOG_ANALYTICS_WORKSPACE_ID = az containerapp env show --name $ENVIRONMENT --resource-group $RESOURCE_GROUP --query "properties.appLogsConfiguration.logAnalyticsConfiguration.customerId" --output tsv将最近的作业执行名称保存到某个变量中。
$JOB_EXECUTION_NAME=az containerapp job execution list --name $JOB_NAME --resource-group $RESOURCE_GROUP --query "[0].name" --output tsv
清理资源
如果不打算继续使用此作业,请运行以下命令,从本快速入门中删除资源组和所有资源。
注意
以下命令删除指定的资源组及其包含的所有资源。 如果本快速入门范围之外的资源存在于指定的资源组中,则它们也会被删除。
az group delete --name "$RESOURCE_GROUP"
提示
遇到问题? 在 Azure 容器应用存储库中提交问题,告知我们有关 GitHub 的信息。