

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 启用 Job 级别成本分配
<a name="jobs-job-level-cost-allocation"></a>

任务级别的成本分配允许在单个任务运行层面为 EMR Serverless 进行精细的计费归因，而不是在应用程序级别汇总所有成本。启用后，您可以在 Cost Explorer 和 “ Amazon 成本和使用情况报告” 中按特定任务运行 IDs 和与任务运行关联的标签筛选和跟踪成本，从而更好地了解已提交的作业运行的费用。

## 默认 行为
<a name="jobs-job-level-cost-allocation-default"></a>

默认情况下，未启用任务级别的成本分配。

## 如何启用或禁用该功能
<a name="jobs-job-level-cost-allocation-enable"></a>

您可以在创建应用程序期间配置任务级别的成本分配，也可以针对现有应用程序进行更新。

在创建新应用程序时指定`jobLevelCostAllocation`参数：

```
# Enable job-level cost allocation:
aws emr-serverless create-application \
    --name "my-application" \
    --release-label "emr-7.12.0" \
    --type "SPARK" \
    --job-level-cost-allocation-configuration '{
        "enabled": true
    }'

# Disable job-level cost allocation:
aws emr-serverless create-application \
    --name "my-application" \
    --release-label "emr-7.12.0" \
    --type "SPARK" \
    --job-level-cost-allocation-configuration '{
        "enabled": false
    }'
```

更新现有应用程序的`jobLevelCostAllocationConfiguration`参数：

```
# Enable job-level cost allocation:
aws emr-serverless update-application \
    --application-id <application-id> \
    --job-level-cost-allocation-configuration '{
        "enabled": true
    }'

# Disable job-level cost allocation:
aws emr-serverless update-application \
    --application-id <application-id> \
    --job-level-cost-allocation-configuration '{
        "enabled": false
    }'
```

## 注意事项和限制
<a name="jobs-job-level-cost-allocation-considerations"></a>
+ 启用任务级成本分配不会追溯归因在启用该功能之前完成的任务运行的成本。启用该功能后启动的 Job 运行将具有精细的成本归因。
+ 只有当应用程序处于 “已创建” 或 “已停止” 状态时，才能更新任务级别的成本分配参数。
+ 启用作业级别的成本分配后，成本将归因于单个作业运行而不是应用程序。要查看应用程序级别的汇总成本，您必须对该应用程序内运行的所有作业应用一致的标签（例如应用程序名称或应用程序ID），并在 Cost Explorer 或 “成本和使用率报告” 中按这些标签进行筛选。