【发布时间】:2021-06-16 02:42:51
【问题描述】:
我有一个 Lambda,它使用 boto3 客户端轮询 DataBrew 作业的状态。代码 - 如此处所写 - 在我的本地环境中运行良好。当我将它放入 Lambda 函数时,出现错误:
[ERROR] AttributeError: 'GlueDataBrew' object has no attribute 'describe_job_run'
这是Boto3 documentation中的语法:
client.describe_job_run(
Name='string',
RunId='string')
这是我的代码:
import boto3
def get_brewjob_status(jobName, jobRunId):
brew = boto3.client('databrew')
try:
jobResponse = brew.describe_job_run(Name=jobName, RunId=jobRunId)
status = jobResponse['State']
except Exception as e:
status='FAILED'
print('Unable to get job status')
raise(e)
return {
'jobStatus':status
}
def lambda_handler(event, context):
jobName=event['jobName']
jobRunId=event['jobRunId']
response=get_brewjob_status(jobName, jobRunId)
return response
我正在使用 boto3 的 Lambda 运行时版本。 jobName 和 jobRunId 变量是从 Step Function 传递的字符串,但我也尝试将它们硬编码到 Lambda 中以检查错误,并且得到相同的结果。我已经尝试在运行时 Python3.7 和 Python3.8 版本上运行它。我也确信(并仔细检查过)IAM 权限允许 Lambda 访问 DataBrew。感谢您的任何想法!
【问题讨论】:
标签: aws-lambda boto3 aws-glue