[PYTHON] Holen Sie sich Daten von Cloudant mit Bluemix-Kolben

Auf der nächsten Seite wird beschrieben, wie Sie eine Verbindung zu Cloudant herstellen. How can I connect to Cloudant from a Flask App running in Bluemix?

In diesem Beispiel gibt es nur ein Beispiel für das Erstellen einer Datenbank. Daher habe ich ein Beispiel für eine gelesene Datenbank erstellt.

Ich habe die erstellte Datenbank manuell ausgefüllt.

Nur welcome.py muss geändert werden.

# -*- coding: utf-8 -*-
#
#	welcome.py
# ----------------------------------------------------------------------
import os
import json
import requests
from flask import Flask
from flask import jsonify

app = Flask(__name__)

app.config.update(
    DEBUG=True,
)

# ----------------------------------------------------------------------
def define_url_auth_proc():
	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 )
#
	return url,auth
# ----------------------------------------------------------------------
@app.route('/')
def welcome():
    return app.send_static_file('index.html')

# ----------------------------------------------------------------------
@app.route('/getdb/<db>')
def get_db(db):
    try:
        url,auth = define_url_auth_proc()
    except:
        return 'A Cloudant service is not bound to the application.  Please bind a Cloudant service and try again.'

    rr=requests.get( url + '/' + db, auth=auth )
    dict=rr.json()
    return jsonify(results=dict)


# ----------------------------------------------------------------------
@app.route('/getdb2/<db>')
def get_db2(db):
    try:
        url,auth = define_url_auth_proc()
    except:
        return 'A Cloudant service is not bound to the application.  Please bind a Cloudant service and try again.'

    url_aa =  url + '/' + db + '/_all_docs?include_docs=true'
    rr=requests.get( url_aa, auth=auth )
    dict=rr.json()
    return jsonify(results=dict)
#
# ----------------------------------------------------------------------
@app.route('/createdb/<db>')
def create_db(db):
    try:
        url,auth = define_url_auth_proc()
    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))
# ----------------------------------------------------------------------

Situation, in der Daten manuell eingegeben wurden

cloudant_jun2700.png

Ausführungsergebnis http://ekzemplarocc.mybluemix.net/getdb/test

cloudant_jun2701.png

http://ekzemplarocc.mybluemix.net/getdb2/test

cloudant_jun2702.png

Die App muss mit Cloudant NoSQL verbunden sein, um sie ausführen zu können.

Recommended Posts

Holen Sie sich Daten von Cloudant mit Bluemix-Kolben
[Hinweis] Mit Python Daten von PostgreSQL abrufen
Holen Sie sich mit pyVISA Daten von einem Oszilloskop
Strukturdaten von CHEMBLID abrufen
Holen Sie sich Youtube-Daten mit Python
Abrufen von Daten aus der Datenbank über ODBC mit Python (Access)
Abrufen von Daten aus der Analyse-API mit Google API Client für Python
Holen Sie sich mit DataFrame eine Spalte aus DataFrame
[Python] Mit DataReader Wirtschaftsdaten abrufen
Holen Sie sich Daten von Twitter mit Tweepy
Holen Sie sich Daten von VPS MySQL mit Python 3 und SQL Alchemy
Holen Sie sich mit Python zusätzliche Daten zu LDAP
Empfangen Sie Textdaten von MySQL mit Python
Holen Sie sich HTML von Element mit Python-Selen
Holen Sie sich mit Python Zeitreihendaten von k-db.com
Holen Sie sich Aktienkursdaten mit Quandl API [Python]
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Holen Sie sich mehr als 10 Daten aus dem SSM-Parameterspeicher
Holen Sie sich während der Pip-Installation Datendateien von einer anderen Stelle
Extrahieren Sie mit Python Daten von einer Webseite
Holen Sie sich Amazon RDS (PostgreSQL) -Daten mithilfe von SQL mit Pandas
So kratzen Sie Bilddaten von Flickr mit Python
Holen Sie sich Finanzdaten mit Python (dann ein wenig basteln)
Holen Sie sich mit Python + Zeep einen Zeitplan von der Garoon SOAP API
Holen Sie sich mit Python Daten vom GPS-Modul mit 10 Hz
So erhalten Sie mit SQLAlchemy + MySQLdb mehr als 1000 Daten
Ein Server, der POST-Daten mit flask / python wiedergibt
Erhalten Sie Kommentare und Abonnenten mit der YouTube-Daten-API
Erhalten Sie E-Mails von Google Mail und beschriften Sie sie mit Python3
Ich habe versucht, mit Scrapy Daten von einer Website zu sammeln
[Grundlagen der Datenwissenschaft] Sammeln von Daten aus RSS mit Python
* Android * [HTTP-Kommunikation_2] HTTP-Kommunikation mit Flask (Web-API [GET, POST] drücken)
Datenanalyse mit Python 2
Einführung in WebPay von Flask
Daten aus S3 extrahieren
Flask Tutorial # 1 ~ GET Request ~
Datenvisualisierung mit Pandas
IP-Einschränkung mit Flask
[Python / Ruby] Mit Code verstehen Wie man Daten aus dem Internet abruft und in CSV schreibt
Beginnen Sie mit MicroPython
Datenmanipulation mit Pandas!
Holen Sie sich Tweets mit Tweepy
Holen Sie sich Gzip-komprimierte Daten in den Speicher
Daten mit Pandas mischen
Holen Sie sich ein Date mit Python
Datenerweiterung mit openCV
Beginnen Sie mit Mezzanine
Daten mit Scipy normieren
Hallo Welt auf Flasche
Datenanalyse mit Python
Programmieren mit Python Flask
LADEN SIE DATEN mit PyMysql
Ein Memo, das mit Python & Spark Daten aus dashDB liest
Erste Schritte mit dem Zeichnen mit matplotlib: Erstellen von Diagrammen aus Datendateien
[Linux] Kopieren Sie Daten mit einem Shell-Skript von Linux nach Windows
Hinweise zum Importieren von Daten aus MySQL oder CSV mit Python
Überprüfen Sie! Erhalten Sie Sensordaten über Bluetooth mit Raspberry Pi ~ Preparation
Holen Sie sich die Paketversion, um sich bei PyPI von Git zu registrieren
Befreien Sie sich mit Python und regulären Ausdrücken von schmutzigen Daten