다음을 통해 공유


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 리소스를 만들었습니다. 나중에 이러한 리소스가 필요하지 않을 경우 리소스 그룹을 삭제하여 삭제할 수 있습니다.

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

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

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

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