如何将环境变量传递给 aws 批处理作业定义

how to pass environment variables to an aws batch job definition

我想为我 运行 的 aws 批处理作业定义环境变量。不同的 ENV 变量会触发代码的某些部分。当我在 Batch 控制台中添加它们时,它们不会传递给作业定义容器属性。我以与将它们传递到我的 Dockerfile 中相同的形式传递变量:NAME=VALUE。下面是我在创建新定义和创建对现有定义的修订后得到的输出。

"containerProperties": { "image": "docker-image", "vcpus": 2, "memory": 2000, "command": [], "volumes": [], "environment": [], "mountPoints": [], "ulimits": [] }

是否有用于此的特殊语法?

您需要一个 lambda 函数来启动作业。 Python 代码如下:

import boto3

client = boto3.client('batch')

def lambda_handler(event, context):
  response = client.submit_job(
   jobName='some-job',
   jobQueue='some-Queue',
   jobDefinition='some-job-definition:1') # 1 is a version

环境变量将从环境

添加到client = boto3.client('batch')