次のページで行うことと同じことを、Node.js の cradle を使って行いました。
Bluemix の Cloudant から、python3 で画像ファイルをダウンロード
cradle についての情報は、
flatiron/cradle
参考にしたページ
Cloudant NoSQL データベースを cradle でNode.js から使用する
from_cloudant.js
#! /usr/bin/node
// ---------------------------------------------------------------
// from_cloudant.js
//
// Jul/26/2017
// ---------------------------------------------------------------
var cradle = require ('cradle')
var fs = require("fs")
// ---------------------------------------------------------------
console.log ("*** 開始 ***")
const service_username = '44b508dd-f332-4f91-81f2-78369c7d29d9-bluemix'
const service_password = 'efc189dc9dacdfdee596fc371012e08a61e7132d3b21ecaaf1f63a835fae64'
const service_host = 'efc123dc-f332-4f91-81f2-78349c7d19d9-bluemix.cloudant.com'
const service_port = '443'
const options = {
cache : true,
raw : false,
secure : true,
auth : {
username : service_username,
password : service_password
}
}
var cc = new (cradle.Connection)(service_host, service_port, options)
const name = 'jpg'
var db = cc.database (name)
db.exists(function (err, exists)
{
if (err)
{
console.log('error', err)
}
else if (exists)
{
couchdb_fetch_proc (db)
}
else
{
console.log('database does not exists.')
}
})
// ---------------------------------------------------------------
function couchdb_fetch_proc (db)
{
db.get ('_all_docs',function (err,docs)
{
console.log (docs.length)
for (var it in docs)
{
const doc = docs[it]
const key = doc.key
console.log(key)
const file_out = key + '.jpg'
const id = key
console.log("id = " + id)
console.log(file_out)
var writeStream = fs.createWriteStream(file_out)
var readStream = db.getAttachment(id,file_out,
function (err, reply) {
if (err) {
console.dir(err)
return
}
})
readStream.pipe(writeStream)
}
})
}
// ---------------------------------------------------------------