반응형
LIST
구성 요소
- 코드 ( 다양한 언어로 작성 할 수 있는)
- function.json 파일
1️⃣ 컴파일 언어 : 코드의 주석에서 자동 생성
2️⃣ 스크립팅 언어 : 구성 파일을 직접 제공해야함
function.json
- 함수의 트리거, 바인딩 및 기타 구성 설정
- 모든 함수에 하나의 트리거만 존재
- 런타임 : 이 구성 파일을 사용하여 모니터링 할 이벤트, 함수 실행에 데이터 전달, 반환하는 방법 확인
{
"disabled":false,
"bindings":[
// ... bindings here
{
"type": "bindingType",
"direction": "in",
"name": "myParamName",
// ... more depending on binding
}
]
}
bindings
바인딩 : 속성과 개체 사이 또는 연산과 기호 사이와 같은 연관,
⇒ 이름에 속성을 연관 시키는 과정
- 트리거, 바인딩을 모두 구성하는 곳에 위치
- 몇 가지 공통적인 설정, 특정한 바인딩 형식에 해당하는 일부 설정 공유
type 바인딩의 이름
direction 함수 안으로 데이터를 수신? (in) 함수의 데이터를 전송할 것인지?(out)
name 함수에서 바인딩 데이터에 사용되는 이름
Function app
- 함수가 실행되는 Azure의 실행 context 제공
- 함수에 대한 배포 및 관리 단위
- 함께 관리, 배포 및 크기 조정되는 하나 이상의 개별 함수로 구성됨
- 동일한 가격 책정 계획, 배포 방법 및 런타임 버전을 공유
폴더 구조
<project_root>/
| - .venv/
| - .vscode/
| - my_first_function/
| | - __init__.py
| | - function.json
| | - example.py
| - my_second_function/
| | - __init__.py
| | - function.json
| - shared_code/
| | - __init__.py
| | - my_first_helper_function.py
| | - my_second_helper_function.py
| - tests/
| | - test_my_second_function.py
| - .funcignore
| - host.json
| - local.settings.json
| - requirements.txt
| - Dockerfile
- local.settings.json: 함수가 로컬에서 실행될 때 앱 설정 및 연결 문자열을 저장하는 데 사용됩니다. 이 파일은 Azure에 게시되지 않습니다. 자세히 알아보려면 로컬 설정 파일을 참조하세요.
- requirements.txt: Azure에 게시할 때 시스템이 설치하는 Python 패키지 목록이 포함되어 있습니다.
- *host.json*: 함수 앱 인스턴스의 모든 함수에 영향을 미치는 구성 옵션이 포함되어 있습니다. 이 파일은 Azure에 게시됩니다. 함수가 로컬로 실행 중일 때 모든 옵션이 지원되는 것은 아닙니다. 자세한 내용은 host.json 참조를 참조하세요.
- *.vscode/*:(선택 사항) 저장된 Visual Studio Code 구성을 포함합니다. 자세한 내용은 사용자 및 작업 영역 설정을 참조하세요.
- .venv/:(선택 사항) 로컬 개발에 사용되는 Python 가상 환경을 포함합니다.
- Dockerfile:(선택 사항) 사용자 지정 컨테이너에 프로젝트를 게시할 때 사용됩니다.
- tests/ : (선택 사항) 함수 앱의 테스트 사례를 포함합니다.
- .funcignore:(선택 사항) Azure에 게시하면 안 되는 파일을 선언합니다. 일반적으로 이 파일에는 편집기 설정을 무시하는 .vscode/, 로컬 Python 가상 환경을 무시하는 .venv/, 테스트 사례를 무시하는 tests/, 로컬 앱 설정이 게시되지 않도록 하는 local.settings.json이 포함됩니다.
트리거 및 바인딩 만들기
- 트리거 : 함수가 실행되도록 하는 것
- 함수가 호출되는 방식으로 정의함
- 하나의 함수 : 하나의 트리거
- 트리거에는 관련 데이터가 있고, 일반적으로 함수의 페이로드로 제공됨
- 바인딩 : 함수에 다른 리소스를 선언적으로 연결하는 방법
- 입력 바인딩, 출력 바인딩으로 연결하거나 믹스 매치 가능
- 바인딩 : 선택
- HTTP 요청 내용을 읽으려면 dataType을 binary 로 설정
바인딩 방향
- Triggerin
- 입력과 출력 in out
- 일부 바인딩 : inout : 포털의 통합 탭을 통해 고급 편집기만 사용할 수 있음
Azure 서비스에 함수 연결
- 구성 공급자의 이름 별로 연결 정보를 참조함
- 연결 세부 정보를 직접 허용하지 않으므로 환경 간에 변경될 수 있음
연결 값
- 연결 이름이 정확한 단일 값으로 확인 → 런타임은 일반적으로 비밀을 포함하는 연결 문자열로 값을 식별하며 연결 문자열의 세부 정보는 연결하려는 서비스에 의해 정의됨
- 여러 구성 항목의 컬렉션을 참조할 수 있음
- 이중 밑줄(__)로 끝나는 공유 접두사를 사용하여 환경 변수를 컬렉션으로 처리 → 연결 이름을 이 접두사로 설정하여 그룹 참조
ID 기반 연결 구성
- secret 대신 ID를 사용하도록 구성됨
- 지원은 연결을 사용하는 확장에 따라 다름
- Durable Fuctions에서 지원되지 않음
ID 에 권한 부여
- 권한이 있어야 함
- Azure RBAC 에서 역할을 할당 or 액세스 정책에 ID를 지정하여 이루어짐
반응형
LIST
'AZURE' 카테고리의 다른 글
Powershell에서 클라이언트 시크릿을 활용하여 서비스 주체로 로그인 (0) | 2022.12.02 |
---|---|
Durable Functions 구현 (0) | 2022.09.07 |
Azure functions (0) | 2022.09.06 |
Azure Security Center Webinar: Discover How to Protect Your Resources using Azure Security Center 1 (0) | 2021.11.02 |
AZ-303 합격후기 (0) | 2021.10.19 |
댓글