2017-09-10 4 views
1

Azure Cosmos DB(ドキュメント)出力でAzure関数をセットアップしました。 cosmosデータベースはMongoDBに設定されています。 、新しいドキュメントを試してみて、追加するには、次の簡単なコードを追加しました:CosmosとのAzure関数MongoDBの統合が保存されない

module.exports = function (context, eventHubMessages) { 
    context.bindings.document = { 
    text : "Test data" 
} 
context.done(); 
}; 

私は実行をテストするとき、私は成功を得るが、私はメーカー3Tを使用してコレクションを開こうとすると、私は得る:

Query failed with error code 1 and error message 'Unknown server error occurred when processing this request.' 

DocumentDBへの書き込みに同じコードを使用すると成功し、Azureでデータを表示できます。 mongoDBにデータを保存するために別のAPIを使用する必要がありますか?

答えて

1

DocumentDB出力バインディングは、DocumentDB APIを使用してデータベースに情報を接続して保存しています。しかし、あなたのデータベース(あなたが言っているもの)はMongoDB APIを使用していますが、それらは異なるAPIです(リンクはドキュメントを指しています)。

MongoDBには、MongoDBクライアント(SDKまたはサードパーティのクライアント)からデータベースに接続する際に必要な要件(「_id」属性の存在など)がありますが、 DocumentDB APIを介して通信しているため、これらの要件を満たしていない可能性があります。

関数内でMongo driverを使用して、MongoDB APIを介してCosmos DBデータベースに接続したい場合があります。

+0

はい、現時点では、これは紺色関数の場合は文書化されていない問題です。今回はSQLドライバを使用して新しいデータベースを作成しました。しかし、mongodb APIが本当に必要なので、これは私のユースケースには合いません。 –

関連する問題