前回、PythonでBoto3を用いて作成したDynamoDBのテーブル内のアイテムを削除しましたが、今回はテーブルを削除してみます。
なお、今回はBoto3を用います。このライブラリ・モジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。また、Boto3を用いる場合には、クレデンシャル(資格情報)などの設定が必要になりますので、こちらを参考にしていただければと思います。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■作成したDynamoDB内のアイテムを確認する
では、PythonでBoto3を用いて作成したDynamoDBのテーブルを削除していきますが、その前に、作成したDynamoDB内のテーブルを確認してみます。
確認するために、AWSにログインし、「AWS マネジメントコンソール」から「DynamoDB」へアクセスし、左側のメニューから「テーブル」をクリックします。クリックすると、「テーブル」内に、以前、Boto3を用いて追加したテーブルが表示されていることが確認できました。
■Boto3を用いて作成したDynamoDBにアイテムを削除する
確認できましたので、Boto3を用いて作成したDynamoDBにアイテムを削除するスクリプトを書いていきます。
■コード
import boto3 dynamodb = boto3.client('dynamodb') try: db_delete = dynamodb.delete_table(TableName="Test1") print("テーブルの削除に成功しました!") except Exception as e: print("テーブルの削除中にエラーが発生しました:") print(e)
importでboto3モジュールを呼び出します。その後、dynamodbという変数を定義し、その中でboto3.client()を用いて、括弧内に引数,パラメータとして、リソースであるdynamodbを渡します。
その後、try-except文を使用し、例外処理を行います。今回、tryにはdb_deleteという変数を定義し、その中でdelete_table()を用います。括弧内には、引数,パラメータとして「TableName=」で削除するテーブルを渡します。今回はTest1とします。これで作成したDynamoDBのテーブルを削除することができます。
次にexceptでは、例外名 Exceptionとし、変数名 eとします。例外が発生した場合に行う処理は、print()を用いて、エラーの文章,内容を出力するというものです。
■実行・検証
このスクリプトを「py_db_table_delete.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
実行してみると、「テーブルの削除に成功しました!」と出力され、テーブルの削除が行われた。
念の為に、AWSにログインし、「AWS マネジメントコンソール」から「DynamoDB」へアクセスし、左側のメニューから「テーブル」をクリックします。クリックすると、「テーブル」内で「テーブルが見つかりません」と表示され、作成したテーブルが削除されていることが確認できました。
テーブルの削除中にエラーが発生しました: 'dynamodb.ServiceResource' object has no attribute 'delete_table'
なお、Boto3を用いてdynamodbという変数を定義し、その中でboto3.client()を用いて、括弧内に引数,パラメータとして、リソースであるdynamodbを渡しますが、この時にboto3.resource()を用いてしまうと、エラーが発生するので、注意が必要である。
コメント