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

Boto3を使用してAWSGlueリソースからタグを取得する方法


この記事では、ユーザーがAWSGlueリソースに関連付けられたタグを取得する方法を説明します。

タグを取得する「glue-db:tests 」AWSグルーデータベースから。

問題の説明: Pythonでboto3ライブラリを使用して、AWSGlueResourcesからタグを取得します。

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

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

  • ステップ2: resource_arn この関数に必要なパラメータです。

resource_arnの形式は次のようになります-

カタログ arn:aws:glue:region:account-id:catalog
データベース arn:aws:glue:region:account-id:database / database name
テーブル arn:aws:glue:region:account-id:table/データベース名/テーブル名
接続 arn:aws:glue:region:account-id:connection / connection name
クローラー arn:aws:glue:region:account-id:crawler / crawler-name
仕事 arn:aws:glue:region:account-id:job / job-name
トリガー arn:aws:glue:region:account-id:trigger / trigger-name
開発エンドポイント arn:aws:glue:region:account-id:devEndpoint / development-endpoint-name
機械学習変換 arn:aws:glue:region:account-id:mlTransform / transform-id
  • ステップ3: boto3 libを使用してAWSセッションを作成します 。 region_nameを確認してください デフォルトのプロファイルに記載されています。言及されていない場合は、 region_nameを明示的に渡します セッションの作成中。

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

  • ステップ5: 次に、 get_tagsを使用します 関数を実行し、パラメータ resource_arnを渡します ResourceArnとして。

  • ステップ6: リソースからタグと応答メタデータを返します。

  • ステップ7: タグの取得中に問題が発生した場合は、一般的な例外を処理します。

サンプルコード

次のコードを使用してタグを取得します-

import boto3
from botocore.exceptions import ClientError

def get_tags_from_resource(resource_arn)
   session = boto3.session.Session()
   glue_client = session.client('glue')
   try:
      response = glue_client.get_tags(ResourceArn= resource_arn)
      return response
   except ClientError as e:
      raise Exception("boto3 client error in get_tags_from_resource: " + e.__str__())
   except Exception as e:
      raise Exception("Unexpected error in get_tags_from_resource: " + e.__str__())
print(add_tags_in_resource("arn:aws:glue:us-east-1:1122225*****88:database/test-db"))

出力

{'Tags': {'glue-job': 'test'}, 'ResponseMetadata': {'RequestId': 'c9f418b0-8d02-4a26-*************', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Fri, 02 Apr 2021 08:04:54 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '27', 'connection': 'keep-alive', 'x-amzn-requestid': 'c9f418b0-8d02-4a26-**************'}, 'RetryAttempts': 0}}

  1. Boto3を使用してAWSGlueから接着剤ジョブを削除するにはどうすればよいですか?

    問題の説明 − Pythonでboto3ライブラリを使用して、アカウントで作成された接着剤ジョブを削除します。 例 −アカウントで作成された接着剤ジョブ「transfer_from_s3」を削除します。 この問題を解決するためのアプローチ/アルゴリズム ステップ1 −例外を処理するためにboto3およびbotocore例外をインポートします。 ステップ2 −AWSGlueカタログから削除する必要があるパラメータjob_nameを渡します。 ステップ3 −boto3ライブラリを使用してAWSセッションを作成します。 region_nameがデフォルトのプロファイルに記載されていることを確

  2. Boto3を使用してAWSGlueデータカタログからクローラーを削除するにはどうすればよいですか?

    問題の説明 − Pythonでboto3ライブラリを使用して、アカウントで作成されたクローラーを削除します。 例 −アカウントで作成されたクローラー「ポートフォリオ」を削除します。 この問題を解決するためのアプローチ/アルゴリズム ステップ1 −例外を処理するためにboto3およびbotocore例外をインポートします。 ステップ2 −AWSGlueカタログから削除する必要があるパラメータcrawler_nameを渡します。 ステップ3 −boto3ライブラリを使用してAWSセッションを作成します。 region_nameがデフォルトのプロファイルに記載されていることを確認してください