[PYTHON] Obtenez des données de Cloudant avec le flacon Bluemix

La page suivante décrit comment se connecter à Cloudant. How can I connect to Cloudant from a Flask App running in Bluemix?

Dans cet exemple, il n'y a qu'un exemple de création d'une base de données, j'ai donc créé un échantillon d'une base de données lue.

J'ai rempli manuellement la base de données créée.

Seul welcome.py doit être modifié.

# -*- 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 où les données ont été saisies manuellement

cloudant_jun2700.png

Résultat d'exécution http://ekzemplarocc.mybluemix.net/getdb/test

cloudant_jun2701.png

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

cloudant_jun2702.png

L'application doit être connectée à Cloudant NoSQL pour l'exécuter.

Recommended Posts

Obtenez des données de Cloudant avec le flacon Bluemix
[Note] Obtenir des données de PostgreSQL avec Python
Obtenez des données d'un oscilloscope avec pyVISA
Obtenir les données structurelles de CHEMBLID
Obtenez des données Youtube avec python
Obtenir des données de la base de données via ODBC avec Python (Access)
Obtenez des données de l'API d'analyse avec le client API Google pour python
Obtenir des données de Quandl en Python
Obtenir une colonne de DataFrame avec DataFrame
[Python] Obtenez des données économiques avec DataReader
Obtenez des données de Twitter avec Tweepy
Obtenez des données de VPS MySQL avec Python 3 et SQL Alchemy
Obtenez des données supplémentaires vers LDAP avec python
Recevoir des données textuelles de mysql avec python
Obtenir le code HTML de l'élément avec du sélénium Python
Obtenez des données de séries chronologiques de k-db.com avec Python
Obtenez des données sur le cours de l'action avec l'API Quandl [Python]
J'ai essayé d'obtenir des données CloudWatch avec Python
Obtenez plus de 10 données du magasin de paramètres SSM
Obtenez des fichiers de données ailleurs pendant l'installation de pip
Extraire des données d'une page Web avec Python
Obtenez des données Amazon RDS (PostgreSQL) à l'aide de SQL avec pandas
Comment récupérer des données d'image de Flickr avec Python
Obtenez des données financières avec python (puis un peu de bricolage)
Obtenir le calendrier de l'API Garoon SOAP avec Python + Zeep
Obtenez des données du module GPS à 10 Hz avec Python
Comment obtenir plus de 1000 données avec SQLAlchemy + MySQLdb
Un serveur qui fait écho aux données POSTées avec flask / python
Obtenez des commentaires et des abonnés avec l'API de données YouTube
Recevoir des e-mails de Gmail et étiqueter avec Python3
J'ai essayé de collecter des données sur un site Web avec Scrapy
[Bases de la science des données] Collecte de données depuis RSS avec python
* Android * [Communication HTTP_2] Communication HTTP avec Flask (appuyez sur API Web [GET, POST])
Analyse de données avec python 2
Présentation de WebPay de Flask
Extraction de données depuis S3
Tutoriel Flask # 1 ~ GET Request ~
Visualisation des données avec les pandas
Restriction IP avec Flask
[Python / Ruby] Comprendre le code Comment obtenir des données en ligne et les écrire au format CSV
Démarrez avec MicroPython
Manipulation des données avec les Pandas!
Recevez des tweets avec Tweepy
Obtenez des données compressées par Gzip en mémoire
Mélangez les données avec les pandas
Obtenez date avec python
Augmentation des données avec openCV
Démarrez avec Mezzanine
Normariser les données avec Scipy
Bonjour le monde sur flacon
Analyse de données avec Python
Programmation avec Python Flask
CHARGER DES DONNÉES avec PyMysql
Un mémo qui lit les données de dashDB avec Python et Spark
Premiers pas avec le dessin avec matplotlib: création de diagrammes à partir de fichiers de données
[Linux] Copie des données de Linux vers Windows avec un script shell
Remarques sur l'importation de données depuis MySQL ou CSV avec Python
Vérifiez! Obtenez les données du capteur via Bluetooth avec Raspberry Pi ~ Préparation
Obtenez la version du package pour vous inscrire à PyPI à partir de Git
Débarrassez-vous des données sales avec Python et les expressions régulières