http要求によってトリガーされ、SQLデータベースからデータを選択してデータを返すAzure関数を作成しようとしています。NodeJSのAzure関数からSQLデータベースにアクセス
私は単にここでの例に従うことによって、データベースに接続し、基本的な例を設定しようとした:https://msdn.microsoft.com/library/mt715784.aspx それは、特定のAzureの機能はありませんが、私はそれを実行する必要があることを考えた:
var Connection = require('tedious').Connection;
var config = {
userName: 'userName',
password: 'password',
server: 'databaseServer.database.windows.net',
options: {encrypt: true, database: 'AdventureWorks'}
};
module.exports = function(context, req, saasSql) {
var connection = new Connection(config);
connection.on('connect', function(err) {
if(err) {
context.log(err);
} else {
context.log("Connected");
context.res = {
body: 'Connected'
};
context.done();
}
});
};
ただし、これが実行されると(管理コンソールで起動されます)。私は、ログメッセージが表示され、その機能が開始した後、ログには何も表示されません。一番下の出力ウィンドウにStatus:502 Bad Gatewayとこのメッセージが表示されます。 機能appで認証が有効になっています。機能を実行する前に認証を無効にしてください。
私はcontext.done()を呼び出さないので、この機能では認証がオフになっているからです。私はどのように接続の試行から何らかのエラー情報などを得る方法を考えることができない、私はエラーイベントにもバインドしようとしましたが、何も起きません。
UPDATE
エラーメッセージは、Azureの機能コードのバグだったと誤ったエラーが表示されました。ただし、上記のコードはまだ実行されません(エラーはスローされません)。ローカルノードサーバーを作成してその方法を実行すると、Azure関数フレームワークで実行する際の問題のように見えます。 Azure関数からSQL DBに接続する方法はありますか?
この機能の認証は既にオフになっています。私はこれについていくつかのテストを行ってきましたが、関数がdone()を呼び出さないときにもメッセージが表示されるようです。一定期間アイドル状態にしてからAzureがシャットダウンすると思います。 – smuff
このエラーメッセージは、私が説明したシナリオにかなりのものです。 Web App Authzを有効にしていないと言われてもこれが起こっている場合は、https://github.com/projectkudu/AzureFunctionsPortal/issuesにバグを記録してください。 – mathewc
[問題提起](https://github.com/projectkudu/AzureFunctionsPortal/issues/548)、ウェブアプリケーションの認証がオフになっています。ノード関数からSQL DBに接続する例はありますか?私は上記の退屈なアプローチと統合を試みましたが、動作するものは何も得られません。 – smuff