Подключение функций к службам Azure с помощью привязок
При создании функции в проект добавляется код триггера для конкретного языка из набора шаблонов триггеров. Если вы хотите подключить функцию к другим службам с помощью входных или выходных привязок, необходимо добавить в функцию определения привязки. Дополнительные сведения см. в статье Основные понятия триггеров и привязок в Функциях Azure.
Сервер локальной
При разработке функций в локальной среде необходимо обновить код функции, чтобы добавить привязки. Для языков, использующих function.json, Visual Studio Code предоставляет средства для добавления привязок в функцию.
Добавление привязок вручную на основе примеров
При добавлении привязки к существующей функции необходимо добавить атрибуты, относящиеся к привязке, в определение функции в коде.
При добавлении привязки к существующей функции необходимо добавить заметки, относящиеся к привязке, в определение функции в коде.
При добавлении привязки к существующей функции необходимо обновить код функции и добавить определение в файл конфигурации function.json.
При добавлении привязки к существующей функции необходимо обновить определение функции в зависимости от модели:
В следующем примере показано определение функции после добавления выходной привязки очереди служба хранилища к активированной функции HTTP:
Так как функция, активировавшая HTTP, также возвращает http-ответ, функция возвращает MultiResponse
объект, представляющий выходные данные HTTP и очереди.
[Function("HttpExample")]
public static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
FunctionContext executionContext)
{
В этом примере приведено определение MultiResponse
объекта, включающего выходную привязку:
public class MultiResponse
{
[QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
public string[] Messages { get; set; }
public IActionResult HttpResponse { get; set; }
}
При применении этого примера к собственному проекту может потребоваться измениться HttpRequest
на HttpRequestData
и IActionResult
в HttpResponseData
зависимости от того, используется ли интеграция ASP.NET Core или нет.
Сообщения отправляются в очередь по завершении работы функции. Способ определения выходной привязки зависит от модели процесса. Дополнительные сведения, включая ссылки на пример кода привязки, к которому можно обратиться, см. в разделе "Добавление привязок к функции".
@FunctionName("HttpExample")
public HttpResponseMessage run(
@HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS)
HttpRequestMessage<Optional<String>> request,
@QueueOutput(name = "msg", queueName = "outqueue",
connection = "AzureWebJobsStorage") OutputBinding<String> msg,
final ExecutionContext context) {
Дополнительные сведения, включая ссылки на пример кода привязки, к которому можно обратиться, см. в разделе "Добавление привязок к функции".
Способ определения выходной привязки зависит от версии модели Node.js. Дополнительные сведения, включая ссылки на пример кода привязки, к которому можно обратиться, см. в разделе "Добавление привязок к функции".
$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg
Дополнительные сведения, включая ссылки на пример кода привязки, к которому можно обратиться, см. в разделе "Добавление привязок к функции".
@app.route(route="HttpExample")
@app.queue_output(arg_name="msg", queue_name="outqueue", connection="AzureWebJobsStorage")
def HttpExample(req: func.HttpRequest, msg: func.Out [func.QueueMessage]) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
Способ определения выходной привязки зависит от версии модели Python. Дополнительные сведения, включая ссылки на пример кода привязки, к которому можно обратиться, см. в разделе "Добавление привязок к функции".
Способ определения выходной привязки зависит от версии модели Node.js. Дополнительные сведения, включая ссылки на пример кода привязки, к которому можно обратиться, см. в разделе "Добавление привязок к функции".
В таблице ниже приведены примеры конкретных типов привязки, и она поможет вам при обновлении существующей функции. Сначала выберите вкладку языка, соответствующего проекту.
Код привязки для C# зависит от конкретной модели процесса.
Service | Примеры | Примеры |
---|---|---|
Хранилище BLOB-объектов | Триггер Входные данные Выходные данные |
Ссылка |
Azure Cosmos DB | Триггер Входные данные Выходные данные |
Ссылка |
Azure Data Explorer | Входные данные Выходные данные |
Ссылка |
Azure SQL | Триггер Входные данные Выходные данные |
Ссылка |
Сетка событий | Триггер Выходные данные |
Ссылка |
Event Hubs | Триггер Выходные данные |
|
Центр Интернета вещей | Триггер Выходные данные |
|
HTTP | Триггер | Ссылка |
Хранилище очередей | Триггер Выходные данные |
Ссылка |
RabbitMQ | Триггер Выходные данные |
|
SendGrid | Выходные данные | |
Cлужебная шина | Триггер Выходные данные |
Ссылка |
SignalR | Триггер Входные данные Выходные данные |
|
Хранилище таблиц | Входные данные Выходные данные |
|
Таймер | Триггер | Ссылка |
Twilio | Выходные данные | Ссылка |
Service | Примеры | Примеры |
---|---|---|
Хранилище BLOB-объектов | Триггер Входные данные Выходные данные |
Ссылка |
Azure Cosmos DB | Триггер Входные данные Выходные данные |
Ссылка |
Azure Data Explorer | Входные данные Выходные данные |
Ссылка |
Azure SQL | Триггер Входные данные Выходные данные |
|
Сетка событий | Триггер Выходные данные |
Ссылка |
Event Hubs | Триггер Выходные данные |
|
Центр Интернета вещей | Триггер Выходные данные |
|
HTTP | Триггер | Ссылка |
Хранилище очередей | Триггер Выходные данные |
Ссылка |
RabbitMQ | Триггер Выходные данные |
|
SendGrid | Выходные данные | |
Cлужебная шина | Триггер Выходные данные |
Ссылка |
SignalR | Триггер Входные данные Выходные данные |
|
Хранилище таблиц | Входные данные Выходные данные |
|
Таймер | Триггер | Ссылка |
Twilio | Выходные данные | Ссылка |
Service | Примеры | Примеры |
---|---|---|
Хранилище BLOB-объектов | Триггер Входные данные Выходные данные |
Ссылка |
Azure Cosmos DB | Триггер Входные данные Выходные данные |
Ссылка |
Azure Data Explorer | Входные данные Выходные данные |
|
Azure SQL | Триггер Входные данные Выходные данные |
Ссылка |
Сетка событий | Триггер Выходные данные |
Ссылка |
Event Hubs | Триггер Выходные данные |
|
Центр Интернета вещей | Триггер Выходные данные |
|
HTTP | Триггер | Ссылка |
Хранилище очередей | Триггер Выходные данные |
Ссылка |
RabbitMQ | Триггер Выходные данные |
|
SendGrid | Выходные данные | |
Cлужебная шина | Триггер Выходные данные |
Ссылка |
SignalR | Триггер Входные данные Выходные данные |
|
Хранилище таблиц | Входные данные Выходные данные |
|
Таймер | Триггер | Ссылка |
Twilio | Выходные данные | Ссылка |
Service | Примеры | Примеры |
---|---|---|
Хранилище BLOB-объектов | Триггер Входные данные Выходные данные |
Ссылка |
Azure Cosmos DB | Триггер Входные данные Выходные данные |
Ссылка |
Azure SQL | Триггер Входные данные Выходные данные |
|
Сетка событий | Триггер Выходные данные |
Ссылка |
Event Hubs | Триггер Выходные данные |
|
Центр Интернета вещей | Триггер Выходные данные |
|
HTTP | Триггер | Ссылка |
Хранилище очередей | Триггер Выходные данные |
Ссылка |
RabbitMQ | Триггер Выходные данные |
|
SendGrid | Выходные данные | |
Cлужебная шина | Триггер Выходные данные |
Ссылка |
SignalR | Триггер Входные данные Выходные данные |
|
Хранилище таблиц | Входные данные Выходные данные |
|
Таймер | Триггер | Ссылка |
Twilio | Выходные данные | Ссылка |
Код привязки для Python зависит от версии модели Python.
Service | Примеры | Примеры |
---|---|---|
Хранилище BLOB-объектов | Триггер Входные данные Выходные данные |
Ссылка |
Azure Cosmos DB | Триггер Входные данные Выходные данные |
Ссылка |
Azure Data Explorer | Входные данные Выходные данные |
|
Azure SQL | Триггер Входные данные Выходные данные |
Ссылка |
Сетка событий | Триггер Выходные данные |
Ссылка |
Event Hubs | Триггер Выходные данные |
|
Центр Интернета вещей | Триггер Выходные данные |
|
HTTP | Триггер | Ссылка |
Хранилище очередей | Триггер Выходные данные |
Ссылка |
RabbitMQ | Триггер Выходные данные |
|
SendGrid | Выходные данные | |
Cлужебная шина | Триггер Выходные данные |
Ссылка |
SignalR | Триггер Входные данные Выходные данные |
|
Хранилище таблиц | Входные данные Выходные данные |
|
Таймер | Триггер | Ссылка |
Twilio | Выходные данные | Ссылка |
Visual Studio Code
Если вы используете Visual Studio Code для разработки функции, а в функции есть файл function.json, расширение Функций Azure может автоматически добавить привязку в существующий файл function.json. Дополнительные сведения см. в разделе Добавление входных и выходных привязок.
Портал Azure
При разработке функций на портале Azure входные и выходные привязки добавляются на вкладке Интеграция определенной функции. Новые привязки добавляются в файл function.json либо в атрибуты метода в зависимости от языка. В следующих статьях приведены примеры добавления привязок в существующие функции на портале: