2017-12-01 3 views
0

Azure Grid Image Resizeの例をVisual Studioを使用してC#でリメイクしようとしましたが、Azure関数のトリガーをイベントグリッドによってトリガーし、 。AzureイベントグリッドによってトリガーされたAzureイベントの作成方法(Blobストレージへのバインディング付き)

現在のコード:

using Microsoft.Azure.WebJobs.Extensions.EventGrid; 
using Microsoft.Azure.WebJobs.Host; 
using Microsoft.Azure.WebJobs; 
using Microsoft.WindowsAzure.Storage.Blob; 

namespace FunctionApp 
{ 
    public static class CreateIndex 
    { 
     [FunctionName("CreateIndex")] 
     [StorageAccount("backup_STORAGE")] 
     public static void Run(
      [EventGridTrigger()] EventGridEvent myEvent, 
      [Blob("{data.url}")] CloudBlockBlob inputBlob, 
      TraceWriter log) 
     { 
      log.Info(myEvent.ToString()); 
      log.Info(inputBlob.ToString()); 
     } 
    } 
} 

生成function.json:

{ 
    "generatedBy": "Microsoft.NET.Sdk.Functions.Generator-1.0.6", 
    "configurationSource": "attributes", 
    "bindings": [ 
    { 
     "type": "eventGridTrigger", 
     "name": "myEvent" 
    } 
    ], 
    "disabled": false, 
    "scriptFile": "../bin/FunctionApp.dll", 
    "entryPoint": "FunctionApp.CreateIndex.Run" 
} 

結合ブロブ入力イベントグリッド・トリガーのために働いていないが。

期待function.json:

{ 
    "bindings": [ 
    { 
     "type": "EventGridTrigger", 
     "name": "myEvent", 
     "direction": "in" 
    }, 
    { 
     "type": "blob", 
     "name": "inputBlob", 
     "path": "{data.url}", 
     "connection": "myblobstorage_STORAGE", 
     "direction": "in" 
    } 
    ], 
    "disabled": false 
} 

答えて

1

プリコンパイルされた関数は、あなたのためのfunction.jsonを生成するが、彼らはそれだけの内側に結合トリガーを置きます。あなたのBLOBバインディングはこのファイルにはありません。

入力Blobバインディングは引き続き動作します:ランタイムはあなたの属性に基づいてそれを拾います。

関連する問題