首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在码头容器之间连接到scality/s3服务器

在码头容器之间连接到scality/s3服务器
EN

Stack Overflow用户
提问于 2018-03-17 17:03:02
回答 1查看 1.7K关注 0票数 3

我们正在使用基于python的解决方案,它将从S3加载和存储文件。对于开发和本地测试,我们正在使用一个漂泊的环境,与码头和码头组成。我们有两个坞-组合定义-一个用于辅助后端服务(mongo、restheart、redis和s3),另一个包含使用后端服务的基于python的REST公开解决方案。

当我们的“前端”停靠-撰写组与restheart交互时,工作正常(在http调用中使用restheart容器的名称作为服务器主机)。当我们在scality/s3服务器上做同样的事情时,这是行不通的。

有趣的部分是,我们已经创建了一个测试套件,用于使用scality/s3服务器,该测试套件来自运行在主机(windows10)上的python测试套件,该测试套件通过流浪者通过漂流器传送到docker-compose组中scality/s3服务器的对接容器。我们使用了endpoint_url本地主机,它工作得非常完美。

在错误情况下(当前端web服务想要写入S3时),“前端”服务总是使用: botocore.exceptions.ClientError: a error发生(InvalidURI)响应,当调用CreateBucket操作:无法解析指定的URI时。检查您的restEndpoints配置。s3server总是以HTTP400和消息响应:

s3server {“名称”:“S3”、"clientIP":"::ffff:172.20.0.7“、"clientPort":49404、"httpMethod":"PUT”、"httpURL":"/raw-data“、"time":1521306054614、"req_id":"e385aae3c04d99fc824d”、"level":"info“、”message“:”接收到的请求“、”cdc8a2f93d2f“、"pid":83} s3server {"name":"S3”、"bytesSent":233,"clientIP":"::ffff:172.20.0.7","clientPort":49404,"httpMethod":"PUT","httpURL":"/raw-data",clientIP:1521306054639,"req_id":"e385aae3c04d99fc824d","elapsed_ms":25.907569,"level":"info","message":"responded with error XML","hostname":"cdc8a2f93d2f","pid":83}

我们使用以下boto3代码调用scality:

代码语言:javascript
复制
    s3 = boto3.resource('s3',
                        aws_access_key_id='accessKey1',
                        aws_secret_access_key='verySecretKey1',
                        endpoint_url='http://s3server:8000')
    s3_client = boto3.client('s3',
                             aws_access_key_id='accessKey1',
                             aws_secret_access_key='verySecretKey1',
                             endpoint_url='http://s3server:8000')

    s3.create_bucket(Bucket='raw-data') # here the exception comes
    bucket = self.s3.Bucket('raw-data')
EN

回答 1

Stack Overflow用户

发布于 2018-03-21 16:40:48

这个问题很常见。在您安装在Docker容器中的config.json文件中,我假设有一个restEndpoints部分,您必须将域名与默认区域关联起来。这意味着您的前端域名应该指定在那里,匹配默认区域。请注意,默认区域并不会阻止您使用其他区域:如果不指定其他区域,则只需要在其中创建存储桶。

将来,我建议您在Zenko论坛上直接打开一个问题,因为这是大多数社区和核心开发人员所在的地方。

干杯,

劳尔

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49339557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档