【发布时间】:2022-01-21 11:23:10
【问题描述】:
以下代码在 Windows 上运行,但在 Linux 服务器上出现错误。我可以通过使用防火墙、ping 和 telnet 从 linux 服务器访问端点。
import boto3
from botocore.client import Config
import boto3
config = Config(connect_timeout=5, retries={'max_attempts': 0})
aws_access_key_id = "aws_access_key_id"
aws_secret_access_key = "aws_secret_access_key"
host = "http://s3path",)
session = boto3.Session()
s1 = session.resource('s3', config=config)
s3 = boto3.client('s3',endpoint_url=host, aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key,config=config)
# Print out bucket names
contents = s3.list_objects_v2(Bucket='bucket', MaxKeys=1000, Prefix='prefix')['Contents']
print(contents)```
Error:
raise ConnectTimeoutError(endpoint_url=request.url, error=e)
botocore.exceptions.ConnectTimeoutError: Connect timeout on endpoint URL:
【问题讨论】:
-
澄清一下 - 你能 ping
s3.aws.com-datahub吗?或者那是一个示例网址? -
请忽略这些值aws_access_key_id = "aws_access_key_id", aws_secret_access_key = "aws_secret_access_key", host = "hostname"。因为我提到了虚拟值。
标签: python python-3.x linux amazon-s3 boto3