Khi tôi chỉ đơn giản chạy mã sau, tôi luôn gặp lỗi này.
s3 = boto3.resource('s3')
bucket_name = "python-sdk-sample-%s" % uuid.uuid4()
print("Creating new bucket with name:", bucket_name)
s3.create_bucket(Bucket=bucket_name)
Tôi đã lưu tệp thông tin xác thực của mình trong
C:\Users\myname\.aws\credentials
, từ đó Boto sẽ đọc thông tin đăng nhập của tôi.
Cài đặt của tôi có sai không?
Đây là kết quả từ boto3.set_stream_logger('botocore', level='DEBUG')
.
2015-10-24 14:22:28,761 botocore.credentials [DEBUG] Skipping environment variable credential check because profile name was explicitly set.
2015-10-24 14:22:28,761 botocore.credentials [DEBUG] Looking for credentials via: env
2015-10-24 14:22:28,773 botocore.credentials [DEBUG] Looking for credentials via: shared-credentials-file
2015-10-24 14:22:28,774 botocore.credentials [DEBUG] Looking for credentials via: config-file
2015-10-24 14:22:28,774 botocore.credentials [DEBUG] Looking for credentials via: ec2-credentials-file
2015-10-24 14:22:28,774 botocore.credentials [DEBUG] Looking for credentials via: boto-config
2015-10-24 14:22:28,774 botocore.credentials [DEBUG] Looking for credentials via: iam-role
HOME
để trỏ tới C:\Users\myname
hoặc đặt AWS_SHARED_CREDENTIALS_FILE
để trỏ trực tiếp đến tệp thông tin xác thực của bạn.
botocore.exceptions.NoRegionError: You must specify a region.
* tệp cấu hình của tôi ↓ nằm trong cùng thư mục với thông tin đăng nhập của tôi. [default] ap-northeast-1
boto3.set_stream_logger('botocore', level='DEBUG')
trước mã của bạn không? Nó sẽ hiển thị nơi nó đang tìm kiếm thông tin đăng nhập.