랩: Function Apps
Azure Function Apps는 Azure App Service 인프라를 사용합니다. 이 랩에서는 Azure Portal에서 Function App을 만드는 방법을 알아봅니다. Function App은 개별 함수의 실행을 호스팅하는 컨테이너입니다. Function App을 App Service Plan에 만들면 Function App이 App Service의 모든 기능을 사용할 수 있습니다.
연습 1: Function과 트리거 생성
작업 1: 랩 설정
-
웹 브라우저에 이 URL로 접속한다.
-
리소스 그룹에서 새로 만들기를 선택하고
az5000202
를 입력한다. -
위에 명시된 사용 약관에 동의함 체크박스에 체크를 한 후 구매버튼을 클릭한다.
작업 2: Function App에 HTTP 트리거 추가
-
리소스 그룹으로 이동한다.
-
이전에
작업 1
에서 배포한 리소스의 배포가 완료되면 az5000202로 이동한다. -
생성된 Function App을 선택한다.
참고: 현재 Function App에 지정된 함수는 없습니다.
-
개요 블레이드의 상단 메뉴에서 </> Switch to classic experience를 선택하고, -> 클래식 환경으로 계속을 클릭한다.
-
함수를 클릭한다.
-
상단에 새 함수를 클릭한다.
-
상단에 실험적 언어 지원을 클릭하여 사용으로 변경한다.
참고: 다른 언어가 트리거에 추가되었습니다.
-
HTTP trigger를 클릭한다.
-
오른쪽에 새 함수 컨텍스트 창이 뜨면 언어를 PowerShell로 수정한다.
-
이름은 기본값으로 둔다.
-
권한 수준은 Function으로 설정한다.
-
만들기 버튼을 클릭한다.
PS1 HTTP 트리거가 생성되었습니다.
작업 3: HTTP 트리거를 이용하여 REST 호출 테스트
-
Function App 이름을 확인한다. (function app 아이콘 옆).
-
HTTP trigger Function에서 관리를 클릭한다.
-
함수 키에 있는 default의 작업에서 복사 버튼을 클릭하여 키를 복사한다. 복사한 키는 별도로 메모해 둔다.
-
다음 URL로 접속하여 PowerShell 코드를 복사한다.
https://raw.githubusercontent.com/godeploy/AZ500/master/AZ500%20Mod2%20Lab%202/RESTgetHTTPtrigger.ps1
-
PowerShell ISE를 실행하여 코드를 붙여넣기 한다.
-
$functionappname = ""
변수에 생성된 Function App 이름을 입력한다. -
$functionkey = ""
변수에 앞서 메모해둔 함수 키를 입력한다. -
PowerShell 스크립트를 실행한다. (F5)
-
PowerShell ISE 결과창에 다음과 같은 결과가 나타나는지 확인한다.
This is result of a normal GET operation calling your HTTP trigger Hello This is result of a normal GET operation calling your HTTP trigger with an extra parameter passed to the trigger Hello World! This is result of a normal PUT operation calling your HTTP trigger that feeds a hash table converted to JSON to the HTTP triggger Hello Max Power
HTTP 트리거를 가지는 Function App을 생성하고 PowerShell 스크립트를 이용하여 Function App을 테스트 해봤습니다.
연습 2: 랩 리소스 삭제
작업 1: Cloud Shell 열기
-
Azure 포털 상단에서 Cloud Shell 아이콘을 클릭하여 Cloud Shell 창을 연다.
-
Cloud Shell 인터페이스에서 Bash를 선택한다.
-
Cloud Shell 명령 프롬프트에서 다음 명령을 입력하고 Enter를 눌러 이 랩에서 생성한 모든 리소스 그룹을 나열한다.
az group list --query "[?starts_with(name,'az500')].name" --output tsv
-
출력된 결과가 이 랩에서 생성한 리소스 그룹만 포함되어 있는지 확인한다. 이 그룹은 다음 작업에서 삭제된다.
작업 2: 리소스 그룹 삭제하기
-
Cloud Shell 명령 프롬프트에서 다음 명령을 입력하고 Enter를 눌러 이 랩에서 생성한 모든 리소스 그룹을 삭제한다.
az group list --query "[?starts_with(name,'az500')].name" --output tsv | xargs -L1 bash -c 'az group delete --name $0 --no-wait --yes'
-
Cloud Shell 명령 프롬프트를 닫는다.
결과: 이 연습을 완료한 후 이 랩에서 사용된 리소스 그룹을 제거했습니다.