0

하늘빛 기능을 시험하기 위해 VS2017 Community Edition을 다운로드했는데 제대로 작동하지 않습니다. Stackoverflow 및 Azure 함수에 대한 많은 게시물을 Github 페이지에서 검색했지만 아무 것도 완전한 문서가없는 것 같습니다. 여기 하늘빛 기능이 작동하지 않습니다. VS2017

내가 가진 무엇 :

푸른 기능 :

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

내가 로컬 F5를 통해 기능을 실행하면
{ 
    "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" 
    } 
} 

, 나는 다음과 같은 오류가 발생합니다 :

1) 윈도우 8.1 프로

을 다음과 같이

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. 

내 dev에 환경입니다

2) VS2017 커뮤니티 15.3.5

3) Azure Funct 이온 CLI 1.0.4

도움이 될만한 의견이 있습니다.

감사합니다.

답변

1

Connection 속성은 값 자체가 아닌 연결 문자열 이름으로 설정해야합니다. 값은 구성에서 읽습니다.

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

당신은 지역 환경에 host.json를 만들 필요가 없습니다 (이것은 자동 생성 SDK가 될 것입니다).

+0

오류가 없어졌습니다. :)하지만 함수가 트리거되지 않습니다. 대기열에 메시지가 몇 개 있으며 메시지를 추가했지만 콘솔에는 출력이 없습니다. 어떤 아이디어? – CloudDev