R を使用してプログラムを作成し、いくつかの分析を実行しています。データは、JSON 形式の MongoDB を使用して外部ベンダーによってキャプチャされています。彼らは、ポート 443 の URI を介して私にそれを提供しており、cURL を使用して照会するよう求めています。認証が実施されており、自己署名 SSL があります。
Windows で curl を使用してデータを認証およびダンプできますが、長期的に持続可能なソリューションを作成するには、すべて R 内で行う必要があります。
ベンダーは、RCurl は機能するはずだと言っていますが、サポートを提供しておらず、基本的に RMongo を使用するという考えが好きではなく、コメントもありません (ただし、機能させることができれば、それは素晴らしいことです。私の意見)。
次のパッケージをロードしました-ggplot2-DBI-rjson-RJSONIO(rjsonを使用している場合、これをロードしない場合や、その逆の場合があります)-RMongo-rstudio-RCurl
自己署名証明書はcurlでも問題を引き起こしましたが、Rubyで設定を編集し、Rubyでcmdシェルを起動してcurlを使用することで解決しました. Rの問題が関連しているかどうかはわかりません。
RCurl ルートに行こうとすると、次のようなコマンド/エラーが発生します。
x <- getURL("https://xxx.xx.xxx.xxx:443/db/_authenticate", userpwd="xxxx:xxxxx") }{Error in function (type, msg, asError = TRUE) : couldn't connect to host
RMongo を使用しようとすると、さらに無知になります...
> mongo <- mongoDbConnect("xxx.xx.xxx.xxx")
username = "xxxx" password="xxxxxxxxxxxxx" 認証済み <- dbAuthenticate(mongo, username, password) 2013 年 2 月 25 日 4:00:09 PM com.mongodb.DBTCPConnector fetchMaxBsonObjectSize 警告: java.io.IOException を使用して maxBSON サイズを決定する例外: [/127.0.0.1:27017] に接続できませんでした bc:java.net.ConnectException: 接続が拒否されました: com.mongodb.DBPort で接続します。open(DBPort.java:224) で com.mongodb.DBPort.go(DBPort.java:101) で com.mongodb.DBPort.go(DBPort.java:82) で com.mongodb.DBPort.findOne(DBPort.java) :142) com.mongodb.DBPort.runCommand(DBPort.java:151) で com.mongodb.DBTCPConnector.fetchMaxBsonObjectSize(DBTCPConnector.java:429) で com.mongodb.DBTCPConnector.checkMaster(DBTCPConnector.java:416) でcom.mongodb.DBApiLayer$MyCollection の .mongodb.DBTCPConnector.call(DBTCPConnector.java:193)。com.mongodb.DB.command(DB.java:159) で _find(DBApiLayer.java:303) com.mongodb.DB.command(DB.java:144) で com.mongodb.DB._doauth(DB.java :503) com.mongodb.DB.authenticate (DB.java:440) で rmongo.RMongo.dbAuthenticate (RMongo.scala:24) で
Error in .jcall(rmongo.object@javaMongo, "Z", "dbAuthenticate", username, :
com.mongodb.MongoException$Network: can't call something
Feb 25, 2013 4:00:10 PM com.mongodb.DBPortPool gotError
WARNING: emptying DBPortPool to 127.0.0.1:27017 b/c of error
java.io.IOException: couldn't connect to [/127.0.0.1:27017] bc:java.net.ConnectException: Connection refused: connect
at com.mongodb.DBPort._open(DBPort.java:224)
at com.mongodb.DBPort.go(DBPort.java:101)
at com.mongodb.DBPort.go(DBPort.java:82)
at com.mongodb.DBPort.call(DBPort.java:72)
at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:202)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:303)
at com.mongodb.DB.command(DB.java:159)
at com.mongodb.DB.command(DB.java:144)
at com.mongodb.DB._doauth(DB.java:503)
at com.mongodb.DB.authenticate(DB.java:440)
at rmongo.RMongo.dbAuthenticate(RMongo.scala:24)
どんな助けでも大歓迎です!