Python
 Computer >> コンピューター >  >> プログラミング >> Python

Boto3を使用して、特定のGlueジョブのすべての実行のステータスを確認するにはどうすればよいですか?


問題の説明 − 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ループを使用して、特定のジョブ実行の詳細を1つずつ取得します。

ステップ8 −ここで、ジョブの特定のステータスと対応するジョブ実行IDを取得します。ジョブが完了していない場合、ステータスは「実行中」である可能性があります。それ以外の場合は、SUCCEEDED/FAILEDです。

ステップ9 −ジョブのチェック中に問題が発生した場合は、一般的な例外を処理します。

次のコードを使用して、特定のジョブのすべての実行のステータスを確認します-

 import boto3from botocore.exceptions import ClientErrordef 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( "Job Run id is:" + res.get( "Id"))print( "status is:" + res.get( "JobRunState"))ただし、ClientError as e:raise Exception( "get_status_of_job_all_runsのboto3クライアントエラー:" + e .__ str __())例外としてe:raise Exception( "get_status_of_job_all_runsの予期しないエラー:" + e .__ str __())get_status_of_job_all_runs( "run_s3_file_job") 

出力

<前>は、ジョブがIDIS:jr_6ef92e90ad66b1a6c7abb1c2659d114a34962b8c6ae4bf9b328ac90b99a33b7dstatusは次のとおりです。FAILEDjob IDIS:jr_9fef13265036406e03e7cae79257305353203ab20b5f400e0c429e10a4999dbastatusです:FAILEDjob IDIS:jr_f9d715a33e83460fc2ef6dee0840a98ef52c06c2ff569627633c4505fda7d835statusです:FAILEDjob IDIS:jr_71b57633ac4d8c24f904f0ae01f613f6d54baee440d0ede23f6030cffb0bf4d7statusです:FAILEDjob IDIS:jr_b7ead6b6ae43da2580888c73d6896c177510df73bd77c843d3e77b4dc5f22e2fstatusです:FAILEDjob IDIS:jr_6e757509d51066648d49c22a47c26e728d6f842a1c5d2fd4f41941ca868460e6statusです:FAILEDjob IDIS:jr_89c1a7b8ea045fac36d25733d7fc657d3560eb159e7e122a8960981dd225a9d0statusです:FAILEDjob IDIS:jr_87522bcb924e41a6cf0294185b0a09e46a4ff4c67db5007ff7c10f959836a44bstatusがされ:FAILEDjob IDIS:jr_08bb54854c8e5c60e96a3e2bade1184963973c1ea7a1e760029e740d4c4c5d7dstatusです:FAILEDjob IDIS:jr_540a90407bb7fbde72b3e1d6cbc98c3b246c21c87d836ff389491bf95520bb41statusです:FAILEDjob IDIS:jr_f27227cb16ec9d3df665d8753b09c2e2d24d5b5e5263f3d3f17a9bd4669bee6 7status is:FAILEDjob idis:jr_a1ae4ad2edcbdac5c948b8be92a79a37c27517113364ddc88c8a93bc712fe6c1status is:SUCCEEDED

  1. PythonでBoto3ライブラリを使用してGlueジョブを実行するにはどうすればよいですか?

    問題の説明 − Pythonでboto3ライブラリを使用して、接着ジョブを実行します。たとえば、ジョブrun_s3_file_jobを実行します。 この問題を解決するためのアプローチ/アルゴリズム ステップ1 −例外を処理するためにboto3およびbotocore例外をインポートします。 ステップ2 − job_nameは必須パラメーターであり、argumentsは関数のオプションパラメーターです。実行するために引数を取るジョブはほとんどありません。その場合、引数はdictとして渡すことができます。 例:arguments ={‘arguments1’ =‘value1’、‘argume

  2. Boto3を使用して接着剤ジョブが存在するかどうかを確認するにはどうすればよいですか?

    問題の説明 − Pythonでboto3ライブラリを使用して、接着ジョブが存在するかどうかを確認します。たとえば、 run_s3_file_jobかどうかを確認します AWSグルーに存在するかどうか。 この問題を解決するためのアプローチ/アルゴリズム ステップ1 −例外を処理するためにboto3およびbotocore例外をインポートします。 ステップ2 −job_nameは関数内のパラメーターです。 ステップ3 −boto3ライブラリを使用してAWSセッションを作成します。 region_nameを確認してください デフォルトのプロファイルに記載されています。言及されていない場合は、