2016-10-16 14 views
3

Azureは最近、Azure関数用のSaaSテーブルアダプタをリリースしました。私はこの機能がドキュメントなしで実験的であることを知っていますが、誰かがこの作業をしているかどうかを確認しようとしています。Azure関数で新しいSaaSテーブルアダプタを使用する

マイバインディング(function.json):

{ 
    "bindings": [ 
    { 
     "name": "data", 
     "type": "blobTrigger", 
     "direction": "in", 
     "path": "somePathToBlob", 
     "connection": "connectionName_STORAGE" 
    }, 
    { 
     "type": "apiHubTable", 
     "name": "output", 
     "connection": "sql_SQL", 
     "direction": "out", 
     "tableName": "tblEventStage" 
    } 
    ], 
    "disabled": false 
} 

は、その後、私は持っているrun.csxに:

public static void Run(string data, ITable<EventRecord> output, TraceWriter log) 
{ 
    // add some records to the table 
} 

機能が正常にコンパイルして、警告メッセージポップ:

Microsoft.Azure.WebJobs.Host:エラーのインデックス方法 'Functions.ProcessAppInsights'。 Microsoft.Azure.WebJobs.Extensions.ApiHub:属性ApiHubTableAttributeは、テーブルバインディングを示します。パラメータの種類は、Microsoft.Azure.ApiHub.ITable、Microsoft.Azure.WebJobs.IAsyncCollectorのいずれかである必要があります。テーブルクライアントにバインドするには、テーブル名を指定しないでください。エンティティにバインドするには、エンティティ識別子を指定します。

私は間違っていますか?

答えて

4

解決策を見つけました - Microsoft.Azure.ApiHubのITableの代わりにSystem.Data.Linq ITableを使用していました。私はSystem.Data.Linqを削除し、Microsoft Azure ApiHub SDKのnugetパッケージを追加しました。これは、ファイルpackage.jsonを追加する必要があります。

{ 
    "frameworks": { 
    "net46":{ 
     "dependencies": { 
     "Microsoft.Azure.ApiHub.Sdk": "0.6.10-alpha" 
     } 
    } 
    } 
} 

レコードを使用してテーブルに挿入することができます。

output.CreateEntityAsync(record); 
関連する問題