首先,确保您的AWS凭证在CLI和boto3中都是相同的。如果仍然无法工作,可能是由于boto3使用不同的默认凭证文件。您可以通过设置环境变量或使用AWS配置文件来指定凭证文件路径。例如:
# 指定配置文件路径
import boto3
session = boto3.Session(profile_name='my_profile')
s3 = session.resource('s3')
# 设置环境变量
import os
os.environ['AWS_CONFIG_FILE'] = '/path/to/config/file'
os.environ['AWS_SHARED_CREDENTIALS_FILE'] = '/path/to/credentials/file'
另外,请确保您的AWS凭证具有足够的权限来执行您的代码。您可以尝试使用AWS CLI或IAM控制台测试您的凭证是否有效。