PythonでBoto3を用いて作成したDynamoDBのテーブルを削除する

前回、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()を用いてしまうと、エラーが発生するので、注意が必要である。

コメント

タイトルとURLをコピーしました