0

Ich habe die VS2017 Community Edition heruntergeladen, um Azure-Funktionen auszuprobieren, und ich kann sie nicht zum Laufen bringen. Ich habe viele Post auf Stackoverflow und Azure-Funktionen Github-Seiten durchsucht, aber nirgends scheint es eine vollständige Dokumentation über irgendetwas zu geben.Azure-Funktionen funktionieren nicht VS2017

Hier ist, was ich habe:

Azure Funktion:

namespace FunctionApp1 
{ 
    public static class Function1 
    { 
     [FunctionName("Function1")] 
     public static void Run([ServiceBusTrigger("ngctestqueue", AccessRights.Manage, Connection = "Endpoint=sb://ngcservicebus.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SERVICE_BUS_KEY")]string myQueueItem, TraceWriter log) 
     { 
      log.Info($"C# ServiceBus queue trigger function processed message: {myQueueItem}"); 
     } 
    } 
} 

host.json

{ 
    "disabled": false, 
    "bindings": [ 
    { 
     "name": "myQueueItem", 
     "type": "serviceBusTrigger", 
     "direction": "in", 
     "queueName": "ngctestqueue", 
     "connection": "connection", 
     "accessRights": "manage" 
    } 
    ] 
} 

local.settings.json

{ 
    "IsEncrypted": false, 
    "Values": { 
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=ngctest2;AccountKey=STORAGE_ACCOUNT_KEY;EndpointSuffix=core.windows.net", 
    "AzureWebJobsDashboard": "DefaultEndpointsProtocol=https;AccountName=ngctest2;AccountKey=STORAGE_ACCOUNT_KEY;EndpointSuffix=core.windows.net", 
    "AzureWebJobsServiceBus": "Endpoint=sb://ngcservicebus.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SERVICE_BUS_KEY", 
    "connection": "Endpoint=sb://ngcservicebus.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SERVICE_BUS_KEY" 
    } 
} 

Wenn ich die Funktion über F5 lokal ausführen, bekomme ich folgende Fehlermeldung:

Microsoft.Azure.WebJobs.Host: Error indexing method 'Func 
tion1.Run'. Microsoft.Azure.WebJobs.ServiceBus: Microsoft Azure WebJobs SDK Serv 
iceBus connection string 'AzureWebJobsEndpoint=sb://ngcservicebus.servicebus.win 
dows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SERVICE_BUS_KEY' is missing or empty. 

Meine dev Umgebung ist wie folgt:

1) Windows 8.1 Pro

2) VS2017 Gemeinschaft 15.3.5

3) Azure Funct Ionen CLI 1.0.4

Jede Hilfe würde wirklich geschätzt werden.

Vielen Dank.

Antwort

1

Connection Die Eigenschaft sollte auf den Namen der Verbindungszeichenfolge und nicht auf den Wert selbst festgelegt werden. Der Wert wird dann aus der Konfiguration gelesen.

[ServiceBusTrigger("ngctestqueue", AccessRights.Manage, Connection = "AzureWebJobsServiceBus")] 

Sie brauchen nicht host.json in lokalen Umfeld zu schaffen (es wird automatisch generiert durch SDK sein).

+0

Ok, das machte den Fehler weg :) Aber die Funktion löst nicht aus. Es gibt ein paar Nachrichten in der Warteschlange, und ich habe gerade eine Nachricht hinzugefügt, aber keine Ausgabe in der Konsole. Irgendwelche Ideen? – CloudDev