如何从 Bluemix 中的 Flask 应用程序 运行 连接到 Cloudant?
How can I connect to Cloudant from a Flask App running in Bluemix?
我看过 Bluemix 的烧瓶示例项目:https://github.com/IBM-Bluemix/bluemix-python-flask-sample
如何从此 Flask 应用程序连接到 Cloudant?
注:
- 我知道如何使用烧瓶。
- 我已经看到使用 requests 库连接到 Cloudant 的说明,这就是我想要使用的方法。
- 我看过 Cloudant API documentation,我对不同的 API 方法很满意。
我使 flask sample project 工作所遵循的步骤:
- 按照示例项目自述文件中的说明将您的代码部署到 Bluemix
- 登录到 Bluemix 控制台并将 Cloudant 服务添加到您的应用程序
- 修改
welcome.py
和 requirements.txt
源代码以连接到 Cloudant。 (见下面的例子)
- 使用
cf push
将您的更改推送到 Cloudant。
- 点击 url
http://yourbluemixurl/createdb/test
创建一个名为 'test' 的数据库
示例代码:
welcome.py
import os
import json
import requests
from flask import Flask
app = Flask(__name__)
app.config.update(
DEBUG=True,
)
@app.route('/')
def welcome():
return 'Welcome to flask and Cloudant on Bluemix.'
@app.route('/createdb/<db>')
def create_db(db):
try:
vcap = json.loads(os.getenv("VCAP_SERVICES"))['cloudantNoSQLDB']
cl_username = vcap[0]['credentials']['username']
cl_password = vcap[0]['credentials']['password']
url = vcap[0]['credentials']['url']
auth = ( cl_username, cl_password )
except:
return 'A Cloudant service is not bound to the application. Please bind a Cloudant service and try again.'
requests.put( url + '/' + db, auth=auth )
return 'Database %s created.' % db
port = os.getenv('VCAP_APP_PORT', '5000')
if __name__ == "__main__":
app.run(host='0.0.0.0', port=int(port))
requirements.txt
Flask==0.10.1
requests==2.7.0
我看过 Bluemix 的烧瓶示例项目:https://github.com/IBM-Bluemix/bluemix-python-flask-sample
如何从此 Flask 应用程序连接到 Cloudant?
注:
- 我知道如何使用烧瓶。
- 我已经看到使用 requests 库连接到 Cloudant 的说明,这就是我想要使用的方法。
- 我看过 Cloudant API documentation,我对不同的 API 方法很满意。
我使 flask sample project 工作所遵循的步骤:
- 按照示例项目自述文件中的说明将您的代码部署到 Bluemix
- 登录到 Bluemix 控制台并将 Cloudant 服务添加到您的应用程序
- 修改
welcome.py
和requirements.txt
源代码以连接到 Cloudant。 (见下面的例子) - 使用
cf push
将您的更改推送到 Cloudant。 - 点击 url
http://yourbluemixurl/createdb/test
创建一个名为 'test' 的数据库
示例代码:
welcome.py
import os
import json
import requests
from flask import Flask
app = Flask(__name__)
app.config.update(
DEBUG=True,
)
@app.route('/')
def welcome():
return 'Welcome to flask and Cloudant on Bluemix.'
@app.route('/createdb/<db>')
def create_db(db):
try:
vcap = json.loads(os.getenv("VCAP_SERVICES"))['cloudantNoSQLDB']
cl_username = vcap[0]['credentials']['username']
cl_password = vcap[0]['credentials']['password']
url = vcap[0]['credentials']['url']
auth = ( cl_username, cl_password )
except:
return 'A Cloudant service is not bound to the application. Please bind a Cloudant service and try again.'
requests.put( url + '/' + db, auth=auth )
return 'Database %s created.' % db
port = os.getenv('VCAP_APP_PORT', '5000')
if __name__ == "__main__":
app.run(host='0.0.0.0', port=int(port))
requirements.txt
Flask==0.10.1
requests==2.7.0