全局名称 's3' 未使用 boto 定义?

global name 's3' not defined using boto?

Boto3 已安装,但当我尝试使用以下函数将图像上传到 S3 存储桶时,出现全局名称 's3' 未定义错误。

有没有我遗漏的东西?

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

def upload_file(file_name, bucket, object_name=None):

if object_name is None:
    object_name = os.path.basename(file_name)

s3_client = boto3.resource('s3')

try:
    response = s3.client.upload_file(file_name, bucket, 
    object_name)
except ClientError as e:
    logging.error(e)
    return False
return True

upload = upload_file('test1.jpg','mybucket', 'test1.jpg')

这一行:

response = s3.client.upload_file(file_name, bucket, object_name)

应该是:

response = s3_client.upload_file(file_name, bucket, object_name)