kudlatiger
kudlatiger

Reputation: 3278

EventHubTriggerAttribute does not exists in namespace 'Microsoft.Azure.WebJobs'

Following steps are taken to create Azure Function in Visual Studio

  1. Create New Project and choose Azure Function template

enter image description here

  1. Select Azure Function V2 (.net code ) and IoT Hub Trigger

enter image description here

  1. Code generated but with reference errors.

     using IoTHubTrigger = Microsoft.Azure.WebJobs.EventHubTriggerAttribute;
     using Microsoft.Azure.WebJobs;
     using Microsoft.Azure.WebJobs.Host;
     using Microsoft.Azure.EventHubs;
     using System.Text;
     using System.Net.Http;
     using Microsoft.Extensions.Logging;
    
     namespace DeviceMessageFunction_v2
     {
       public static class Function1
       {
          private static HttpClient client = new HttpClient();
    
          [FunctionName("Function1")]
          public static void Run([IoTHubTrigger("messages/events", Connection = "")]EventData message, ILogger log)
          {
             log.LogInformation($"C# IoT Hub trigger function processed a message: {Encoding.UTF8.GetString(message.Body.Array)}");
          }
       }
     }
    

CS0234 The type or namespace name 'EventHubTriggerAttribute' does not exist in the namespace 'Microsoft.Azure.WebJobs' (are you missing an assembly reference?) DeviceMessageFunction_v2 C:\Functions\DeviceMessageFunction_v2\Function1.cs

Tried add references, but no luck

enter image description here

Here is my tools and framework details

Upvotes: 7

Views: 4330

Answers (1)

Peter Bons
Peter Bons

Reputation: 29770

When using a V2 function you need to use an extra NuGet Package, Microsoft.Azure.WebJobs.Extensions.EventHubs

(Source)

Upvotes: 12

Related Questions