2017-10-01 5 views
2

다른 Azure 함수에서 오는 HTTP POST 요청에 응답하는 Azure Function을 만들려고합니다. 즉, MasterFunction을 호출하는 것은 NotificationsFunction입니다.다른 Azure 함수를 호출하는 Azure 함수

말, 나는 다음과 같은 간단한 POCO 개체가 :

public class Car 
{ 
    public string Make { get; set; } 
    public string Model { get; set; } 
    public int Year { get; set; } 
    public int Mileage { get; set; } 
} 

두 기능이 POCO 객체를 포함하고 같은 클래스 라이브러리를 공유됩니다.

MasterFunction에서 Car 개체를 JSON으로 serialize하고 HTTP 전화를해야한다고 가정하는 것이 맞습니까?

누군가 비슷한 시나리오에서 일부 코드 샘플을 가르쳐 줄 수 있습니까?

+3

가능한 복제 [푸른 함수와 다른 함수를 호출하는 방법 (https://stackoverflow.com/questions/46315734/how-to- call-another-function-in-the-azure-function) – Mikhail

답변

1

둘 다 함수가 동일한 azure 함수 앱 (이 경우에 해당)이라고 생각하면 다른 함수를 호출하는 가장 좋은 방법은 대기열을 사용하는 것입니다.

POCO를 대기열에 넣고 QueueTrigger로 두 번째 함수를 정의한다는 의미에서. 따라서 객체가 대기열에 들어가면 다른 함수가 자동으로 호출되고 객체는 대기열에서 제외됩니다.

당신은 여기에서 샘플 및 자세한 내용을 확인할 수 있습니다 https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-queue

+0

Azure Queue를 사용하여 다른 기능의 공개 URL에 직접 HTTP 요청을 할 수있는 이유는 무엇입니까? – Artemious

+0

사촌 그것은 MS에 의해 그 일을하는 것이 좋습니다. 그리고 그것을위한 결함 허용 메커니즘이 구축되어 있습니다. 예를 들어, 두 번째 함수가 예외를 throw 한 다음 큐 메커니즘을 사용하면 자동으로 재 시도하고 나중에 실패한 후에는 다시 시도 할 수 있도록 별도의 대기열 (포이즌 큐)에 넣습니다. 대기열 항목 당 함수 실행을로드 균형 조정하고 병렬 처리하는 또 다른 메커니즘이 있습니다. – akazemis

+0

일반적으로 말하자면, 화재와 같은 방식으로 다른 기능을 호출하고 방식을 잊어 버리려는 경우 큐가 가장 좋은 옵션이지만 결과를 얻기 위해 함수를 기다릴 필요가 있다면 좋은 방법이 아닙니다. 해야 할 것. – akazemis