Rumah pembangunan bahagian belakang Tutorial Python Fungsi Azure dengan Python: Pencetus

Fungsi Azure dengan Python: Pencetus

Jan 03, 2025 am 02:57 AM

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")
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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.')
Salin selepas log masuk
Salin selepas log masuk

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")
Salin selepas log masuk
Salin selepas log masuk

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")
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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.')
Salin selepas log masuk
Salin selepas log masuk

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")
Salin selepas log masuk
Salin selepas log masuk

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")
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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 Laman Web ini
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

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Apr 01, 2025 pm 05:09 PM

Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Apr 01, 2025 pm 11:15 PM

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Apr 02, 2025 am 07:18 AM

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Apr 02, 2025 am 07:15 AM

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Apakah ungkapan biasa? Apakah ungkapan biasa? Mar 20, 2025 pm 06:25 PM

Ekspresi biasa adalah alat yang berkuasa untuk memadankan corak dan manipulasi teks dalam pengaturcaraan, meningkatkan kecekapan dalam pemprosesan teks merentasi pelbagai aplikasi.

Bagaimanakah uvicorn terus mendengar permintaan http tanpa serving_forever ()? Bagaimanakah uvicorn terus mendengar permintaan http tanpa serving_forever ()? Apr 01, 2025 pm 10:51 PM

Bagaimanakah Uvicorn terus mendengar permintaan HTTP? Uvicorn adalah pelayan web ringan berdasarkan ASGI. Salah satu fungsi terasnya ialah mendengar permintaan HTTP dan teruskan ...

Apakah beberapa perpustakaan Python yang popular dan kegunaan mereka? Apakah beberapa perpustakaan Python yang popular dan kegunaan mereka? Mar 21, 2025 pm 06:46 PM

Artikel ini membincangkan perpustakaan Python yang popular seperti Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask, dan Permintaan, memperincikan kegunaan mereka dalam pengkomputeran saintifik, analisis data, visualisasi, pembelajaran mesin, pembangunan web, dan h

Bagaimana secara dinamik membuat objek melalui rentetan dan panggil kaedahnya dalam Python? Bagaimana secara dinamik membuat objek melalui rentetan dan panggil kaedahnya dalam Python? Apr 01, 2025 pm 11:18 PM

Di Python, bagaimana untuk membuat objek secara dinamik melalui rentetan dan panggil kaedahnya? Ini adalah keperluan pengaturcaraan yang biasa, terutamanya jika perlu dikonfigurasikan atau dijalankan ...

See all articles