Functions를 사용하여 Azure Storage 큐에 메시지 추가

Azure Functions에서 입력 및 출력 바인딩은 코드에서 외부 서비스 데이터를 사용하기 위한 선언적 방식을 제공합니다. 이 빠른 시작에서는 출력 바인딩을 사용하여 HTTP 요청에서 함수가 트리거될 때 큐에 메시지를 만듭니다. Azure Storage 컨테이너를 사용하여 함수가 만드는 큐 메시지를 확인합니다.

필수 조건

이 빠른 시작을 완료하려면 다음이 필요합니다.

출력 바인딩 추가

이 섹션에서는 포털 UI를 사용하여, 앞서 만든 함수에 Queue Storage 출력 바인딩을 추가합니다. 이 바인딩을 통해 최소한의 코드로 큐에 메시지를 만들 수 있습니다. 스토리지 연결 시작, 큐 만들기, 큐에 대한 참조 가져오기 등의 작업을 위해 코드를 작성하지 않아도 됩니다. Azure Functions 런타임 및 큐 출력 바인딩이 이러한 작업을 대신하게 됩니다.

  1. Azure Portal에서 Azure Portal에서 첫 번째 함수 만들기에서 만든 함수 앱에 대한 함수 앱 페이지를 엽니다. 페이지를 열려면 함수 앱을 검색한 후 선택합니다. 그런 후, 함수 앱을 선택합니다.

  2. 함수 앱을 선택한 다음, 이전 빠른 시작에서 만든 함수를 선택합니다.

  3. 통합을 선택하고 + 출력 추가를 선택합니다.

    Create an output binding for your function.

  4. Azure Queue Storage 바인딩 유형을 선택하고 이 스크린샷의 다음에 나오는 표에 지정된 대로 설정을 사용합니다.

    Add a Queue storage output binding to a function in the Azure portal.

    설정 제안 값 설명
    메시지 매개 변수 이름 outputQueueItem 출력 바인딩 매개 변수의 이름입니다.
    큐 이름 outqueue Storage 계정에서 연결할 큐의 이름입니다.
    스토리지 계정 연결 AzureWebJobsStorage 함수 앱에 이미 사용된 스토리지 계정 연결을 사용하거나 새로 만들 수 있습니다.
  5. 확인을 선택하여 바인딩을 추가합니다.

이제 출력 바인딩이 정의되었고 큐에 메시지를 추가할 바인딩을 사용하도록 코드를 업데이트해야 합니다.

출력 바인딩을 사용하는 코드 추가

이 섹션에서는 출력 큐에 메시지를 작성 하는 코드를 추가합니다. 메시지에는 쿼리 문자열에서 HTTP 트리거로 전달되는 값이 포함됩니다. 예를 들어, 쿼리 문자열이 name=Azure를 포함할 경우 큐 메시지는 함수에 전달된 이름: Azure가 됩니다.

  1. 함수에서 코드 + 테스트를 선택하여 편집기에서 함수 코드를 표시합니다.

  2. 함수 언어에 따라 함수 코드를 업데이트합니다.

    다음 예제와 같이 메서드 서명에 outputQueueItem 매개 변수를 추가합니다.

    public static async Task<IActionResult> Run(HttpRequest req,
        ICollector<string> outputQueueItem, ILogger log)
    {
        ...
    }
    

    함수의 본문에서 return 문 바로 앞에 매개 변수를 사용하여 큐 메시지를 만드는 코드를 추가합니다.

    outputQueueItem.Add("Name passed to the function: " + name);
    
  3. 저장을 선택하여 변경 내용을 저장합니다.

함수 테스트

  1. 코드 변경 내용이 저장된 후 테스트를 선택합니다.

  2. 테스트가 아래 이미지와 일치하는지 확인하고 실행을 선택합니다.

    Test the queue storage binding in the Azure portal.

    요청 본문nameAzure가 들어 있습니다. 이 값은 함수가 호출될 때 만들어지는 큐 메시지에 표시됩니다.

    여기서 실행을 선택하는 대신 브라우저에 URL을 입력하고 쿼리 문자열에 name 값을 지정하여 함수를 호출할 수 있습니다. 브라우저 메서드는 이전 빠른 시작에 있습니다.

  3. 로그에서 함수가 성공했는지 확인합니다.

outqueue라는 새 큐는 출력 바인딩이 처음 사용될 때 함수 런타임에 의해 Storage 계정에 만들어집니다. 스토리지 계정을 사용하여 그 안에 큐와 메시지가 만들어졌는지 확인합니다.

AzureWebJobsStorage에 연결된 스토리지 계정 찾기

  1. 함수 앱으로 이동하고 구성을 선택합니다.

  2. 애플리케이션 설정에서 AzureWebJobsStorage를 선택합니다.

    Screenshot shows the Configuration page with AzureWebJobsStorage selected.

  3. 계정 이름을 찾아서 적어 둡니다.

    Locate the storage account connected to AzureWebJobsStorage.

출력 큐 검토

  1. 함수 앱에 대한 리소스 그룹에서 이 빠른 시작에 사용하는 스토리지 계정을 선택합니다.

  2. 큐 서비스에서 를 선택하고 outqueue라는 큐를 선택합니다.

    이 큐에는 HTTP 트리거 함수를 실행했을 때 만들어진 큐 출력 바인딩 메시지가 포함되어 있습니다. 기본 nameAzure로 함수를 호출했다면 큐 메시지는 함수에 전달된 이름: Azure입니다.

  3. 함수를 다시 실행하면 큐에 새 메시지가 표시되는 것을 알 수 있습니다.

리소스 정리

이 컬렉션의 다른 빠른 시작은 이 빠른 시작을 기반으로 구성됩니다. 이후의 빠른 시작, 자습서 또는 기타 이 빠른 시작에서 만든 서비스를 사용하여 작업하려는 경우 이 빠른 시작에서 만든 리소스를 정리하지 않습니다.

Azure에서 리소스란 함수 앱, 함수, 스토리지 계정 등을 의미합니다. 리소스는 리소스 그룹으로 그룹화되며 그룹을 삭제하면 그룹의 모든 항목을 삭제할 수 있습니다.

이러한 빠른 시작을 완료하기 위해 리소스를 만들었습니다. 이러한 리소스에 대한 요금이 계정 상태서비스 가격 책정에 따라 청구될 수 있습니다. 리소스가 더 이상 필요하지 않게 되면 다음과 같이 삭제합니다.

  1. Azure Portal에서 리소스 그룹 페이지로 이동합니다.

    함수 앱 페이지에서 해당 페이지로 이동하려면 개요 탭을 선택한 다음, 리소스 그룹 아래의 링크를 선택합니다.

    Screenshot that shows select the resource group to delete from the function app page.

    대시보드에서 해당 페이지로 이동하려면 리소스 그룹을 선택한 다음, 이 문서에 사용한 리소스 그룹을 선택합니다.

  2. 리소스 그룹 페이지에서 포함된 리소스 목록을 검토하고 삭제하려는 항목인지 확인합니다.

  3. 리소스 그룹 삭제를 선택하고 지시를 따릅니다.

    삭제하는 데 몇 분 정도 걸릴 수 있습니다. 완료되면 알림이 잠시 표시됩니다. 또한 페이지 위쪽의 종 모양 아이콘을 선택하여 알림을 확인할 수도 있습니다.

다음 단계

이 빠른 시작에서는 기존 함수에 출력 바인딩을 추가했습니다. Queue Storage에 바인딩에 대한 자세한 내용은 Azure Functions Storage 큐 바인딩을 참조하세요.