ありがとうそれはabcd.exeためAzureの機能を作成し、Azureのクラウド機能でそれを実行することは可能ですか?
はい、Azure関数アプリで.exeファイルをアップロードして実行できます。私はTimerTrigger関数アプリケーションを作成し、私の側で正常に動作するこの関数アプリケーションでデータベースにレコードを挿入する.exeを実行します。
function.json
{
"bindings": [
{
"name": "myTimer",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 */1 * * * *"
}
],
"disabled": false
}
run.csx
using System;
public static void Run(TimerInfo myTimer, TraceWriter log)
{
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = @"D:\home\site\wwwroot\TimerTriggerCSharp1\testfunc.exe";
process.StartInfo.Arguments = "";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.Start();
string output = process.StandardOutput.ReadToEnd();
string err = process.StandardError.ReadToEnd();
process.WaitForExit();
log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
}
アップロード.exeファイルが
appフォルダを関数に私の.exeのプログラム
SqlConnection cn = new SqlConnection("Server=tcp:{dbserver}.database.windows.net,1433;Initial Catalog={dbname};Persist Security Info=False;User ID={user_id};Password={pwd};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;");
cn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
cmd.CommandText = "insert into [dbo].[debug]([Name]) values('test')";
cmd.ExecuteNonQuery();
cn.Close();
クエリデータベース内
メインのコードは、私がテストレコードが私の.exeファイルから挿入されて見つけることができます。
それは問題なく機能をコンパイルされたが、それは(このケースでは、私は任意の結果を持っていない) 2017-08-01T14を実行していない:50 :00.009機能が起動しました(Id = ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :50:00.208 C#タイマートリガ関数の実行日時:8/1/2017 2:50:00 PM 2017-08-01T14:50:00.208関数が完了しました(成功、Id = ########### #########、Duration = 200ms) – Ves