cari
Rumahpembangunan bahagian belakangTutorial PythonFungsi Azure dengan Python: Pencetus

Azure Functions with Python: Triggers

Pembangun Python boleh menggunakan Azure Functions untuk mencipta aplikasi tanpa pelayan yang ringan, berskala dan cekap. Dalam siaran ini, kami akan menumpukan pada pencetus.

Apakah Pencetus dalam Fungsi Azure?

Pencetus adalah asas kepada Fungsi Azure. Mereka menentukan cara fungsi dipanggil. Setiap fungsi mesti mempunyai tepat satu pencetus, dan jenis pencetus menentukan muatan data yang tersedia untuk fungsi tersebut. Azure menyokong pelbagai pencetus, termasuk:

1. Pencetus HTTP

  • Membenarkan fungsi digunakan melalui permintaan HTTP.
  • Berguna untuk membina API atau membalas webhooks.
  • Contoh:
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")

Parameter:

  • laluan: Menentukan laluan URL yang akan bertindak balas oleh pencetus HTTP. Dalam kes ini, fungsi boleh diakses di /api/http_trigger.
  • auth_level: Menentukan tahap pengesahan untuk fungsi. Pilihan termasuk:
    • TANPA NAMA: Tiada pengesahan diperlukan.
    • FUNGSI: Memerlukan kunci khusus fungsi.
    • ADMIN: Memerlukan kunci peringkat pentadbir.

2. Pencetus Pemasa

  • Melaksanakan fungsi berdasarkan jadual.
  • Ungkapan Cron digunakan untuk penjadualan.
  • Contoh:
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.')

Parameter:

  • jadual: Mentakrifkan jadual menggunakan ungkapan CRON. Di sini, 0 */5 * * * * menentukan fungsi berjalan setiap 5 minit bermula pada saat ke-0.
  • arg_name: Nama hujah yang dihantar ke fungsi, mewakili objek TimerRequest.
  • run_on_startup: Jika ditetapkan kepada Benar, fungsi tersebut dilaksanakan serta-merta apabila apl dimulakan. Lalai ialah Palsu.
  • use_monitor: Menentukan sama ada Azure harus memantau pelaksanaan jadual yang terlepas. Jika Benar, Azure memastikan pelaksanaan yang terlepas dicuba semula. Lalai adalah Benar. Dalam contoh ini, ia ditetapkan kepada Palsu.

3. Pencetus Blob

  • Membalas kepada perubahan dalam Storan Azure Blob (cth., muat naik fail).
  • Contoh:
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")

Parameter:

  • arg_name: Menentukan nama hujah dalam fungsi yang mewakili data gumpalan. Inilah myblob.
  • laluan: Laluan dalam bekas Blob Storage yang fungsi mendengar. Dalam contoh ini, ia adalah blobname.
  • sambungan: Merujuk kepada nama tetapan aplikasi yang mengandungi rentetan sambungan untuk akaun Blob Storage. Ini ialah BlobStorageConnectionString.

4. Pencetus Baris

  • Dicetuskan oleh mesej yang ditambahkan pada Barisan Storan Azure.
  • Contoh:
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")

Parameter:

  • arg_name: Menentukan nama argumen yang mewakili mesej baris gilir dalam fungsi. Di sini, ia adalah azqueue.
  • queue_name: Nama Baris Storan Azure yang fungsi mendengar. Dalam kes ini, ia adalah nama gilir.
  • sambungan: Merujuk kepada tetapan aplikasi yang mengandungi rentetan sambungan untuk Barisan Storan Azure. Ini ialah QueueConnectionString.

5. Pencetus EventHub

  • Dicetuskan oleh acara yang dihantar ke Hab Acara Azure.
  • Contoh:
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.')

Parameter:

  • arg_name: Ini menentukan nama parameter yang akan menerima data peristiwa dalam fungsi anda. Dalam kes ini, azeventhub akan menjadi pembolehubah yang mewakili EventHubEvent masuk.
  • event_hub_name: Ini menandakan nama Event Hub yang fungsi sedang mendengar. Gantikan nama eventhub dengan nama sebenar Hab Acara anda.
  • sambungan: Ini merujuk kepada nama tetapan aplikasi yang mengandungi rentetan sambungan untuk Hab Acara. Pastikan tetapan Apl Fungsi Azure anda termasuk entri bernama EventHubConnectionString dengan nilai rentetan sambungan yang sesuai.

6. Pencetus Barisan Servis

  • Dicetuskan oleh mesej yang ditambahkan pada baris gilir Bas Perkhidmatan Azure.
  • Contoh:
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")

Parameter:

  • arg_name: Ini menentukan nama parameter yang akan menerima data mesej dalam fungsi anda. Dalam kes ini, azservicebus akan menjadi pembolehubah yang mewakili ServiceBusMessage yang masuk.
  • nama_baris: Ini menandakan nama baris gilir Bas Perkhidmatan yang sedang didengari oleh fungsi itu. Gantikan servicebusqueuename dengan nama sebenar baris gilir Bas Perkhidmatan anda.
  • sambungan: Ini merujuk kepada nama tetapan aplikasi yang mengandungi rentetan sambungan untuk Bas Perkhidmatan. Pastikan tetapan Apl Fungsi Azure anda termasuk entri bernama ServiceBusConnectionString dengan nilai rentetan sambungan yang sesuai.

7. Pencetus Topik ServiceBus

  • Dicetuskan oleh mesej yang diterbitkan pada topik Bas Perkhidmatan Azure.
  • Contoh:
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")

