다음을 통해 공유


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

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

필수 구성 요소

출력 바인딩 추가

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

  1. Azure Portal에서 Azure Portal에서 첫 번째 함수 만들기에서 만든 함수 앱을 검색하고 선택합니다.

  2. 함수 앱에서 만든 함수를 선택합니다.

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

    함수에 대한 출력 바인딩을 만드는 방법을 보여 주는 스크린샷

  4. Azure Queue Storage 바인딩 유형을 선택하고 이 스크린샷 뒤에 있는 표에 지정된 대로 설정을 추가합니다.

    Azure Portal의 함수에 Queue Storage 출력 바인딩을 추가하는 방법을 보여 주는 스크린샷

    설정 제안 값 description
    메시지 매개 변수 이름 outputQueueItem 출력 바인딩 매개 변수의 이름입니다.
    큐 이름 outqueue 스토리지 계정에서 연결할 큐의 이름입니다.
    스토리지 계정 연결 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. 테스트가 이 스크린샷과 일치하는지 확인한 다음 실행을 선택합니다.

    Azure Portal에서 Queue Storage 바인딩을 테스트하는 방법을 보여 주는 스크린샷

    요청 본문nameAzure가 들어 있습니다. 이 값은 함수가 호출될 때 생성된 큐 메시지에 나타납니다.

    실행을 선택하는 대신 브라우저에서 URL을 입력하고 쿼리 문자열에 값을 지정하여 함수를 name 호출할 수 있습니다. 이 브라우저 메서드는 Azure Portal에서 첫 번째 함수 만들기에 표시됩니다.

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

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

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

  1. 함수 앱에서 설정을 확장한 다음 환경 변수를 선택합니다.

  2. 앱 설정 탭에서 AzureWebJobsStorage를 선택합니다.

    AzureWebJobsStorage가 선택된 구성 페이지를 보여 주는 스크린샷

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

    AzureWebJobsStorage에 연결된 스토리지 계정을 찾는 방법을 보여 주는 스크린샷.

출력 큐 검토

  1. 함수 앱의 리소스 그룹에서 사용 중인 스토리지 계정을 선택합니다.

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

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

  3. 함수를 다시 실행합니다.

    큐에 새 메시지가 나타납니다.

리소스 정리

이전 단계에서는 리소스 그룹에서 Azure 리소스를 만들었습니다. 나중에 이러한 리소스가 필요하지 않은 경우에 리소스 그룹을 삭제하여 삭제할 수 있습니다.

Azure Portal 메뉴 또는 페이지에서 리소스 그룹을 선택합니다. 그런 다음, 리소스 그룹 페이지에서 myResourceGroup을 선택합니다.

myResourceGroup 페이지에서 나열된 리소스가 삭제하려는 리소스인지 확인합니다.

리소스 그룹 삭제를 선택하고, 텍스트 상자에서 myResourceGroup을 입력하여 확인한 다음, 삭제를 선택합니다.

이 문서에서는 기존 함수에 출력 바인딩을 추가했습니다. Queue Storage에 바인딩하는 방법에 대한 자세한 내용은 Queue Storage 트리거 및 바인딩을 참조 하세요.