

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 啟用任務層級成本分配
<a name="jobs-job-level-cost-allocation"></a>

任務層級成本分配可在個別任務執行層級啟用 EMR Serverless 的精細計費屬性，而不是彙總應用程式層級的所有成本。啟用時，您可以依與任務執行相關聯的特定任務執行 IDs 和標籤，篩選和追蹤 AWS Cost Explorer和成本和用量報告，以便更清楚地了解提交的任務執行費用。

## 預設行為
<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>
+ 啟用任務層級成本分配不會追溯啟用功能之前完成的任務執行成本。啟用此功能後開始的任務執行會有精細的成本歸因。
+ 只有在應用程式處於 CREATED 或 STOPPED 狀態時，才能更新任務層級成本分配參數。
+ 啟用任務層級成本分配時，成本會歸因於個別任務執行，而非應用程式。若要在應用程式層級檢視彙總成本，您必須將一致的標籤 （例如 application-name 或 application-id) 套用至該應用程式內的所有任務執行，並在 Cost Explorer 或 Cost and Usage Reports 中依這些標籤進行篩選。