私は答えは= '{ "cloudantNoSQLDB" VCAP_SERVICES
VCAP_SERVICESの最初と最後に単一引用符を使用して考え出した:[{ "資格情報":" {host ":" fakehostc-bluemix.cloudant.com "、" password ":" fakepassword4da6de3a12a83362b26a "、" port ":443、" url ":" https://fakeURLc-bluemix:fakeab96175c-bluemix.cloudant.com "、" username ":" fakeusername-b749-399cfbd1175c- 「Cloud」、「NoSQL DB-p2」、「plan」:「Lite」、「provider」:null、「syslog_drain_url」:null、「tags」: data_management "、" ibm_作成された」、 "ibm_dedicated_public"]}]}」
ここVCAPサービスの環境変数を取得し、Cloudant上の基本的な操作を行うには、対応するコードです:
# 1. Parse VCAP_SERVICES Variable and connect to DB
vcap = json.loads(os.getenv("VCAP_SERVICES"))['cloudantNoSQLDB']
serviceUsername = vcap[0]['credentials']['username']
servicePassword = vcap[0]['credentials']['password']
serviceURL = vcap[0]['credentials']['url']
# Create Cloudant DB connection
# This is the name of the database we are working with.
databaseName = "databasedemo"
# This is a simple collection of data,
# to store within the database.
sampleData = [
[1, "one", "boiling", 100],
[2, "two", "hot", 40],
[3, "three", "warm", 20],
[4, "four", "cold", 10],
[5, "five", "freezing", 0]
]
# Use the Cloudant library to create a Cloudant client.
client = Cloudant(serviceUsername, servicePassword, url=serviceURL)
# Connect to the server
client.connect()
# 2. Creating a database within the service instance.
# Create an instance of the database.
myDatabaseDemo = client.create_database(databaseName)
# Check that the database now exists.
if myDatabaseDemo.exists():
print "'{0}' successfully created.\n".format(databaseName)
# 3. Storing a small collection of data as documents within the database.
# Create documents 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 using the Database API.
newDocument = myDatabaseDemo.create_document(jsonDocument)
# Check that the document exists in the database.
if newDocument.exists():
print "Document '{0}' successfully created.".format(number)
# 4. Retrieving a complete list of the documents.
# Simple and minimal retrieval of the first
# document in the database.
result_collection = Result(myDatabaseDemo.all_docs)
print "Retrieved minimal document:\n{0}\n".format(result_collection[0])
# Simple and full retrieval of the first
# document in the database.
result_collection = Result(myDatabaseDemo.all_docs, include_docs=True)
print "Retrieved full document:\n{0}\n".format(result_collection[0])
# Use a Cloudant API endpoint to retrieve
# all the documents in the database,
# including their content.
# Define the end point and parameters
end_point = '{0}/{1}'.format(serviceURL, databaseName + "/_all_docs")
params = {'include_docs': 'true'}
# Issue the request
response = client.r_session.get(end_point, params=params)
# Display the response content
print "{0}\n".format(response.json())
# 5. Deleting the database.
# Delete the test database.
try :
client.delete_database(databaseName)
except CloudantException:
print "There was a problem deleting '{0}'.\n".format(databaseName)
else:
print "'{0}' successfully deleted.\n".format(databaseName)
# 6. Closing the connection to the service instance.
# Disconnect from the server
client.disconnect()
私はあなたの質問の書式を読みやすくするために改善しました。 [ヘルプセンター](https://stackoverflow.com/help/formatting)のStack Overflowの書式設定のドキュメントを参照して、次回にこれを行うことができます。リスト内のコードブロックは、リストレベルごとに4つのスペースと、コードブロックを示すための4つのスペースをインデントする必要があることに注意してください。私はまた、より良い文脈のために再現するために、あなたのステップの前に問題文の一部を動かしました。がんばろう! – Chris
編集のためのChrisありがとうございました –