EventHub SDK-Type Bindings with Azure Functions (Python)
Bind to rich SDK types when using EventHub trigger.
python
azure
azure-functions
azure-eventhub
sdk-bindings
sample
eventhub-sdk-type-bindings-with-azure-functions
EventHub SDK-Type Bindings with Azure Functions (Python)This sample demonstrates how to use the Azure Functions EventHub SDK-type bindings in Python. The supported SDK types includes EventData.
You can learn more about SDK-type bindings for EventHub in the SDK-type Bindings for Python Reference.
Before running the sample, you need the following:
Azure Subscription: An Azure account is required.
Azure Functions Core Tools: Install Azure Functions Core Tools to run and test functions locally.
Python 3.x: Ensure Python 3.9 or later is installed on your machine.
Azure Storage Account: Create a storage account via the Azure Portal and get the connection string.
The code in the sample folder has already been updated to support use of SDK-type bindings for EventHub. Let's walk through the changed files.
The requirements.txt
file has an additional dependency of the azurefunctions-extensions-bindings-eventhub
module:
azure-functions
azurefunctions-extensions-bindings-eventhub
The eventhub_samples_eventdata folder contains function_app.py
which imports the azurefunctions-extensions-bindings-eventhub
module.
import azure.functions as func import azurefunctions.extensions.bindings.eventhub as eventhub
In each function_app.py
file, there are two functions defined: both EventHub triggers. Both of these functions specify an arg named event
and define the type as an SDK-type.
The eventhub_samples_eventdata directory shows the type defined as EventData
.
@app.event_hub_message_trigger( arg_name="event", event_hub_name="EVENTHUB_NAME", connection="EventHubConnection" ) def eventhub_trigger(event: eh.EventData):
git clone https://github.com/Azure-Samples/azure-functions-eventhub-sdk-bindings-python.git
cd eventhub_samples_eventdata
pip install -r requirements.txt
local.settings.json
: replace EventHubConnection
with your desired EventHub connection string.function_app.py
, replace EVENTHUB_NAME with your EventHub name. Functions:
eventhub_trigger: eventHubTrigger
Python EventHub trigger processed an event { ... }
There are three main ways to deploy this to Azure:
azd
tool, run azd up
in the root of the project. You can also run azd pipeline config
to set up a CI/CD pipeline for deployment.All approaches will provision a Function App, Storage account (to store the code), and a Log Analytics workspace.
Visit the SDK-type bindings in Python reference documentation to learn more about how to use SDK-type bindings in a Python Function App and the API reference documentation to learn more about what you can do with the Azure EventHub library.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4