【发布时间】:2019-12-01 03:33:48
【问题描述】:
我想在 AWS 批处理中使用 API 网关
我已经知道如何将 API Gateway 与 AWS lambda naad 一起使用,因为 lambda 有 250 MB 的限制,我无法将其用于集成,现在尝试使用 AWS 批处理
【问题讨论】:
标签: amazon-web-services aws-lambda aws-api-gateway aws-batch
我想在 AWS 批处理中使用 API 网关
我已经知道如何将 API Gateway 与 AWS lambda naad 一起使用,因为 lambda 有 250 MB 的限制,我无法将其用于集成,现在尝试使用 AWS 批处理
【问题讨论】:
标签: amazon-web-services aws-lambda aws-api-gateway aws-batch
我假设您想使用 API Gateway + Lambda 创建一个端点,用于向 AWS Batch 提交作业请求。
为此,请创建以下 Lambda 函数,该函数将作业提交到 AWS Batch。将“jobQueueArn”替换为您的作业队列的 arn。将 Lambda 函数与 API Gateway 集成。
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 输入传递参数。
参数(字典)-- 传递给作业的附加参数,用于替换作业定义中设置的参数替换占位符。参数被指定为键值对映射。 SubmitJob 请求中的参数会覆盖作业定义中的任何相应参数默认值。
确保将正确的 IAM 策略附加到 Lambda 函数的角色。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Action": [
"batch:SubmitJob"
],
"Resource": [
"*"
]
}
]
}
【讨论】: