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

在 Azure Spring Apps 企业计划中管理和使用作业

注意

从 2025 年 3 月中旬开始,基本、标准和企业计划将弃用,停用期为三年。 建议过渡到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告

从 2024 年 9 月 30 日开始,标准消耗和专用计划将弃用,六个月后将完全关闭。 建议过渡到 Azure 容器应用。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用

本文适用于:❌ 基本版/标准版 ✔️ 企业版

本文介绍如何管理作业的生命周期并在 Azure Spring Apps 企业计划中运行它。

先决条件

创建并部署作业

使用以下命令创建并部署作业:

az spring job create --name <job-name>
az spring job deploy \
    --name <job-name> \
    --artifact-path <artifact-path>

对于公共预览版,最多可为每个服务实例创建 10 个作业。

启动和取消作业执行

使用以下命令启动作业执行:

az spring job start --name <job-name>

如果该命令成功运行,它将返回作业执行的名称。 如果使用 --wait-until-finished true 参数,该命令直到作业执行完成才会返回。

若要查询作业执行的状态,请使用以下命令。 请将 <execution-name> 替换为 start 命令返回的名称。

az spring job execution show \
    --job <job-name> \
    --name <execution-name>

若要取消正在运行的作业执行,请使用以下命令:

az spring job execution cancel \
    --job <job-name> \
    --name <execution-name>

查询作业执行历史记录

若要显示执行历史记录,请使用以下命令:

az spring job execution list --job <job-name>

对于公共预览版,将在历史记录中保留每个作业的最新 10 条已完成或失败作业执行记录。

查询作业执行日志

若要在 Azure 门户中获取作业执行历史记录,请使用以下 Log Analytics 查询:

AppPlatformLogsforSpring
| where AppName == '<job-name>' and InstanceName startswith '<execution-name>'
| order by TimeGenerated asc

有关详细信息,请参阅快速入门:设置 Log Analytics 工作区

若要查看实时日志,请在命令行中使用以下命令:

az spring job logs \
    --name <job-name> \
    --execution <execution-name>

如果作业执行有多个实例,请指定 --instance <instance-name> 以仅查看一个实例的日志。

重新运行作业执行

使用以下命令触发新的作业执行:

az spring job start \
    --name <job-name> \
    --args <argument-value> \
    --envs <key=value>

与托管组件集成

对于公共预览版,作业可与 Spring Cloud Config Server 无缝集成以实现高效的配置管理,并与 Tanzu 服务注册表集成以实现服务发现。

与 Spring Cloud Config Server 集成

使用 Spring Cloud Config Server,可以管理 Git 存储库中作业所需的配置或属性,然后将其加载到作业中。 为 Spring Cloud Config Server 设置 Git repo 配置后,需要将作业绑定到服务器。

在创建作业期间,使用以下命令将作业绑定到 Spring Cloud Config Server:

az spring job create \
    --name <job-name> \
    --bind-config-server true

对于现有作业,使用以下命令将其绑定到 Spring Cloud Config Server:

az spring config-server bind --job <job-name>

如果你不再需要通过 Spring Cloud Config Server 来执行作业,可以从中取消绑定作业。 此更改将对新作业执行生效。

使用以下命令取消绑定作业:

az spring config-server unbind --job <job-name>

与 Tanzu 服务注册表集成

在协作中,作业通常从长时间运行的应用调用 API 来查询信息、通知等。 为使作业能够发现在同一 Azure Spring Apps 服务中运行的应用,可以将应用和作业都绑定到托管服务注册表。 以下部分介绍如何将作业绑定到 Tanzu 服务注册表。

在创建作业期间,使用以下命令将作业绑定到 Tanzu 服务注册表:

az spring job create --bind-service-registry true

对于现有作业,使用以下命令将其绑定到 Tanzu 服务注册表:

az spring service-registry bind --job <job-name>

运行作业执行时,它可以通过服务注册表访问已注册应用的终结点。

如果你不再需要通过服务注册表来执行作业,可以从中取消绑定作业。 此更改将对新作业执行生效。

使用以下命令取消绑定作业:

az spring service-registry unbind --job <job-name>

另请参阅

Azure Spring Apps 中的作业