Boto3を使ってAWS Glueデータカタログのトリガーを停止する方法
この記事では、Python の boto3 ライブラリを使って、AWS Glue データカタログ上で実行中のトリガーを停止する方法を解説します。
課題
問題: Python の boto3 ライブラリを使用して、指定したトリガーを停止したい。
解決のためのアプローチとアルゴリズム
ステップ1: 例外処理のために、boto3 と botocore.exceptions(ClientError)をインポートします。
ステップ2: 関数の引数として trigger_name(停止対象のトリガー名)を受け取ります。
ステップ3: boto3 を使って AWS セッションを作成します。デフォルトプロファイルに region_name が設定されていることを確認してください。設定されていない場合は、セッション作成時に明示的に region_name を指定する必要があります。
ステップ4: glue サービス用の AWS クライアントを作成します。
ステップ5: stop_trigger メソッドを呼び出し、Name パラメータに trigger_name を渡します。
ステップ6: レスポンスメタデータが返却され、対象のトリガーが停止されます。
ステップ7: トリガー停止時にエラーが発生した場合に備えて、ClientError および汎用例外を適切にハンドリングします。
補足ポイント
stop_trigger は、ACTIVATED(有効化)状態のトリガーに対して呼び出す必要があります。
正常に処理されると、HTTP ステータスコード 200 とともにトリガー名とレスポンスメタデータが返されます。
存在しないトリガー名を指定すると EntityNotFoundException が発生するため、例外処理を必ず組み込みましょう。
サンプルコード
以下のコードは、AWS Glue データカタログ内のトリガーを停止します。
import boto3
from botocore.exceptions import ClientError
def stop_a_trigger(trigger_name):
session = boto3.session.Session()
glue_client = session.client('glue')
try:
response = glue_client.stop_trigger(Name=trigger_name)
return response
except ClientError as e:
raise Exception("boto3 client error in stop_a_trigger: " + e.__str__())
except Exception as e:
raise Exception("Unexpected error in stop_a_trigger: " + e.__str__())
print(stop_a_trigger("test-daily"))出力結果
{'Name': 'test-daily', 'ResponseMetadata': {'RequestId': 'b2109689-*******************-d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sun, 28 Mar 2021 08:00:04 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '26', 'connection': 'keep-alive', 'x-amzn-requestid': 'b2109689-***********************-d'}, 'RetryAttempts': 0}}
-
Boto3を使ってAWS Glueデータカタログからデータベースを削除する方法
課題Pythonのboto3ライブラリを使用して、自分のAWSアカウント内に作成されたデータベースを削除します。例 − アカウントに作成された「Portfolio」というデータベースを削除します。解決のためのアプローチとアルゴリズムステップ1 − 例外をハンドリングするために、boto3とbotocoreの例外モジュールをインポートします。ステップ2 − AWS Glue Catalogから削除したいデータベース名を database_name パラメータとして渡します。ステップ3 − boto3ライブラリを使ってAWSセッションを作成します。デフォルトプロファイルに region_name
-
Boto3を使ってAWS Glueデータカタログからクローラーを削除する方法
本記事では、Pythonのboto3ライブラリを使用して、AWSアカウント内に作成されたGlueクローラーを削除する手順を解説します。AWS Glueのクローラーは、S3などのデータソースをスキャンしてデータカタログにテーブル定義を作成する重要なコンポーネントですが、不要になったクローラーは適切に削除することでリソースを整理できます。 課題 − Pythonのboto3ライブラリを使って、自分のアカウントに作成されたクローラーを削除する。 例 − アカウントに作成された「Portfolio」という名前のクローラーを削除する。 問題解決のアプローチとアルゴリズム ステップ1 − 例外処理のため