2016-10-07 12 views
5

BLOBストレージアカウントのコンテナに画像を追加するときにAzure関数を作成しようとしていました。ICloudBlobなどの文字列にバインドする方法

私は文字列パラメータを持っているが、ファイルはイメージなので、画像データを含む文字列は使用できません。

私はオンラインで見つけることができるすべての例を試してきましたが、今ではazure webjobs sdkのサンプルを試しました。これはどちらでもありません。だから私はどちらかというと馬鹿だが、私は今気付いている。

Microsoft.Azure.WebJobs.Host:エラーインデックスメソッド 'Functions.thumbnailgenerator'

は私が得るエラーの一部があります。 Microsoft.Azure.WebJobs.Host:BlobTriggerをバインドして 'Microsoft.WindowsAzure.Storage.Blob.ICloudBlob'と入力できません。

Microsoft.Azure.WebJobs.Host:エラーのインデックス方法 'Functions.thumbnailgenerator'。 Microsoft.Azure.WebJobs.Host:BlobTriggerをバインドして 'Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob'と入力できません。

今私が試している機能は、上記のサンプルで与えられたものです。私が試した他の多くのもののように、文字列以外では機能しません。

blobを使用するように関数を(C#を使用して)作成し、function.jsonファイルを作成する方法と、blobの名前を使用することをお勧めします。それかblob inとout blobのどちらか一方が別のコンテナにあり、名前の前にハードコーディングされた文字列が付いています。

この

は私が今得たものであり、それは動作していない:

function.json

{ 
    "bindings": [ 
{ 
    "type": "blobTrigger", 
    "name": "blob", 
    "direction": "in", 
    "path": "kitimages/{name}.{ext}" 
}, 
{ 
     "type": "blob", 
     "name": "output", 
     "direction": "inout", 
     "path": "thumbnails/{name}_300_200.{ext}" 
    } ], 
    "disabled": false 
} 

run.csx

#r "Microsoft.WindowsAzure.Storage" 
using System; 
using Microsoft.Azure.WebJobs.Host; 
using Microsoft.WindowsAzure.Storage.Blob; 
public static void Run(CloudBlockBlob blob, CloudBlockBlob output, TraceWriter log) 
{ 
    log.Info($"C# Blob trigger function processed a blob. Blob={blob.Name}"); 
} 

EDIT:についてはこちらをご覧ください私の質問への最終解決策:Getting work done in the cloud

答えて

4

ここでテンプレートを改善する必要があります。これは実行した共通の落とし穴です(ごめんなさい!)。我々は修正している、GitHubの問題を参照してください:Make it easier for users to get started with binary blob triggers

ストリームにバインドするビルトインテンプレートがあります。新機能に移動し、言語としてC#、シナリオではのサンプルを選択します。

CloudBlockBlobバインディングを使用する(InOutバインディング方向がまだ記載されていない)高度なサンプルについては、ContosoMomentsの関数サンプル:DeleteImages Functionを参照してください。

GitHubリポジトリのすべてのテンプレート:https://github.com/Azure/azure-webjobs-sdk-templatesを参照できます。一見上記のとおり、正しいセットアップを持つこのしばらく時につまずく誰のために

enter image description here

+0

ありがとう、それは私が必要だったものでした!私は私のブログで完全な解決策を使って短い投稿をしました!私はあなたのヒントなしでそれをしなかった! http://www.newsuntold.dk/blog/getting-work-done-in-the-cloud/ –

1

:私は私のproject.jsonファイル内WindowsAzure.Storageへの参照を持っていたので

私はこのメッセージが表示されました。おそらくそれはライブラリの古いバージョン(8.1.1)を指していたからです。わかりません。それを削除することで機能が改善されました。サポートされているDLLなので、#rを使用してインポートするだけです。

関連する問題