2017-09-12 22 views
0

私はAzure関数のための完全な導入テストケースと思ったことがあります。BLOBとSQLストレージの両方に接続するAzure関数

私たちはAzure(SQLデータベース)にSQLストアを持っています。

C#、VS2017を使用してAzureワークフローアイテムを更新しました。

また、Blobストレージもあります。 毎晩私はSQLデータベースに行き、基準に基づいてレコードのグループを収集し、それを処理してブロブストレージに格納されるファイルを生成するプロセスが必要です。

私は、これらのタスクのいずれかをやっているという苦境を乗り越えることはできません。すべてのチュートリアルは最も基本的なタイプのようです。

私はVS 2017で作成された関数を持っていますが、最初のステップはSQLデータベースに接続するだけです。

私はADO.NET Entity Data Modelという新しい項目を追加しようとしましたが、モデルを正しく作成したように動作しましたが、データコンテキストはありませんでしたか?

私は次のステップを実行しようと決めました。ブロブを作成し、ハードコードされたサンプルデータを使用するだけです。再び...それを行う方法についての良いガイドを見つけることができません。

local.setting.jsonファイルに「AzureWebJobsStorage」設定があります。

私は以下のタイマー機能があります。右方向にちょうどいくつかのポインティング

public static class Function1 
{ 
    [FunctionName("Function1")] 
    public static void Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, TraceWriter log) 
    { 
     log.Info($"C# Timer trigger function executed at: {DateTime.Now}"); 



    } 

を、私はそれを離れて叩いて続ける...

ジョー

答えて

4

だから、あなたが必要です機能付き

  • タイマートリガーやった
  • ブロブ出力結合(出力ブロブを保存する) - Blob storage bindings
  • SQLクエリにセクションを「結合ブロブ出力の使用」を参照してください - このためにバインディングを提供していないAzureの機能を、ちょうど使用何でも通常はC#プロジェクトで使用します。 Use Azure Functions to connect to an Azure SQL Databaseは、ADO.NETの例を示します。ここで

あなたの機能のための私のスケッチです:

[FunctionName("Function1")] 
public static void Run(
    [TimerTrigger("0 */5 * * * *")] TimerInfo myTimer, 
    [Blob("mycontainer/myblob.txt", FileAccess.Write)] out string outputBlob, 
    TraceWriter log) 
{ 
    var str = ConfigurationManager.ConnectionStrings["sqldb_connection"].ConnectionString; 
    using (var conn = new SqlConnection(str)) 
    { 
     conn.Open(); 
     var text = "SELECT count(*) FROM MyData"; 

     using (var cmd = new SqlCommand(text, conn)) 
     { 
      // Execute the command and log the # rows affected. 
      var rows = cmd.ExecuteScalar(); 
      outputBlob = $"{rows} rows found"; 
     } 
    } 
} 

あなたの質問は少しオープンエンドなので、あなたの闘争の詳細とそれを更新して自由に感じます。

+0

ありがとうございました...と私は理解しています/それについて開いていることを謝ります。あなたの提案をちょっと試してみましょう。 –

関連する問題