Parameter:

  • arg_name: Menentukan nama hujah yang mewakili mesej Bas Perkhidmatan dalam fungsi. Ini ialah azservicebus.
  • subscription_name: Nama langganan Bas Perkhidmatan yang didengari oleh pencetus.
  • nama_topik: Nama topik Bas Perkhidmatan yang didengari oleh pencetus. Dalam contoh ini, ia ialah servicebustopicname.
  • sambungan: Merujuk kepada tetapan aplikasi yang mengandungi rentetan sambungan untuk ruang nama Bas Perkhidmatan Azure. Ini ialah ServiceBusConnectionString.

Pencetus Lain

  • Pencetus DB Cosmos: Membalas perubahan (sisipan dan kemas kini) dalam pangkalan data DB Azure Cosmos dengan menggunakan mekanisme suapan perubahan.
  • Pengikatan Output Terbitan Dapr: Membenarkan fungsi untuk menerbitkan mesej kepada topik Dapr semasa pelaksanaan, memudahkan komunikasi antara perkhidmatan mikro.
  • Pencetus Invokasi Perkhidmatan Dapr: Membolehkan fungsi digunakan secara langsung oleh perkhidmatan lain yang didayakan Dapr, menyokong komunikasi perkhidmatan ke perkhidmatan.
  • Pencetus Topik Dapr: Melaksanakan fungsi sebagai tindak balas kepada mesej yang diterbitkan pada topik tertentu melalui corak pemesejan terbitkan-langganan Dapr.
  • Pencetus Grid Peristiwa: Mengaktifkan fungsi apabila acara dihantar ke topik Grid Peristiwa Azure, membenarkan seni bina dipacu peristiwa reaktif.

Atas ialah kandungan terperinci Fungsi Azure dengan Python: Pencetus. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Bagaimana anda memotong senarai python?Bagaimana anda memotong senarai python?May 02, 2025 am 12:14 AM

Slicingapythonlistisdoneusingthesyntaxlist [Mula: berhenti: langkah] .here'showitworks: 1) startistheindexofthefirstelementtoinclude.2) stopistheindexofthefirstelementToexclude.3)

Apakah beberapa operasi biasa yang boleh dilakukan pada array numpy?Apakah beberapa operasi biasa yang boleh dilakukan pada array numpy?May 02, 2025 am 12:09 AM

NumpyallowsforvariousoperationsonArrays: 1) BasicarithmeticLikeaddition, penolakan, pendaraban, danDivision; 2) Pengerjaan AdvancedSuchasmatrixmultiplication; 3) Element-WiseOperationswithoutExplicitLoops;

Bagaimana tatasusunan digunakan dalam analisis data dengan python?Bagaimana tatasusunan digunakan dalam analisis data dengan python?May 02, 2025 am 12:09 AM

Arraysinpython, terutamanya yang ada, adalah, penawaran yang ditawarkan.1) numpyarraysenableFandlingoflargedataSetsandClexPleperationsLikemovingAverages.2)

Bagaimanakah jejak memori senarai dibandingkan dengan jejak memori array di Python?Bagaimanakah jejak memori senarai dibandingkan dengan jejak memori array di Python?May 02, 2025 am 12:08 AM

ListsSandnumpyAraySInpythonHavedifferMememoryFootPrints: listsaremoreflexibleButlessMememory-cekap, pemanmak

Bagaimana anda mengendalikan konfigurasi khusus persekitaran semasa menggunakan skrip python yang boleh dilaksanakan?Bagaimana anda mengendalikan konfigurasi khusus persekitaran semasa menggunakan skrip python yang boleh dilaksanakan?May 02, 2025 am 12:07 AM

ToensurePythonscriptsbehaveCorrectlyCrossdevelopment, pementasan, dan produksi, usetheseStregies: 1) Environmentvariablesforsimplesettings, 2) ConfigurationFilesfilePlexSetups, dan3) Dynamicloadingforadaptability.EachMethodeFerPiReFiteReFiteShitsandReFitSandRiteFitSandRiteFitSandRiteFiteSandRiteReFitSandRiteReFitSandRiteFiteShiteSandReFiteShitsandReShitsAnfitsEts,

Bagaimana anda memotong array python?Bagaimana anda memotong array python?May 01, 2025 am 12:18 AM

Sintaks asas untuk pengirim senarai python adalah senarai [Mula: Berhenti: Langkah]. 1. Start adalah indeks elemen pertama yang disertakan, 2.Stop adalah indeks elemen pertama yang dikecualikan, dan 3. Step menentukan saiz langkah antara elemen. Hirisan tidak hanya digunakan untuk mengekstrak data, tetapi juga untuk mengubah suai dan membalikkan senarai.

Di bawah keadaan apa yang mungkin senarai lebih baik daripada tatasusunan?Di bawah keadaan apa yang mungkin senarai lebih baik daripada tatasusunan?May 01, 2025 am 12:06 AM

ListsOutPerFormAraySin: 1) DynamicsizingandFrequentInsertions/Deletions, 2) StoringHeterogeneousData, dan3) MemoryeficiencyForSparsedata, ButmayHaveslightPerformancecostSincertaor.

Bagaimana anda boleh menukar array python ke senarai python?Bagaimana anda boleh menukar array python ke senarai python?May 01, 2025 am 12:05 AM

ToConvertapythonarraytoalist, usethelist () constructororageneratorexpression.1) importTheArrayModuleAndCreateeanArray.2) uselist (arr) atau [xforxinarr] toConvertittoalist, urusanPengerasiPormanceAndMemoryeficiencyForlargedatasets.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini