基本的な質問に対する私の謝罪。 AWSとPythonはまったく初めてです。 https://boto3.readthedocs.io/en/latest/guide/migrations3.html#accessing-a-bucket に記載されているサンプルコードを実行しようとしていますが、エラーが発生しています。
import botocore
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('bucketname')
exists = True
try:
s3.meta.client.head_bucket(Bucket='bucketname')
except botocore.exceptions.ClientError as e:
# If a client error is thrown, then check that it was a 404 error.
# If it was a 404 error, then the bucket does not exist.
error_code = int(e.response['Error']['Code'])
if error_code == 404:
exists = False
ログのエラーは
"errorMessage": "ハンドラ 'lambda_handler'がモジュール 'lambda_function'にありません"
コードで関数を定義する必要があります。コードには、lambda_handler
という名前の関数がありません。コードは次のようになります。
import botocore
import boto3
def lambda_handler(event, context):
s3 = boto3.resource('s3')
bucket = s3.Bucket('bucketname')
exists = True
try:
s3.meta.client.head_bucket(Bucket='bucketname')
except botocore.exceptions.ClientError as e:
# If a client error is thrown, then check that it was a 404 error.
# If it was a 404 error, then the bucket does not exist.
error_code = int(e.response['Error']['Code'])
if error_code == 404:
exists = False