2017-11-07 2 views
0

私はいくつかの計算を行い、その結果を既存のblobのjsonファイルに書き込むAzure Timer Trigger Functionを持っています。 Timer Triggered関数内の既存のBLOBをどのように参照するのですか?Azure Timer Trigger FunctionからBLOBをどのように参照していますか?

コードサンプルを提供するドキュメントが見つかりません。誰かが提供することはできますか?

答えて

2

まず、あなたがあなたの.csxコード内で使用することがありますCloudBlockBlobインスタンスにブロブをバインドするために、あなたのfunction.json構成ファイルを更新する必要があります。関数アプリケーションメニューの関数の下にある「統合」オプション(照明アイコン付きのもの)を使用してAzure Portalで編集できます。そのページの右上には、「詳細エディタ」というリンクがあります。あなたのタイマーを設定するJSONオブジェクトが含まれている「バインディング」という名前のJSON配列が表示されます

enter image description here

:そのリンクをクリックすると、あなたのfuncitonのfunction.jsonファイルが表示されます。その配列に別のJSONオブジェクトを追加して、関数内で参照するCloudBlockBlobインスタンスにBLOBをバインドします。あなたのfunction.jsonファイルには、次のようなものになります。

{ 
    "bindings": [ 
    { 
     "name": "myTimer", 
     "type": "timerTrigger", 
     "direction": "in", 
     "schedule": "0 */5 * * * *" 
    }, 
    { 
     "type": "blob", 
     "name": "myBlob", 
     "path": "your-container-name/your_blob_filename.json", 
     "connection": "AzureWebJobsStorage", 
     "direction": "inout" 
    } 
    ], 
    "disabled": false 
} 

を今、あなたは自分の機能のRunメソッドのシグネチャを更新する必要があります。

public static void Run(TimerInfo myTimer, TraceWriter log) 

は、その署名の終わりに、あなたのBLOB変数を追加します(とも含まれて必要に応じて追加):これは、デフォルトでは、このようになります

#r "Microsoft.WindowsAzure.Storage" 
using Microsoft.WindowsAzure.Storage; 
using Microsoft.WindowsAzure.Storage.Blob; 

public static void Run(TimerInfo myTimer, TraceWriter log, CloudBlockBlob myBlob) 

そして、あなたはすべてのセットです! "myBlob"は、 "your-container-name"コンテナのblob "your_blob_filename.json"にバインドされています。

+1

この質問を追加した後、どのようにこの質問に同じように答えましたか? –

+0

@BruceChenこれはQ&A機能です。ここを参照してください:https://stackoverflow.com/help/self-answer – BobbyA

+0

「Microsoft.WindowsAzure.Storage」への参照を追加する必要性について言及していません。私はちょうど答えを更新しました。 – BobbyA

関連する問題