サイトアイコン 協栄情報ブログ

プログラムでS3バケットを作成の方式二種紹介


この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

初めに

協栄情報の陸です。AWS初心者です。

本日はAmazon S3バケットを作成する方法二種を紹介します。

操作

lambda

まず、lambda関数を作成します。


そして、コードを書きます。

そして、テストイベント内にバケットの名前とリージョンを追加します。

最後にテストを実行します。

成功したら、s3バケットコンソールに行って、正常に作成されたかどうかを確認してください。

シェル

pythonのコードを使ってシェル経由でs3バケットを作成します。

まず、ローカルサーバーがアカウントのawsサービスに接続されていることを確認します。
関連付けが行われているかどうかを確認するために、aws s3 ls を行うことができます。 関連づけられていない場合は、設定する必要があります。 コンフィグレーションコマンドは、aws configureです。

設定が終わったら、テストコードを書きます。

テストコードに問題がなければ、シェルにpythonXX.pyバケット名、リージョンを直接入力します。
XXはテストコードのファイルです。

コード

シェル

import boto3
import logging
import sys
from botocore.exceptions import ClientError

def create_bucket(bucket_name,region = None):
    try:
        if region is None:
            s3_client = boto3.client("s3")
            s3_client.create_bucket(Bucket=bucket_name)
        else:
            s3_client = boto3.client('s3',region_name = region)
            location = {'LocationConstraint' : region}
            s3_client.create_bucket(Bucket = bucket_name , CreateBucketConfiguration = location)
    except ClientError as e:
        logging.error(e)
        return False
    return True

if __name__ == "__main__":
    try:
        bucket_name , region = sys.argv[1:3]
        create_bucket(bucket_name,region)
    except Exception as e :
        print(e)

lambda

import json
import boto3

def create_bucket(bucket_name,region = None):
    try:
        if region is None:
            s3_client = boto3.client("s3")
            s3_client.create_bucket(Bucket=bucket_name)
        else:
            s3_client = boto3.client('s3',region_name = region)
            location = {'LocationConstraint' : region}
            s3_client.create_bucket(Bucket = bucket_name , CreateBucketConfiguration = location)
    except ClientError as e:
        logging.error(e)
        return False
    return True

def lambda_handler(event, context):
    create_bucket(event.get("bucket_name"),event.get("region"))

注意

  また、特に注意したいのがpythonのバージョンです。私のマシンにはpython2が付属しているので、python2を使用するためにboto3などの依存パッケージをダウンロードしている場合、デフォルトの起動もpython2を介して起動します。 最後に、pythonファイルを起動する際には、依存パッケージをダウンロードしたpythonのバージョンも使用してください。

以上

モバイルバージョンを終了