2017-11-07 6 views
0

저는 Azure Timer Trigger Function을 가지고 있습니다.이 함수는 계산을하고 기존 BLOB의 json 파일에 결과를 기록해야합니다. Timer Triggered 함수 내에서 기존 BLOB를 어떻게 참조합니까?Azure Timer Trigger Function에서 blob을 어떻게 참조합니까?

코드 샘플을 제공하는 설명서를 찾지 못했습니다. 누군가가 하나를 제공 할 수 있습니까?

답변

2

먼저 function.json 구성 파일을 업데이트하여 .csx 코드에서 사용할 CloudBlockBlob 인스턴스에 blob을 바인딩해야합니다. 함수 응용 프로그램 메뉴의 함수 아래에서 "통합"옵션 (조명 아이콘이있는 옵션)을 통해 Azure Portal에서 편집 할 수 있습니다. 해당 페이지의 오른쪽 상단에는 "고급 편집기"라는 링크가 있습니다. 해당 링크를 클릭하면 funciton의 function.json 파일로 이동합니다 :

enter image description here

당신은 당신의 타이머를 구성하는 JSON 개체를 포함 "바인딩"라는 이름의 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