Функции Azure - возвращать значения без выходных привязок? Это возможно? - PullRequest
0 голосов
/ 14 июня 2019

Я новичок в функциях Azure, и я написал функцию Azure, чтобы создать для меня новый ресурс в Azure. Функция возвращает идентификатор, заключенный в созданный тип ive.

Основная причина этого заключается в том, что я написал тесты на интеграцию, которые выполняют некоторые проверки и анализируют процесс на основе идентификатора, возвращенного функцией.

 [FunctionName("SomeAzFunction")]
        public async Task<MyNewReturnType> Run(
            [ServiceBusTrigger("%topic-name%", "some-subscription", Connection = "service-bus-connection-string")]
            string message,
            ILogger log)

Однако при развертывании я получаю следующую ошибку. Обязательно ли иметь выходные привязки, если функция Azure имеет возвращаемые значения? Или я неправильно подхожу к функциям Azure?

Function (SomeAzFunction) Error: Microsoft.Azure.WebJobs.Host: Error indexing method 'SomeAzFunction'. Microsoft.Azure.WebJobs.Host: Cannot bind parameter '$return' to type MyNewReturnType&. Make sure the parameter Type is supported by the binding. If you're using binding extensions (e.g. Azure Storage, ServiceBus, Timers, etc.) make sure you've called the registration method for the extension(s) in your startup code (e.g. builder.AddAzureStorage(), builder.AddServiceBus(), builder.AddTimers(), etc.).

1 Ответ

4 голосов
/ 14 июня 2019

Я думаю, вы немного ошиблись.

Итак, у вас есть функция, которая потребляет сообщения из вашей служебной шины.Вы выполняете некоторую обработку, а затем возвращаете значение, где вы ожидаете, что оно будет возвращено?Если вы хотите поместить сообщение обратно в служебную шину, то вы можете использовать привязку вывода служебной шины, см. Доступные привязки здесь .

Или вы можете создать SubscriptionClient/TopicClient и опубликоватьсообщение вручную этой подписке / теме.

Если вы возвращаете только значение для ваших интеграционных тестов для проверки, то я предлагаю вам переместить этот код в отдельный класс, который вы вызываете функцией, и протестировать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...