为了使用boto3运行作业,documentation表示只需要JobName
。但是,我的代码:
def start_job_run(self, name):
print("The name of the job to be run via client is: {}".format(name))
self.response_de_start_job = self.client.start_job_run(
JobName=name
)
print(self.response_de_start_job)
而客户是:
self.client = boto3.client(
'glue',
region_name='ap-south-1',
aws_access_key_id=os.getenv('AWS_ACCESS_KEY_ID'),
aws_secret_access_key=os.getenv('AWS_SECRET_ACCESS_KEY'),
)
通过Python3执行时,会发出错误:
botocore.errorfactory.EntityNotFoundException: An error occurred (EntityNotFoundException) when calling the StartJobRun operation: Failed to start job run due to missing metadata
但是当我从UI和cli(aws glue start-job-run --job-name march15_9
)对同一个作业执行相同的操作时,它的工作正常。
什么胶水错误日志显示?
您可能在调用作业时未使用的粘贴作业中使用某些参数
我也遇到了同样的错误,问题是将胶水作业的ARN作为JobName传递。通过仅传递胶水作业的名称来解决。
response = client.start_job_run(
JobName='Glue Job Name not ARN'
)