簡體   English   中英

AWS Glue:由於缺少元數據而無法啟動作業運行

[英]AWS Glue: Failed to start job run due to missing metadata

為了使用 boto3 運行作業, 文檔說明只需要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 )對同一個作業執行相同的操作時,它一切正常。

根據我的經驗,錯誤通常意味着找不到工作 一旦作業綁定到區域,名稱和區域的組合將唯一標識作業,並且其中任何一個錯誤(包括瑣碎的錯誤類型)都會導致您遇到的錯誤(d)。 例如,我正在使用的作業在 us-east-1 中,因此以下語句成功執行。

    glue_client = boto3.client('glue', region_name='us-east-1')
    response = glue_client.start_job_run(
        JobName = glue_job_name)

但是,下面的代碼段將產生與您相同的錯誤

    glue_client = boto3.client('glue', region_name='us-west-1')
    response = glue_client.start_job_run(
        JobName = glue_job_name)

botocore.errorfactory.EntityNotFoundException:調用 StartJobRun 操作時發生錯誤 (EntityNotFoundException):由於缺少元數據,無法啟動作業運行

在上面的情況下,通過使用 --region 參數指定運行 cli 比較容易檢查

它會是這樣的:aws paste start-job-run --job-name March15_9 --region ap-south-1

如果這運行成功(因此該區域確實是 ap-south-1),我會在代碼中明確設置參數以刪除未知因素,而不是通過環境變量傳遞它們,您可以臨時將字符串值放入代碼中。

一旦代碼處理了硬編碼值,您就可以將它們一一刪除,從而找到一個(或幾個)需要正確傳遞的值。

祝一切順利

PS確實,文檔是正確的,只需要將JobName設置為參數,我有這樣工作的代碼

什么膠水錯誤日志指示?

您可能在粘合作業中使用了一些參數,而這些參數在調用作業時並未傳遞

我也遇到了同樣的錯誤,問題是將膠水作業的 ARN 作為 JobName 傳遞。 通過僅傳遞粘合作業的名稱來解決。

response = client.start_job_run(
    JobName='Glue Job Name not ARN'
)

檢查膠水作業的名稱是否正確寫入。 我有一個類似的案例,我就是這樣解決的。 (例如:Job_01 而不是 Job_01)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM