尝试通过API连接时的Swift身份验证

时间:2015-09-19 07:31:42

标签: openstack openstack-swift

我是研究小组的团队成员,我目前的研究需要使用Openstack Swift。 我们安装了Openstack Juno,效果很好。对于安装Packstack使用过。 swift服务也安装在服务器上,它的工作原理!我们试图从控制台创建容器访问它,上传文件等一切正常。 所以我们进一步尝试使用其API访问swift。在这里,我们遇到了身份验证阶段的问题。

下面你可以看到我用来检查我是否可以连接到Swift的简单python代码。

import swiftclient
import keystoneclient 


conn = swiftclient.Connection(
            authurl='http://*[server ip]*:5000/v2.0/',
                                    user='account_name:username',
                                    key='serverpassword',
                                    auth_version="2.0").get_auth()[0]  

for container in conn.get_account()[1]:
       print container['name']

在客户端计算机上执行cod之前,我已经安装了以下必需的软件包。

sudo aptitude install python-pip
sudo pip install python-swiftclient
sudo pip install python-keystoneclient

在这里,您可以看到执行代码时出现的错误。

Traceback (most recent call last):
  File "new.py", line 15, in <module>
    auth_version="2.0").get_auth()[0]
  File "/usr/local/lib/python2.7/dist-packages/swiftclient/client.py", line 1332, in get_auth
    timeout=self.timeout)
  File "/usr/local/lib/python2.7/dist-packages/swiftclient/client.py", line 463, in get_auth
    auth_version=auth_version)
  File "/usr/local/lib/python2.7/dist-packages/swiftclient/client.py", line 366, in get_auth_keystone
    ksclient, exceptions = _import_keystone_client(auth_version)
  File "/usr/local/lib/python2.7/dist-packages/swiftclient/client.py", line 351, in _import_keystone_client
    variables to be set or overridden with -A, -U, or -K.''')
swiftclient.exceptions.ClientException: 
Auth versions 2.0 and 3 require python-keystoneclient, install it or use Auth
version 1.0 which requires ST_AUTH, ST_USER, and ST_KEY environment
variables to be set or overridden with -A, -U, or -K.

我试图找到在互联网上搜索的解决方案,但我没有成功。

0 个答案:

没有答案