Python을 사용한 Azure Functions: 트리거
Python 개발자는 Azure Functions를 사용하여 가볍고 확장 가능하며 효율적인 서버리스 애플리케이션을 만들 수 있습니다. 이번 게시물에서는 트리거에 중점을 두겠습니다.
Azure Functions의 트리거란 무엇입니까?
트리거는 Azure Functions의 기초입니다. 함수가 호출되는 방법을 결정합니다. 각 함수에는 정확히 하나의 트리거가 있어야 하며, 트리거 유형에 따라 함수에 사용할 수 있는 데이터 페이로드가 결정됩니다. Azure는 다음을 포함한 다양한 트리거를 지원합니다.
1. HTTP 트리거
- HTTP 요청을 통해 함수를 호출할 수 있습니다.
- API를 구축하거나 웹훅에 응답하는 데 유용합니다.
- 예:
import azure.functions as func import datetime import json import logging app = func.FunctionApp() @app.route(route="http_trigger", auth_level=func.AuthLevel.ANONYMOUS) def http_trigger(req: func.HttpRequest) -> func.HttpResponse: logging.info('Python HTTP trigger function processed a request.') return func.HttpResponse("Hello world from HTTP trigger")
매개변수:
-
route: HTTP 트리거가 응답할 URL 경로를 지정합니다. 이 경우 해당 기능은
/api/http_trigger에서 액세스할 수 있습니다. -
auth_level: 함수의 인증 수준을 결정합니다. 옵션은 다음과 같습니다:
- 익명: 인증이 필요하지 않습니다.
- 기능: 기능별 키가 필요합니다.
- ADMIN: 관리자 수준 키가 필요합니다.
2. 타이머 트리거
- 스케줄에 따라 기능을 실행합니다.
- Cron 표현식은 스케줄링에 사용됩니다.
- 예:
import azure.functions as func import datetime import json import logging app = func.FunctionApp() @app.timer_trigger(schedule="0 */5 * * * *", arg_name="myTimer", run_on_startup=False, use_monitor=False) def timer_trigger(myTimer: func.TimerRequest) -> None: if myTimer.past_due: logging.info('The timer is past due!') logging.info('Python timer trigger function executed.')
매개변수:
- 일정: CRON 표현식을 사용하여 일정을 정의합니다. 여기서 0 */5 * * * *는 0초부터 5분마다 함수가 실행되도록 지정합니다.
- arg_name: TimerRequest 객체를 나타내는 함수에 전달된 인수의 이름입니다.
- run_on_startup: True로 설정하면 앱이 시작될 때 함수가 즉시 실행됩니다. 기본값은 False입니다.
- use_monitor: Azure에서 누락된 일정 실행을 모니터링해야 하는지 여부를 결정합니다. True인 경우 Azure는 누락된 실행이 다시 시도되도록 합니다. 기본값은 True입니다. 이 예에서는 False로 설정되어 있습니다.
3. 블롭 트리거
- Azure Blob Storage의 변경 사항(예: 파일 업로드)에 응답합니다.
- 예:
import azure.functions as func import datetime import json import logging app = func.FunctionApp() @app.blob_trigger(arg_name="myblob", path="blobname", connection="BlobStorageConnectionString") def BlobTrigger(myblob: func.InputStream): logging.info(f"Python blob trigger function processed blob" f"Name: {myblob.name}" f"Blob Size: {myblob.length} bytes")
매개변수:
- arg_name: Blob 데이터를 나타내는 함수의 인수 이름을 지정합니다. 여기는 myblob입니다.
- 경로: 함수가 수신 대기하는 Blob Storage 컨테이너의 경로입니다. 이 예에서는 blobname입니다.
- 연결: Blob Storage 계정에 대한 연결 문자열이 포함된 애플리케이션 설정의 이름을 나타냅니다. 여기는 BlobStorageConnectionString입니다.
4. 대기열 트리거
- Azure Storage 대기열에 추가된 메시지에 의해 트리거됩니다.
- 예:
import azure.functions as func import datetime import json import logging app = func.FunctionApp() @app.route(route="http_trigger", auth_level=func.AuthLevel.ANONYMOUS) def http_trigger(req: func.HttpRequest) -> func.HttpResponse: logging.info('Python HTTP trigger function processed a request.') return func.HttpResponse("Hello world from HTTP trigger")
매개변수:
- arg_name: 함수의 큐 메시지를 나타내는 인수의 이름을 지정합니다. 여기는 아즈큐입니다.
- queue_name: 함수가 수신 대기하는 Azure Storage 큐의 이름입니다. 이 경우에는 queuename입니다.
- 연결: Azure Storage 대기열에 대한 연결 문자열이 포함된 애플리케이션 설정을 나타냅니다. 여기는 QueueConnectionString입니다.
5. EventHub 트리거
- Azure Event Hub로 전송된 이벤트에 의해 트리거됩니다.
- 예:
import azure.functions as func import datetime import json import logging app = func.FunctionApp() @app.timer_trigger(schedule="0 */5 * * * *", arg_name="myTimer", run_on_startup=False, use_monitor=False) def timer_trigger(myTimer: func.TimerRequest) -> None: if myTimer.past_due: logging.info('The timer is past due!') logging.info('Python timer trigger function executed.')
매개변수:
- arg_name: 함수에서 이벤트 데이터를 수신할 매개변수의 이름을 지정합니다. 이 경우 azeventhub는 들어오는 EventHubEvent를 나타내는 변수가 됩니다.
- event_hub_name: 이는 함수가 수신 대기 중인 이벤트 허브의 이름을 나타냅니다. eventhubname을 Event Hub의 실제 이름으로 바꿉니다.
- 연결: 이벤트 허브에 대한 연결 문자열이 포함된 애플리케이션 설정의 이름을 나타냅니다. Azure 함수 앱의 설정에 적절한 연결 문자열 값과 함께 EventHubConnectionString이라는 항목이 포함되어 있는지 확인하세요.
6. ServiceBus 큐 트리거
- Azure Service Bus 큐에 추가된 메시지에 의해 트리거됩니다.
- 예:
import azure.functions as func import datetime import json import logging app = func.FunctionApp() @app.blob_trigger(arg_name="myblob", path="blobname", connection="BlobStorageConnectionString") def BlobTrigger(myblob: func.InputStream): logging.info(f"Python blob trigger function processed blob" f"Name: {myblob.name}" f"Blob Size: {myblob.length} bytes")
매개변수:
- arg_name: 이는 함수에서 메시지 데이터를 수신할 매개변수의 이름을 지정합니다. 이 경우 azservicebus는 들어오는 ServiceBusMessage를 나타내는 변수가 됩니다.
- queue_name: 이는 함수가 수신 대기 중인 Service Bus 큐의 이름을 나타냅니다. servicebusqueuename을 Service Bus 큐의 실제 이름으로 바꿉니다.
- connection: Service Bus에 대한 연결 문자열이 포함된 애플리케이션 설정의 이름을 나타냅니다. Azure 함수 앱의 설정에 적절한 연결 문자열 값과 함께 ServiceBusConnectionString이라는 항목이 포함되어 있는지 확인하세요.
7. ServiceBus 주제 트리거
- Azure Service Bus 주제에 게시된 메시지에 의해 트리거됩니다.
- 예:
import azure.functions as func import datetime import json import logging app = func.FunctionApp() @app.route(route="http_trigger", auth_level=func.AuthLevel.ANONYMOUS) def http_trigger(req: func.HttpRequest) -> func.HttpResponse: logging.info('Python HTTP trigger function processed a request.') return func.HttpResponse("Hello world from HTTP trigger")
매개변수:
- arg_name: 함수에서 Service Bus 메시지를 나타내는 인수의 이름을 지정합니다. 여기는 azservicebus입니다.
- subscription_name: 트리거가 수신하는 Service Bus 구독의 이름입니다.
- topic_name: 트리거가 수신하는 Service Bus 주제의 이름입니다. 이 예에서는 servicebustopicname입니다.
- 연결: Azure Service Bus 네임스페이스에 대한 연결 문자열이 포함된 애플리케이션 설정을 나타냅니다. 여기는 ServiceBusConnectionString입니다.
기타 트리거
- Cosmos DB 트리거: 변경 피드 메커니즘을 활용하여 Azure Cosmos DB 데이터베이스의 변경 사항(삽입 및 업데이트)에 응답합니다.
- Dapr 게시 출력 바인딩: 함수가 실행 중에 Dapr 주제에 메시지를 게시할 수 있도록 하여 마이크로서비스 간 통신을 촉진합니다.
- Dapr 서비스 호출 트리거: 다른 Dapr 지원 서비스에서 직접 기능을 호출하여 서비스 간 통신을 지원합니다.
- Dapr 주제 트리거: Dapr의 게시-구독 메시징 패턴을 통해 특정 주제에 게시된 메시지에 대한 응답으로 기능을 실행합니다.
- Event Grid 트리거: 이벤트가 Azure Event Grid 주제로 전송될 때 기능을 활성화하여 반응형 이벤트 기반 아키텍처를 허용합니다.
위 내용은 Python을 사용한 Azure Functions: 트리거의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Linux 터미널에서 Python 버전을 보려고 할 때 Linux 터미널에서 Python 버전을 볼 때 권한 문제에 대한 솔루션 ... Python을 입력하십시오 ...

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Python의 Pandas 라이브러리를 사용할 때는 구조가 다른 두 데이터 프레임 사이에서 전체 열을 복사하는 방법이 일반적인 문제입니다. 두 개의 dats가 있다고 가정 해

Uvicorn은 HTTP 요청을 어떻게 지속적으로 듣습니까? Uvicorn은 ASGI를 기반으로 한 가벼운 웹 서버입니다. 핵심 기능 중 하나는 HTTP 요청을 듣고 진행하는 것입니다 ...

Linux 터미널에서 Python 사용 ...

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Investing.com의 크롤링 전략 이해 많은 사람들이 종종 Investing.com (https://cn.investing.com/news/latest-news)에서 뉴스 데이터를 크롤링하려고합니다.
