랩: 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 명령 프롬프트를 닫는다. 
결과: 이 연습을 완료한 후 이 랩에서 사용된 리소스 그룹을 제거했습니다.