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

Boto3を使用してAWSデータカタログからデータベース内の複数の関数定義の詳細を取得する方法


ユーザーがAWSGlueデータカタログから複数の関数定義の詳細を取得する方法を見てみましょう。

問題の説明: boto3を使用する AWS GlueDataCatalogからデータベースに存在する複数の関数定義の詳細を取得するためのPythonのライブラリ。

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

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

  • ステップ2: database_name およびregular_patternはオプションのパラメーターです。これらの詳細が提供されていない場合、関数はAWSユーザーアカウントに存在するすべての関数の定義をフェッチします。 database_nameの場合 提供されていますが、 regular_pattern が提供されていない場合は、指定されたデータベース内のすべての関数をフェッチします。両方のパラメーターが指定されている場合は、 regular_patternに従って一致した関数の定義をフェッチします。 。 regular_patternの場合のみ が提供されている場合、 regular_patternに一致するすべての関数をフェッチします AWSユーザーアカウントに存在する

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

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

  • ステップ5: get_multiple_function_definitionを呼び出します database_nameを渡します DatabaseNameおよびregular_patternとして パターンパラメータとして。

  • ステップ6: 提供されたパラメータに従って、複数の関数の定義を返します。

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

サンプルコード

次のコードは、複数の関数の定義をフェッチします-

import boto3
from botocore.exceptions import ClientError

def get_multiple_function_definition(database_name =None, regular_pattern = None):
   session = boto3.session.Session()
   glue_client = session.client('glue')
   try:
      response = glue_client.get_user_defined_functions(DatabaseName=database_name,Pattern= regular_pattern)
      return response
   except ClientError as e:
      raise Exception("boto3 client error in get_multiple_function_definition: " + e.__str__())
   except Exception as e:
      raise Exception("Unexpected error in get_multiple_function_definition: " + e.__str__())
a = get_multiple_function_definition('employee')
print(a)

出力

{
   'UserDefinedFunctions':[{
      'FunctionName': 'insert_employee_record',
      'DatabaseName': 'employee',
      'ClassName': 'InsertEmployee',
      'OwnerName': 'string',
      'OwnerType': 'USER'|'ROLE'|'GROUP',
      'CreateTime': datetime(2021,03,15),
      'ResourceUris':[
         {
            'ResourceType': 'JAR'|'FILE'|'ARCHIVE',
            'Uri': 'string'
         },
      ]
   }]
}

  1. Boto3とAWSクライアントを使用してS3バケットの通知設定の詳細を取得するにはどうすればよいですか?

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

  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_loggingを使用して、バケット名を渡