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

Boto3を使用してワークフローの詳細を取得する方法


この記事では、ユーザーがワークフローのリソースメタデータを取得する方法を説明します。

アカウントで作成されたAWSGlueDataCatalogからワークフローの詳細を取得します。

問題の説明: boto3を使用する アカウントで作成されたワークフローのメタデータを取得するためのPythonのライブラリ。

この問題を解決するためのアプローチ/アルゴリズム

  • ステップ1: boto3をインポートします およびbotocore 例外を処理するための例外。

  • ステップ2: ワークフロー名 この関数に必要なパラメーターです。指定されたワークフローのメタデータを取得します。

  • ステップ3: boto3 libを使用してAWSセッションを作成します 。 region_nameを確認してください デフォルトのプロファイルに記載されています。言及されていない場合は、 region_nameを明示的に渡します セッションの作成中。

  • ステップ4: 接着剤用のAWSクライアントを作成します 。

  • ステップ5: get_workflowに電話します ワークフロー名を渡します 名前パラメータとして。

  • ステップ6: 指定されたワークフローのメタデータを返します。

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

サンプルコード

次のコードは、ユーザーアカウントで作成されたワークフローの詳細を取得します-

import boto3
from botocore.exceptions import ClientError

def get_resource_maetadata_of_workflow(workflow_name):
   session = boto3.session.Session()
   glue_client = session.client('glue')
   try:
      response = glue_client.get_workflow(Name=workflow_name)
return response
   except ClientError as e:
      raise Exception("boto3 client error in get_resource_maetadata_of_workflow: " + e.__str__())
   except Exception as e:
      raise Exception("Unexpected error in get_resource_maetadata_of_workflow: " + e.__str__())
a = get_resource_maetadata_of_workflow('dev-aiml-naviga-ods-load')
print(a)

出力

{'Workflow': {'Name': 'dev-aiml-naviga-ods-load', 'DefaultRunProperties': {}, 'CreatedOn': datetime.datetime(2020, 5, 27, 3, 10, 57, 967000, tzinfo=tzlocal()), 'LastModifiedOn': datetime.datetime(2020, 5, 27, 3, 10, 57, 967000, tzinfo=tzlocal())}, 'StartedOn': datetime.datetime(2021, 2, 3, 16, 14, 48, 795000, tzinfo=tzlocal()), 'CompletedOn': datetime.datetime(2021, 2, 3, 16, 28, 6, 207000, tzinfo=tzlocal()), 'Status': 'COMPLETED', 'Statistics': {'TotalActions': 3, 'TimeoutActions': 0, 'FailedActions': 0, 'StoppedActions': 0, 'SucceededActions': 3, 'RunningActions': 0}}}, 'MissingWorkflows': [], 'ResponseMetadata': {'RequestId': 'b328d064-24ab-48c4-b058-852387a3d474', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sat, 27 Feb 2021 13:57:37 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '2655', 'connection': 'keep-alive', 'x-amzn-requestid': 'b328d064-24ab-48c4-b058-852387a3d474'}, 'RetryAttempts': 0}}

  1. Pythonを使用して一連のポイントの中心を取得するにはどうすればよいですか?

    一連の点の中心を取得するには、リストのすべての要素を追加し、その合計をリストの長さで割って、結果が対応する軸の中心になるようにします。 ステップ データポイントのリストを2つ作成します。 plot()を使用してxおよびyデータポイントをプロットします メソッド。 xおよびyデータポイントの中央のタプルを取得します。 プロットに中心点を配置します。 xおよびyデータポイントの中心のラベルとして中心に注釈を付けます。 図を表示するには、 show()を使用します メソッド。 例 from matplotlib import pyplot as plt pl

  2. Boto3とAWSクライアントを使用してS3バケットのライフサイクルを取得するにはどうすればよいですか?

    問題の説明:Pythonでboto3ライブラリを使用して、S3バケットのライフサイクルを取得します。たとえば、S3でBucket_1のライフサイクルを見つけます。 この問題を解決するためのアプローチ/アルゴリズム ステップ1 −例外を処理するためにboto3およびbotocore例外をインポートします。 ステップ2 −bucket_nameは関数のパラメーターです。 ステップ3 −boto3ライブラリを使用してAWSセッションを作成します。 ステップ4 −S3用のAWSクライアントを作成します。 ステップ5 −ここで、関数get_bucket_lifecycle_configurat