

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

# AWS Batch 作业环境变量
<a name="job_env_vars"></a>

AWS Batch 在容器作业中设置特定的环境变量。这些环境变量为作业中的容器提供了内省能力。您可以在应用程序的逻辑中使用这些变量的值。所有 AWS Batch 设置的变量都以`AWS_BATCH_`前缀开头。这是受保护的环境变量前缀。在作业定义或覆盖中，您不能将此前缀用于自己的变量。

以下环境变量在作业容器中可用：

`AWS_BATCH_CE_NAME`  
此变量设置为您的作业所在的计算环境的名称。

`AWS_BATCH_JOB_ARRAY_INDEX`  
此变量仅在子数组作业中设置。数组作业索引从 0 开始，并且每个子作业接收一个唯一索引编号。例如，包含 10 个子级的数组作业具有索引值 0-9。您可以使用此索引值来控制数组作业子级的差异。有关更多信息，请参阅 [使用数组作业索引控制作业差异化](array_index_example.md)。

`AWS_BATCH_JOB_ARRAY_SIZE`  
此变量设置为父数组作业的大小。父数组作业的大小在此变量中传递给子数组作业。

`AWS_BATCH_JOB_ATTEMPT`  
此变量设置为作业尝试次数。第一次尝试编号为 1。有关更多信息，请参阅 [自动作业重试](job_retries.md)。

`AWS_BATCH_JOB_ID`  
此变量设置为作 AWS Batch 业 ID。

`AWS_BATCH_JOB_KUBERNETES_NODE_UID`  
此变量设置为运行容器组（pod）的 Kubernetes 集群中的节点对象的 Kubernetes UID。此变量仅适用于在 Amazon EKS 资源上运行的作业。有关更多信息，请参阅*Kubernetes文档*中的[UIDs](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids)。

`AWS_BATCH_JOB_MAIN_NODE_INDEX`  
此变量仅在多节点并行作业中设置。此变量设置为作业的主节点的索引号。您的应用程序代码可以将 `AWS_BATCH_JOB_MAIN_NODE_INDEX` 与单个节点上的 `AWS_BATCH_JOB_NODE_INDEX` 进行比较，以确定它是否为主节点。

`AWS_BATCH_JOB_MAIN_NODE_PRIVATE_IPV4_ADDRESS`  
此变量仅在多节点并行作业子节点中设置。此变量不存在于主节点上，但设置为作业主节点的私有 IPv4 地址。您的子节点的应用程序代码可以使用此地址与主节点进行通信。

`AWS_BATCH_JOB_NODE_INDEX`  
此变量仅在多节点并行作业中设置。此变量设置为节点的节点索引号。节点索引从 0 开始，并且每个节点接收一个唯一的索引号。例如，包含 10 个子级的多节点并行作业具有索引值 0-9。

`AWS_BATCH_JOB_NUM_NODES`  
此变量仅在多节点并行作业中设置。此变量设置为您为多节点并行作业请求的节点数。

`AWS_BATCH_JQ_NAME`  
此变量将设置为您的作业提交到的作业队列的名称。