Azure Blob Storage에 의해 트리거되는 함수 만들기Create a function triggered by Azure Blob storage

파일이 업로드되거나 Azure Blob Storage에서 업데이트될 때 트리거되는 함수를 만드는 방법을 알아봅니다.Learn how to create a function triggered when files are uploaded to or updated in Azure Blob storage.

로그에서 메시지 보기.

사전 요구 사항Prerequisites

Azure 함수 앱 만들기Create an Azure Function app

  1. Azure Portal 메뉴에서 리소스 만들기를 선택합니다.From the Azure portal menu, select Create a resource.

    Azure Portal 메뉴를 사용하여 리소스 추가

  2. 새로 만들기 페이지에서 컴퓨팅 > 함수 앱을 선택합니다.In the New page, select Compute > Function App.

  3. 이미지 아래 표에 지정된 것처럼 함수 앱 설정을 사용합니다.Use the function app settings as specified in the table below the image.

    기본 사항

    설정Setting 제안 값Suggested value DescriptionDescription
    구독Subscription 사용자의 구독Your subscription 이 새 함수 앱이 만들어질 구독입니다.The subscription under which this new function app is created.
    리소스 그룹Resource Group myResourceGroupmyResourceGroup 함수 앱을 만들 새 리소스 그룹의 이름입니다.Name for the new resource group in which to create your function app.
    함수 앱 이름Function App name 전역적으로 고유한 이름Globally unique name 새 함수 앱을 식별하는 이름입니다.Name that identifies your new function app. 유효한 문자는 a-z(대/소문자 구분 안 함), 0-9-입니다.Valid characters are a-z (case insensitive), 0-9, and -.
    게시Publish 코드Code 코드 파일 또는 Docker 컨테이너를 게시하는 옵션입니다.Option to publish code files or a Docker container.
    런타임 스택Runtime stack 기본 설정 언어Preferred language 즐겨찾는 함수 프로그래밍 언어를 지원하는 런타임을 선택합니다.Choose a runtime that supports your favorite function programming language. C# 및 F# 함수의 경우 .NET을 선택합니다.Choose .NET for C# and F# functions.
    지역Region 기본 지역Preferred region 사용자 근처 또는 함수가 액세스할 기타 서비스에 가까운 지역을 선택합니다.Choose a region near you or near other services your functions access.

    다음: 호스팅 > 단추를 선택합니다.Select the Next : Hosting > button.

  4. 호스팅을 위해 다음 설정을 입력합니다.Enter the following settings for hosting.

    Hosting

    설정Setting 제안 값Suggested value DescriptionDescription
    Storage 계정Storage account 전역적으로 고유한 이름Globally unique name 함수 앱에서 사용하는 스토리지 계정을 만듭니다.Create a storage account used by your function app. Storage 계정 이름은 3자에서 24자 사이여야 하고 숫자 및 소문자만 포함할 수 있습니다.Storage account names must be between 3 and 24 characters in length and may contain numbers and lowercase letters only. 기존 계정을 사용할 수도 있습니다. 여기서는 스토리지 계정 요구 사항을 충족해야 합니다.You can also use an existing account, which must meet the storage account requirements.
    운영 체제Operating system 기본 설정 운영 체제Preferred operating system 운영 체제는 런타임 스택 선택에 따라 미리 선택되지만 필요한 경우 설정을 변경할 수 있습니다.An operating system is pre-selected for you based on your runtime stack selection, but you can change the setting if necessary.
    계획Plan 소비 계획Consumption plan 함수 앱에 리소스가 할당되는 방법을 정의하는 호스팅 계획입니다.Hosting plan that defines how resources are allocated to your function app. 기본 소비 계획에서 함수의 필요에 따라 리소스가 동적으로 추가됩니다.In the default Consumption Plan, resources are added dynamically as required by your functions. 서버 없는 호스팅에서는 함수가 실행되는 시간 만큼만 요금을 지불하면 됩니다.In this serverless hosting, you only pay for the time your functions run. App Service 계획에서 실행하는 경우 함수 앱의 크기 조정을 관리해야 합니다.When you run in an App Service plan, you must manage the scaling of your function app.

    다음: 모니터링 > 단추를 선택합니다.Select the Next : Monitoring > button.

  5. 모니터링을 위해 다음 설정을 입력합니다.Enter the following settings for monitoring.

    모니터링

    설정Setting 제안 값Suggested value DescriptionDescription
    Application InsightsApplication Insights 기본값Default 가장 가까운 지원 영역에 동일한 앱 이름의 Application Insight 리소스를 만듭니다.Creates an Application Insights resource of the same App name in the nearest supported region. 이 설정을 확장하면 새 리소스 이름을 변경하거나 데이터를 저장하려는 Azure 지리적 위치에서 다른 위치를 선택합니다.By expanding this setting, you can change the New resource name or choose a different Location in an Azure geography where you want to store your data.

    검토 + 만들기를 선택하여 앱 구성 선택을 검토합니다.Select Review + Create to review the app configuration selections.

  6. 만들기를 선택하여 함수 앱을 프로비전하고 배포합니다.Select Create to provision and deploy the function app.

  7. 포털의 오른쪽 위 모서리에 있는 [알림] 아이콘을 선택하고 배포 성공 메시지가 표시될 때까지 기다립니다.Select the Notification icon in the upper-right corner of the portal and watch for the Deployment succeeded message.

    배포 알림

  8. 리소스로 이동을 선택하여 함수 앱을 봅니다.Select Go to resource to view your new function app. 대시보드에 고정을 선택할 수도 있습니다.You can also select Pin to dashboard. 고정하면 대시보드에서 이 함수 앱 리소스로 쉽게 돌아올 수 있습니다.Pinning makes it easier to return to this function app resource from your dashboard.

