AWS Glue:由于缺少元数据,无法启动作业运行

问题描述 投票:0回答:2

为了使用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)对同一个作业执行相同的操作时,它的工作正常。

python python-3.x boto3 aws-glue
2个回答
0
投票

什么胶水错误日志显示?

您可能在调用作业时未使用的粘贴作业中使用某些参数


0
投票

我也遇到了同样的错误,问题是将胶水作业的ARN作为JobName传递。通过仅传递胶水作业的名称来解决。

response = client.start_job_run(
    JobName='Glue Job Name not ARN'
)
© www.soinside.com 2019 - 2024. All rights reserved.