Существует два ключевых компонента для регистрации конечных точек для расширения функций Azure.
- Вызов
context.GetWebhookHandler()
как найдено здесь .
- Расширение должно реализовывать
IAsyncConverter<HttpRequestMessage, HttpResponseMessage>
как найдено здесь .
Когда оба эти условия выполнены, среда выполнения функций переадресует все запросы в пространстве имен API runtime/webhooks/<extension-name>*
на реализацию IAsyncConverter<HttpRequestMessage, HttpResponseMessage>
. Если вы посмотрите в качестве основы Durable Task в качестве примера, HttpApiHandler
затем рассмотрит путь и методы этих запросов, чтобы направить запросы к соответствующим методам API.
Невозможно зарегистрировать конечные точки за пределами пространства имен runtime/webhooks/<extension-name>*
. Однако вы можете создать столько конечных точек в этом пространстве имен, сколько захотите. Вы, как разработчик расширения, несете ответственность за маршрутизацию этих HttpRequestMessage
объектов в логику API для этой конечной точки.