2017-04-11 5 views
0

저는 여러 컨테이너가있는 Azure 저장소 계정을 가지고 있습니다. BlobTrigger Function을 사용하여 새로운 얼룩을 감지하고 있습니다.Azure BlobTrigger는 저장소 계정에서 작동합니다.

이제 완벽하게 작동하는 것 같습니다. 그러나 BlobTrigger는 하나의 컨테이너에서만 작동합니다. 하나의 방아쇠 프라 컨테이너를 만드는 것은 좋지 않은 것 같습니다 (많은 코드를 복제합니다).

이것을 단순화하는 방법이 있습니까? 아이디어는 높이 평가됩니다.

추신 : 나는 컨테이너에 10K 개의 blob 이상이있는 경우 BlobTrigger가 안정적이지 않다는 것을 알고 있습니다. (하지만이 경우는 아닙니다.)

답변

0

이것을 단순화하는 방법이 있습니까? 아이디어는 높이 평가됩니다.

Azure 저장소 얼룩 트리거는 새롭고 업데이트 된 얼룩에 대해 하나의 저장소 컨테이너 만 모니터링 할 수 있습니다. Azure 저장소 계정에서 다중 컨테이너를 모니터링하려면 다중 기능을 만들어야합니다.

한 가지 방법으로 변경된 논리를 작성하고 다른 함수가 호출 될 때이 메서드를 호출하는 것이 좋습니다.

public static void ProcessBlob(string containerName, string blobName, CloudBlockBlob blob) 
{ 
    //Write your logic here 
} 

public static void ProcessBlobContainer1([BlobTrigger("container1/{blobName}")] CloudBlockBlob blob, string blobName) 
{ 
    ProcessBlob("container1", blobName, blob); 
} 

public static void ProcessBlobContainer2([BlobTrigger("container2/{blobName}")] CloudBlockBlob blob, string blobName) 
{ 
    ProcessBlob("container2", blobName, blob); 
} 

질문과 관련된 GitHub의 공개 문제가 곧 해결 될 것으로 기대됩니다.

Add ability to create blob triggers on a container names that match a pattern

+0

이것을 Azure WebJob으로 구현해야합니까? Cant가이 함수를 Azure 함수에 넣는 것처럼 보입니다 (바인딩에서 컨테이너 값을 설정할 때) – reachify

+0

예, 이것을 WebJob으로 구현할 수 있습니다. WebJob에서 다중 함수를 정의 할 수 있습니다. – Amor