함수 앱을 성공적으로 만들었습니다.

다음으로 새 함수 앱에서 함수를 만듭니다.Next, you create a function in the new function app.

Blob Storage 트리거 함수 만들기Create a Blob storage triggered function

  1. 함수 앱을 확장한 후 함수 옆의 + 단추를 클릭합니다.Expand your function app and click the + button next to Functions. 함수 앱의 첫 번째 함수인 경우 포털 내를 선택한 다음, 계속을 선택합니다.If this is the first function in your function app, select In-portal then Continue. 그렇지 않으면 3번 단계로 이동합니다.Otherwise, go to step three.

    Azure Portal에서 함수 빨리 시작하기 페이지

  2. 추가 템플릿, 템플릿 마침 및 보기를 차례로 선택합니다.Choose More templates then Finish and view templates.

    Functions 빠른 시작 - 추가 템플릿 선택

  3. 검색 필드에서 blob을 입력한 다음, Blob 트리거 템플릿을 선택합니다.In the search field, type blob and then choose the Blob trigger template.

  4. 메시지가 표시되면 설치를 선택하여 함수 앱에 Azure Storage 확장과 모든 종속성을 설치합니다.If prompted, select Install to install the Azure Storage extension and any dependencies in the function app. 설치가 완료되면 계속을 선택합니다.After installation succeeds, select Continue.

    바인딩 확장 설치

  5. 이미지 아래의 표에 지정된 설정을 사용합니다.Use the settings as specified in the table below the image.

    Blob Storage 트리거 함수 만들기.

    설정Setting 제안 값Suggested value DescriptionDescription
    이름Name 함수 앱에서 고유Unique in your function app 이 Blob 트리거 함수의 이름입니다.Name of this blob triggered function.
    PathPath samples-workitems/{name}samples-workitems/{name} 모니터링되는 Blob Storage의 위치입니다.Location in Blob storage being monitored. 바인딩에 name 매개 변수로 전달되는 Blob의 파일 이름입니다.The file name of the blob is passed in the binding as the name parameter.
    Storage 계정 연결Storage account connection AzureWebJobsStorageAzureWebJobsStorage 함수 앱에 이미 사용된 스토리지 계정 연결을 사용하거나 새로 만들 수 있습니다.You can use the storage account connection already being used by your function app, or create a new one.
  6. 만들기를 클릭하여 사용자의 함수를 만듭니다.Click Create to create your function.

다음으로 Azure Storage 계정에 연결하고 samples-workitems 컨테이너를 만듭니다.Next, you connect to your Azure Storage account and create the samples-workitems container.

컨테이너 만들기Create the container

  1. 함수에서 통합을 클릭하고 설명서를 확장하여 계정 이름계정 키를 모두 복사합니다.In your function, click Integrate, expand Documentation, and copy both Account name and Account key. 이러한 자격 증명을 사용하여 스토리지 계정에 연결합니다.You use these credentials to connect to the storage account. 스토리지 계정에 이미 연결된 경우 4단계로 건너뜁니다.If you have already connected your storage account, skip to step 4.

    Storage 계정 연결 자격 증명 가져오기.

  2. Microsoft Azure Storage Explorer 도구를 실행하고 왼쪽의 연결 아이콘을 클릭하고 스토리지 계정 이름 및 키 사용을 선택하고 다음을 클릭합니다.Run the Microsoft Azure Storage Explorer tool, click the connect icon on the left, choose Use a storage account name and key, and click Next.

    Storage 계정 탐색기 도구 실행.

  3. 1단계에서 계정 이름계정 키를 입력하고 다음을 클릭한 후 연결을 클릭합니다.Enter the Account name and Account key from step 1, click Next and then Connect.

    스토리지 자격 증명 입력 및 연결.

  4. 연결된 스토리지 계정을 확장하고 Blob 컨테이너를 마우스 오른쪽 단추로 클릭하고 Blob 컨테이너 만들기를 클릭하고 samples-workitems를 입력한 다음, Enter를 누릅니다.Expand the attached storage account, right-click Blob Containers, click Create Blob Container, type samples-workitems, and then press enter.

    스토리지 큐 만들기.

이제 Blob 컨테이너가 있고 컨테이너에 파일을 업로드하여 함수를 테스트할 수 있습니다.Now that you have a blob container, you can test the function by uploading a file to the container.

