나는 Azure에서 시스템을 작성하려고하는데, 그 중 일부는 대기열에 많은 코드를 쓰고 하나의 코드를 작성할 수 있기를 원합니다. 처리 코드 비트는 큐의 각 항목을 처리합니다.Azure Queue 트리거가 null 큐 항목을 잘못 제공 함
항목이 큐에 올바르게 추가됩니다. 나는 이것을 검사했다. Azure 플러그인이있는 Visual Studio가 있습니다. 그런 다음 Cloud Explorer를 사용하여 저장소 계정을 끌어 대기열을 볼 수 있습니다. 여기에서 큐 내용은 정확할 것입니다. 메시지 텍스트 미리보기가 예상대로 나타납니다.
그러나 트리거를 실행하는 동안 대기열 트리거가있는 Azure 함수를 추가하면 대기열 항목이 비어있게됩니다. 튜토리얼 코드를 시도해 보았습니다. 조금 줄였습니다. 내가 실행 기능을 설정하면 될 : 나는 그것이 아니라는 것을 알고 때 다음 큐 항목과 출력을 얻을
public static void Run(string myQueueItem,
DateTimeOffset expirationTime,
DateTimeOffset insertionTime,
DateTimeOffset nextVisibleTime,
string queueTrigger,
TraceWriter log)
{
log.Info($"C# Queue trigger function processed: '{myQueueItem.GetType()}'\n" +
$"queueTrigger={queueTrigger}\n" +
$"expirationTime={expirationTime}\n" +
$"insertionTime={insertionTime}\n" +
$"nextVisibleTime={nextVisibleTime}\n");
}
는 비어 있습니다. 대기열 트리거 요소도 비어 있습니다.
016-11-01T13:47:41.834 C# Queue trigger function processed:
queueTrigger=
expirationTime=12/31/9999 11:59:59 PM +00:00
insertionTime=11/1/2016 1:47:41 PM +00:00
이 전혀 트리거 및 합리적인 찾고 삽입 시간이 있다는 사실 내가 바로 큐에 연결하고있어 제안 : 나는 푸른 함수에서 함수를 직접 실행할 때 몇 가지 샘플 출력이다.
누구든지 왜 문자열 myQueueItem가 비어있는 지 알 수 있습니까? 대기열 엿보기 도구가 전체 미리보기 문자열을 볼 수 있습니까?
이것이 좋은 소식입니다. 명확히하기 위해, "수동으로 비활성화 된 대기열을 실행할 때"라고 할 때 무엇을 의미합니까? Azure 함수 포털에서 "실행"옵션을 사용하고 있습니까? –
예, Azure 포털에서 실행 옵션을 사용했지만 함수가 비활성화되었습니다. 큐의 다음 항목을 큐에서 제거하고이를 보내지 만 자동으로 트리거하지 않을 것으로 예상했습니다. 이 일을하는 주된 요점은 dev 테스팅을위한 것이므로 핸들러에 null 데이터를 보내기를 기대하지 않았으며, 당신은 null 입력에 대한 함수를 실제로 테스트 할 수 없습니다. –