使用Python Swift Client上传文件到OpenStack



是否有人有一个完整的例子,如何使用Python Swift客户端上传文件到OpenStack容器:https://pypi.org/project/python-swiftclient/

包括:

  • 对OpenStack实例进行认证
  • 调用相关函数上传文件到OpenStack容器

感谢

我可以用下面这段代码来完成

from keystoneauth1 import session
from keystoneauth1.identity import v3
from swiftclient.client import Connection
# Create a password auth plugin
auth = v3.Password(
auth_url='https://cloud.company.com:5000/v3/',
username='myaccount',
password='mypassword',
user_domain_name='Default',
project_name='myproject',
project_domain_name='Default'
)
# Create session
keystone_session = session.Session(auth=auth)
# Create swiftclient Connection
swift_conn = Connection(session=keystone_session)
# Create container
swift_conn.put_container('test')
# Read file
with open('myfile.txt', 'rb') as f:
file_data = f.read()
# Upload file
swift_conn.put_object('test', 'myfile.txt', file_data)

最新更新