함수 테스트Test the function

  1. Azure Portal로 돌아가서 함수를 찾은 후 페이지 맨 아래에 있는 로그를 확장하고 로그 스트리밍이 일시 중지되지 않았는지 확인합니다.Back in the Azure portal, browse to your function expand the Logs at the bottom of the page and make sure that log streaming isn't paused.

  2. Storage Explorer에서 스토리지 계정, Blob 컨테이너samples-workitems를 확장합니다.In Storage Explorer, expand your storage account, Blob Containers, and samples-workitems. 업로드를 클릭한 후 파일 업로드... 를 클릭합니다.Click Upload and then Upload files....

    Blob 컨테이너에 파일 업로드.

  3. 파일 업로드 대화 상자에서 파일 필드를 클릭합니다.In the Upload files dialog box, click the Files field. 로컬 컴퓨터에서 이미지 파일과 같은 파일을 찾아 선택하고 열기업로드를 차례로 클릭합니다.Browse to a file on your local computer, such as an image file, select it and click Open and then Upload.

  4. 함수 로그로 돌아가 Blob을 읽었는지 확인합니다.Go back to your function logs and verify that the blob has been read.

    로그에서 메시지 보기.

    참고

    함수 앱이 기본 소비 계획에서 실행될 때 추가 또는 업데이트되는 Blob과 트리거되는 함수 사이에 최대 몇 분의 지연이 있을 수 있습니다.When your function app runs in the default Consumption plan, there may be a delay of up to several minutes between the blob being added or updated and the function being triggered. Blob 트리거 함수에서 대기 시간을 줄여야 하는 경우 App Service 계획에서 함수 앱을 실행하는 것이 좋습니다.If you need low latency in your blob triggered functions, consider running your function app in an App Service plan.

리소스 정리Clean up resources

이 컬렉션의 다른 빠른 시작은 이 빠른 시작을 기반으로 합니다.Other quick starts in this collection build upon this quick start. 이후의 빠른 시작, 자습서 또는 기타 이 빠른 시작에서 만든 서비스를 사용하여 작업하려는 경우 이 빠른 시작에서 만든 리소스를 정리하지 않습니다.If you plan to work with subsequent quick starts, tutorials, or with any of the services you have created in this quick start, do not clean up the resources.

Azure에서 리소스란 앱, 함수, 저장소 계정 등을 의미합니다.Resources in Azure refers to function apps, functions, storage accounts, and so forth. 리소스는 리소스 그룹으로 그룹화되며 그룹을 삭제하면 그룹의 모든 항목을 삭제할 수 있습니다.They are grouped into resource groups, and you can delete everything in a group by deleting the group.

이러한 빠른 시작을 완료하기 위해 리소스를 만들었습니다.You created resources to complete these quickstarts. 계정 상태서비스 가격 책정에 따라 리소스에 대해 요금이 청구될 수 있습니다.You may be billed for these resources, depending on your account status and service pricing. 리소스가 더 이상 필요하지 않게 되면 다음과 같이 삭제합니다.If you don't need the resources anymore, here's how to delete them:

  1. Azure Portal에서 리소스 그룹 페이지로 이동합니다.In the Azure portal, go to the Resource group page.

    함수 앱 페이지에서 해당 페이지로 이동하려면 개요 탭을 선택한 후 리소스 그룹 아래의 링크를 선택합니다.To get to that page from the function app page, select the Overview tab and then select the link under Resource group.

    함수 앱 페이지에서 삭제할 리소스 그룹을 선택합니다.

    대시보드에서 해당 페이지로 이동하려면 리소스 그룹을 선택한 다음 이 빠른 시작에 사용한 리소스 그룹을 선택합니다.To get to that page from the dashboard, select Resource groups, and then select the resource group that you used for this quickstart.

  2. 리소스 그룹 페이지에서 포함된 리소스 목록을 검토하고 삭제하려는 항목인지 확인합니다.In the Resource group page, review the list of included resources, and verify that they are the ones you want to delete.

  3. 리소스 그룹 삭제를 선택하고 지시를 따릅니다.Select Delete resource group, and follow the instructions.

    삭제는 몇 분 정도 소요됩니다.Deletion may take a couple of minutes. 완료되면 알림이 잠시 표시됩니다.When it's done, a notification appears for a few seconds. 페이지 위쪽의 종 모양 아이콘을 선택해도 알림을 확인할 수 있습니다.You can also select the bell icon at the top of the page to view the notification.

다음 단계Next steps

Blob Storage에서 Blob이 추가 또는 업데이트될 때 실행되는 함수를 만들었습니다.You have created a function that runs when a blob is added to or updated in Blob storage. Blob Storage 트리거에 대한 자세한 내용은 Azure Functions Blob Storage 바인딩을 참조하세요.For more information about Blob storage triggers, see Azure Functions Blob storage bindings.

첫 번째 함수를 만들었으므로, Storage 큐에 메시지를 작성하는 함수에 출력 바인딩을 추가해 보겠습니다.Now that you have created your first function, let's add an output binding to the function that writes a message to a Storage queue.