如何使用 Boto3 检查给定 Glue Job 的所有运行状态?

问题陈述- 使用 Python 中的 boto3 库检查给定作业的所有运行状态。

示例- 获取名为“run_s3_file_job”的粘合作业的所有运行状态。

解决这个问题的方法/算法

步骤 1 - 导入 boto3 和 botocore 异常以处理异常。

第 2 步- job_name是强制性参数。该函数将获取给定 job_name 的详细信息。

步骤 3 - 使用 boto3 库创建 AWS 会话。确保在默认配置文件中提到region_name。如果未提及,则在创建会话时显式传递region_name。

第 4 步- 为胶水创建一个 AWS 客户端。

第 5 步- 现在使用get_job_runs函数并将job_name作为 JobName 参数传递。

第 6 步- 它获取给定作业的所有过去作业运行的详细信息。

步骤 7 - 使用 for 循环一一获取特定作业运行的详细信息。

第 8 步- 现在,获取作业的特定状态和相应的作业运行 ID。如果作业未完成,状态可能为正在运行,否则为 SUCCEEDED/FAILED。

第 9 步- 如果在检查作业时出现问题,则处理通用异常。

示例

使用以下代码检查给定作业的所有运行的状态 -

import boto3

frombotocore.exceptionsimport ClientError

def get_status_of_job_all_runs(job_name):

   session = boto3.session.Session()

   glue_client = session.client('glue')

   try:

      response = glue_client.get_job_runs(JobName=job_name)

      for res in response['JobRuns']:

         print("作业运行 ID 为:"+res.get("Id"))

         print("状态是:"+res.get("JobRunState"))

   except ClientError as e:

      raise Exception("boto3 client error in get_status_of_job_all_runs: " + e.__str__())

   except Exception as e:

      raise Exception("Unexpected error in get_status_of_job_all_runs: " + e.__str__())

get_status_of_job_all_runs("run_s3_file_job"))

输出结果
job id

is:jr_6ef92e90ad66b1a6c7abb1c2659d114a34962b8c6ae4bf9b328ac90b99a33b7d

状态是:FAILED

job id

is:jr_9fef13265036406e03e7cae79257305353203ab20b5f400e0c429e10a4999dba

状态是:FAILED

job id

is:jr_f9d715a33e83460fc2ef6dee0840a98ef52c06c2ff569627633c4505fda7d835

状态是:FAILED

job id

is:jr_71b57633ac4d8c24f904f0ae01f613f6d54baee440d0ede23f6030cffb0bf4d7

状态是:FAILED

job id

is:jr_b7ead6b6ae43da2580888c73d6896c177510df73bd77c843d3e77b4dc5f22e2f

状态是:FAILED

job id

is:jr_6e757509d51066648d49c22a47c26e728d6f842a1c5d2fd4f41941ca868460e6

状态是:FAILED

job id

is:jr_89c1a7b8ea045fac36d25733d7fc657d3560eb159e7e122a8960981dd225a9d0

状态是:FAILED

job id

is:jr_87522bcb924e41a6cf0294185b0a09e46a4ff4c67db5007ff7c10f959836a44b

状态是:FAILED

job id

is:jr_08bb54854c8e5c60e96a3e2bade1184963973c1ea7a1e760029e740d4c4c5d7d

状态是:FAILED

job id

is:jr_540a90407bb7fbde72b3e1d6cbc98c3b246c21c87d836ff389491bf95520bb41

状态是:FAILED

job id

is:jr_f27227cb16ec9d3df665d8753b09c2e2d24d5b5e5263f3d3f17a9bd4669bee67

状态是:FAILED

job id

is:jr_a1ae4ad2edcbdac5c948b8be92a79a37c27517113364ddc88c8a93bc712fe6c1

状态是:SUCCEEDED

以上是 如何使用 Boto3 检查给定 Glue Job 的所有运行状态? 的全部内容, 来源链接: utcz.com/z/322809.html

回到顶部