首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

快速构建 DMS Web 应用程序之利刃: Flask + Celery + Redis + Cloudant(4)

快速构建 DMS Web 应用程序之利刃: Flask + Celery + Redis + Cloudant(4)

快速使用 Cloudant一个项目中除了临时变量,还有一些需要持久化保存的数据,这个时候就需要 Cloudant 来对持久化数据进行存储了。
使用 Cloudant 需要先创建一个 IBM Cloud 账户,并将账户连接到 IBM ID,而后可以开始构建数据库。在浏览器中输入网址: https://console.bluemix.net/ 即可进入 IBM        Cloud 注册页面,如图 4 所示:
图 4. IBM Cloud 入口
进入官网后创建 IBM Cloud 账户,便可以看到账户下的资源信息,如图 5 所示:
图 5. 仪表盘文件
然后点击目录,进入 Databases > Cloudant
图 6. Cloudant 入口
拥有 IBM Cloud 的账号后,安装 Python 库来使用 Cloudant:$ pip freeze,查看安装列表中是否安装了          Cloudant 2.8.1,若没有,则运行命令:$ pip install cloudant==2.8.1。然后在 Python 文件中引入        Cloudant: import cloudant。
此时便可以将 Cloudant 服务接入 IBM Cloud,首先登录至 IBM Cloud,并将 Cloudant NoSQL DB 服务添加到 IBM Cloud          空间,然后打开仪表盘,点击进入服务,点击左侧服务凭证添加凭证,如图 7 所示:
图 7. 添加凭证页面
在脚本中进行基本认证:client = Cloudant(USERNAME, PASSWORD, url=url, connect=True)
然后创建数据库:
  • 在 Python 脚本中定义数据库名:databaseName = "<DatabaseName>"。
  • 创建数据库:myDatabase = client.create_database(databaseName)。
  • 通过以下代码验证数据库是否创建成功:
    if myDatabase.exists():
      print "'{0}' successfully created.\n".format(databaseName)




如果成功,则可以对数据进行保存并进行一些操作,如:
  • 定义一组数据,如清单 4 所示。
  • 通过 Python 逐行获取数据,如清单 5 所示。
清单 4. 定义一组数据
1
2
3
4
5
6
7
sampleData = [
   [1, "one", "boiling", 100],
   [2, "two", "hot", 40],
   [3, "three", "warm", 20],
   [4, "four", "cold", 10],
   [5, "five", "freezing", 0]
]




清单 5. 通过 Python        逐行获取数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Create documents by using the sample data.
# Go through each row in the array
for document in sampleData:
# Retrieve the fields in each row.
number = document[0]
name = document[1]
description = document[2]
temperature = document[3]

# Create a JSON document that represents
# all the data in the row.
jsonDocument = {
     "numberField": number,
     "nameField": name,
     "descriptionField": description,
     "temperatureField": temperature
}

# Create a document by using the database API.
newDocument = myDatabase.create_document(jsonDocument)

# Check that the document exists in the database.
if newDocument.exists():
     print "Document '{0}' successfully created.".format(number)

返回列表