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


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

初めに

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

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

  • lambda
  • シェル

操作

lambda

まず、lambda関数を作成します。
file
file
そして、コードを書きます。
file
そして、テストイベント内にバケットの名前とリージョンを追加します。
file
最後にテストを実行します。
file
成功したら、s3バケットコンソールに行って、正常に作成されたかどうかを確認してください。
file

シェル

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

まず、ローカルサーバーがアカウントのawsサービスに接続されていることを確認します。
関連付けが行われているかどうかを確認するために、aws s3 ls を行うことができます。 関連づけられていない場合は、設定する必要があります。 コンフィグレーションコマンドは、aws configureです。
file
設定が終わったら、テストコードを書きます。
file
テストコードに問題がなければ、シェルにpythonXX.pyバケット名、リージョンを直接入力します。
XXはテストコードのファイルです。
file

コード

シェル

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のバージョンも使用してください。

以上

Last modified: 2024-02-05

Author