我想对AWS Batch使用API网关
我已经知道如何将API Gateway与AWS lambda naad一起使用,因为lambda限制为250 MB,我无法将其用于集成,现在尝试使用AWS Batch
答案 0 :(得分:0)
我假设您想使用API Gateway + Lambda创建用于将作业请求提交到AWS Batch的终端节点。
为此,创建以下Lambda函数,该函数将作业提交到AWS Batch。用作业队列的arn替换“ jobQueueArn”。将Lambda函数与API网关集成。
import boto3
def lambda_handler(event, context):
client = boto3.client('batch')
JOB_NAME = event['JobName']
JOB_QUEUE = "jobQueueArn"
JOB_DEFINITION = "a-job-definition:1"
response = client.submit_job(
jobName = JOB_NAME,
jobQueue = JOB_QUEUE,
jobDefinition = JOB_DEFINITION,
parameters = { 'key': 'value' }
)
print(response)
return 0
可以使用parameters
输入传递参数。
参数(dict)- 传递给作业的其他参数将替换作业定义中设置的参数替换占位符。参数被指定为键和值对映射。 SubmitJob请求中的参数会覆盖作业定义中的任何相应参数默认值。
确保将适当的IAM策略附加到Lambda函数的角色。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Action": [
"batch:SubmitJob"
],
"Resource": [
"*"
]
}
]
}