You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Apache Kafka bindings for Azure Functions overview
11
11
12
-
The Kafka extension for Azure Functions lets you write values out to [Apache Kafka](https://kafka.apache.org/) topics by using an output binding. You can also use a trigger to invoke your functions in response to messages in Kafka topics.
12
+
The Kafka extension for Azure Functions enables you to write values to [Apache Kafka](https://kafka.apache.org/) topics by using an output binding. You can also use a trigger to invoke your functions in response to messages in Kafka topics.
13
13
14
-
> [!IMPORTANT]
15
-
> Kafka bindings are only available for Functions on the [Elastic Premium Plan](functions-premium-plan.md) and [Dedicated (App Service) plan](dedicated-plan.md). They are only supported on version 3.x and later version of the Functions runtime.
@@ -27,7 +26,7 @@ The extension NuGet package you install depends on the C# mode you're using in y
27
26
28
27
# [Isolated worker model](#tab/isolated-process)
29
28
30
-
Functions execute in an isolated C# worker process. To learn more, see [Guide for running C# Azure Functions in an isolated worker process](dotnet-isolated-process-guide.md).
29
+
Functions run in an isolated C# worker process. To learn more, see [Guide for running C# Azure Functions in an isolated worker process](dotnet-isolated-process-guide.md).
31
30
32
31
Add the extension to your project by installing this [NuGet package](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Kafka).
33
32
@@ -36,7 +35,7 @@ Add the extension to your project by installing this [NuGet package](https://www
Functions execute in the same process as the Functions host. To learn more, see [Develop C# class library functions using Azure Functions](functions-dotnet-class-library.md).
38
+
Functions run in the same process as the Functions host. For more information, see [Develop C# class library functions using Azure Functions](functions-dotnet-class-library.md).
40
39
41
40
Add the extension to your project by installing this [NuGet package](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Kafka).
42
41
@@ -92,7 +91,7 @@ The following properties, which are inherited from the [Apache Kafka C/C++ clien
Copy file name to clipboardExpand all lines: articles/firmware-analysis/quickstart-upload-firmware-using-azure-command-line-interface.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -128,7 +128,7 @@ Once you've confirmed that your analysis status is "Ready", you can run commands
128
128
The following command retrieves a general summary of your firmware analysis results. Replace each argument with the appropriate value for your resource group, workspace name, and firmware ID.
Copy file name to clipboardExpand all lines: articles/firmware-analysis/quickstart-upload-firmware-using-powershell.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -133,7 +133,7 @@ while ($true) {
133
133
The following command retrieves a general summary of your firmware analysis results. Replace each argument with the appropriate value for your resource group, subscription, workspace name, and firmware ID.
Copy file name to clipboardExpand all lines: articles/firmware-analysis/quickstart-upload-firmware-using-python.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,9 @@ This article explains how to use a Python script to upload firmware images to fi
17
17
18
18
## Prerequisites
19
19
20
-
This quickstart assumes a basic understanding of firmware analysis. For more information, see [Firmware analysis for device builders](./overview-firmware-analysis.md). For a list of the file systems that are supported, see [Frequently asked Questions about firmware analysis](./firmware-analysis-faq.md#what-types-of-firmware-images-does-firmware-analysis-support).
20
+
This quickstart assumes a basic understanding of firmware analysis. For more information, see [Overview of firmware analysis](./overview-firmware-analysis.md). For a list of the file systems that are supported, see [Frequently asked Questions about firmware analysis](./firmware-analysis-faq.md#what-types-of-firmware-images-does-firmware-analysis-support).
21
+
22
+
You must have a resource group and workspace to upload and analyze firmware images. To create a resource group and workspace, see [Firmware analysis tutorial](./quickstart-firmware-analysis-portal.md).
21
23
22
24
You must have a resource group and workspace to upload and analyze firmware images. To create a resource group and workspace, see [Firmware analysis tutorial](./quickstart-firmware-analysis-portal.md).
23
25
@@ -32,6 +34,8 @@ You must have a resource group and workspace to upload and analyze firmware imag
32
34
pip install azure.storage.blob
33
35
pip install halo
34
36
pip install tabulate
37
+
pip install azure-identity
38
+
pip install azure-mgmt-iotfirmwaredefense
35
39
```
36
40
6. Log in to your Azure account by running the command [`az login`](/cli/azure/reference-index?#az-login).
> Kafka bindings are available for Functions on the [Flex Consumption plan](../articles/azure-functions/flex-consumption-plan.md), [Elastic Premium Plan](../articles/azure-functions/functions-premium-plan.md), and [Dedicated (App Service) plan](../articles/azure-functions/dedicated-plan.md). They are only supported on version 4.x of the Functions runtime.
Copy file name to clipboardExpand all lines: includes/functions-bindings-kafka-connections.md
+43-8Lines changed: 43 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,29 +2,64 @@
2
2
author: ggailey777
3
3
ms.service: azure-functions
4
4
ms.topic: include
5
-
ms.date: 05/14/2022
5
+
ms.date: 12/11/2025
6
6
ms.author: glenga
7
7
ms.custom: sfi-ropc-nochange
8
8
---
9
9
10
10
## Connections
11
11
12
-
All connection information required by your triggers and bindings should be maintained in application settings and not in the binding definitions in your code. This is true for credentials, which should never be stored in your code.
12
+
Store all connection information required by your triggers and bindings in application settings, not in the binding definitions in your code. This guidance applies to credentials, which you should never store in your code.
13
13
14
14
> [!IMPORTANT]
15
-
> Credential settings must reference an [application setting](../articles/azure-functions/functions-how-to-use-azure-function-app-settings.md#settings). Don't hard-code credentials in your code or configuration files. When running locally, use the [local.settings.json file](../articles/azure-functions/functions-develop-local.md#local-settings-file) for your credentials, and don't publish the local.settings.json file.
15
+
> Credential settings must reference an [application setting](../articles/azure-functions/functions-how-to-use-azure-function-app-settings.md#settings). Don't hard-code credentials in your code or configuration files. When running locally, use the [local.settings.json file](../articles/azure-functions/functions-develop-local.md#local-settings-file) for your credentials, and don't publish the local.settings.json file.
16
16
17
-
# [Confluent](#tab/confluent)
17
+
###[Confluent](#tab/confluent)
18
18
19
-
When connecting to a managed Kafka cluster provided by [Confluent in Azure](https://www.confluent.io/azure/), make sure that the following authentication credentials for your Confluent Cloud environment are set in your trigger or binding:
19
+
When connecting to a managed Kafka cluster provided by [Confluent in Azure](https://www.confluent.io/azure/), you can use one of the following authentication methods.
20
+
21
+
> [!NOTE]
22
+
> When using the Flex Consumption plan, file location-based certificate authentication properties (`SslCaLocation`, `SslCertificateLocation`, `SslKeyLocation`) aren't supported. Instead, use the PEM-based certificate properties (`SslCaPEM`, `SslCertificatePEM`, `SslKeyPEM`, `SslCertificateandKeyPEM`) or store certificates in Azure Key Vault.
23
+
24
+
#### Schema Registry
25
+
26
+
To make use of schema registry provided by Confluent in Kafka Extension, set the following credentials:
27
+
28
+
| Setting | Recommended Value | Description |
29
+
| --- | --- | --- |
30
+
|**SchemaRegistryUrl**|`SchemaRegistryUrl`| URL of the schema registry service used for schema management. Usually of the format `https://psrc-xyz.us-east-2.aws.confluent.cloud`|
31
+
|**SchemaRegistryUsername**|`CONFLUENT_API_KEY`| Username for basic auth on schema registry (if required). |
32
+
|**SchemaRegistryPassword**|`CONFLUENT_API_SECRET`| Password for basic auth on schema registry (if required). |
33
+
34
+
#### Username/Password authentication
35
+
36
+
While using this form of authentication, make sure that `Protocol` is set to either `SaslPlaintext` or `SaslSsl`, `AuthenticationMode` is set to `Plain`, `ScramSha256` or `ScramSha512` and, if the CA cert being used is different from the default ISRG Root X1 cert, make sure to update `SslCaLocation` or `SslCaPEM`.
20
37
21
38
| Setting | Recommended value | Description |
22
39
| --- | --- | --- |
23
-
|**BrokerList**|`BootstrapServer`| App setting named `BootstrapServer` contains the value of bootstrap server found in Confluent Cloud settings page. The value resembles `xyz-xyzxzy.westeurope.azure.confluent.cloud:9092`. |
40
+
|**BrokerList**|`BootstrapServer`| App setting named `BootstrapServer` contains the value of bootstrap server found in Confluent Cloud settings page. The value resembles `xyz-xyzxzy.westeurope.azure.confluent.cloud:9092`. |
24
41
|**Username**|`ConfluentCloudUsername`| App setting named `ConfluentCloudUsername` contains the API access key from the Confluent Cloud web site. |
25
42
|**Password**|`ConfluentCloudPassword`| App setting named `ConfluentCloudPassword` contains the API secret obtained from the Confluent Cloud web site. |
43
+
|**SslCaPEM**|`SSLCaPemCertificate`| App setting named `SSLCaPemCertificate` that contains the CA certificate as a string in PEM format. The value should follow the standard format, for example: `-----BEGIN CERTIFICATE-----\nMII....JQ==\n-----END CERTIFICATE-----`. |
44
+
45
+
#### SSL authentication
46
+
47
+
Ensure that `Protocol` is set to `SSL`.
48
+
49
+
| Setting | Recommended Value | Description |
50
+
| --- | --- | --- |
51
+
|**BrokerList**|`BootstrapServer`| App setting named `BootstrapServer` contains the value of bootstrap server found in Confluent Cloud settings page. The value resembles `xyz-xyzxzy.westeurope.azure.confluent.cloud:9092`. |
52
+
|**SslCaPEM**|`SslCaCertificatePem`| App setting named `SslCaCertificatePem` that contains PEM value of the CA certificate as a string. The value should follow the standard format: `-----BEGIN CERTIFICATE-----\nMII...JQ==\n-----END CERTIFICATE-----`|
53
+
|**SslCertificatePEM**|`SslClientCertificatePem`| App setting named `SslClientCertificatePem` that contains PEM value of the client certificate as a string. The value should follow the standard format: `-----BEGIN CERTIFICATE-----\nMII...JQ==\n-----END CERTIFICATE-----`|
54
+
|**SslKeyPEM**|`SslClientKeyPem`| App setting named `SslClientKeyPem` that contains PEM value of the client private key as a string. The value should follow the standard format: `-----BEGIN PRIVATE KEY-----\nMII...JQ==\n-----END PRIVATE KEY-----`|
55
+
|**SslCertificateandKeyPEM**|`SslClientCertificateAndKeyPem`| App setting named `SslClientCertificateAndKeyPem` that contains PEM value of the client certificate and client private key concatenated as a string. The value should follow the standard format: `-----BEGIN CERTIFICATE-----\nMII....JQ==\n-----END CERTIFICATE-----\n-----BEGIN PRIVATE KEY-----\nMIIE....BM=\n-----END PRIVATE KEY-----`|
56
+
|**SslKeyPassword**|`SslClientKeyPassword`| App setting named `SslClientKeyPassword` that contains the password for the private key (if any). |
57
+
58
+
#### OAuth authentication
59
+
60
+
When using OAuth authentication, configure the OAuth-related properties in your binding definitions.
26
61
27
-
# [Event Hubs](#tab/event-hubs)
62
+
###[Event Hubs](#tab/event-hubs)
28
63
29
64
When connecting to Event Hubs, make sure that the following authentication credentials for your Event Hubs instance are set in your trigger or binding:
30
65
@@ -38,4 +73,4 @@ When connecting to Event Hubs, make sure that the following authentication crede
38
73
39
74
The string values you use for these settings must be present as [application settings in Azure](../articles/azure-functions/functions-how-to-use-azure-function-app-settings.md#settings) or in the `Values` collection in the [local.settings.json file](../articles/azure-functions/functions-develop-local.md#local-settings-file) during local development.
40
75
41
-
You should also set the `Protocol`, `AuthenticationMode`, and `SslCaLocation` in your binding definitions.
76
+
You should also set the `Protocol`and `AuthenticationMode` in your binding definitions.
0 commit comments