创建函数时,请将特定于语言的触发器代码从一组触发器模板添加到项目中。 若要使用输入或输出绑定将函数连接到其他服务,则必须在函数中添加特定的绑定定义。 有关绑定的详细信息,请参阅 Azure Functions 触发器和绑定的概念。
本地开发
在本地开发函数时,需要更新函数代码以添加绑定。 对于使用 function.json 的语言,Visual Studio Code 提供了向函数添加绑定的工具。
根据示例手动添加绑定
将绑定添加到现有函数时,需要向代码中的函数定义添加特定于绑定的属性。
将绑定添加到现有函数时,需要向代码中的函数定义添加特定于绑定的注释。
将绑定添加到现有函数时,需要更新函数代码并将定义添加到 function.json 配置文件。
以下示例展示了将队列存储输出绑定添加到 HTTP 触发的函数之后的函数定义:
[FunctionName("HttpExample")]
public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, 
    [Queue("outqueue"),StorageAccount("AzureWebJobsStorage")] ICollector<string> msg, 
    ILogger log)
定义输出绑定的方式取决于你的流程模型。 有关详细信息,包括你可以参考的示例绑定代码的链接,请参阅向函数添加绑定。
@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) {
有关详细信息,包括你可以参考的示例绑定代码的链接,请参阅向函数添加绑定。
{
  "bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": [
        "get",
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    },
    {
      "type": "queue",
      "direction": "out",
      "name": "msg",
      "queueName": "outqueue",
      "connection": "AzureWebJobsStorage"
    }
  ]
}
定义输出绑定的方式取决于 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 模型的版本。 有关详细信息,包括你可以参考的示例绑定代码的链接,请参阅向函数添加绑定。
{
  "bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": [
        "get",
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    },
    {
      "type": "queue",
      "direction": "out",
      "name": "msg",
      "queueName": "outqueue",
      "connection": "AzureWebJobsStorage"
    }
  ]
}
定义输出绑定的方式取决于 Node.js 模型的版本。 有关详细信息,包括你可以参考的示例绑定代码的链接,请参阅向函数添加绑定。
使用下表查找特定绑定类型的示例,这些示例可用来指导你更新现有函数。 首先,选择与你的项目相对应的语言选项卡。
| 服务 | 示例 | 示例 | 
|---|---|---|
| Blob 存储 | 触发器 输入 输出 | 链接 | 
| Azure Cosmos DB | 触发器 输入 输出 | 链接 | 
| Azure SQL | 触发器(预览) 输入 输出 | 链接 | 
| 事件网格 | 触发器 输出 | 链接 | 
| 事件中心 | 触发器 输出 | |
| IoT 中心 | 触发器 输出 | |
| HTTP | 触发器 | 链接 | 
| 队列存储 | 触发器 输出 | 链接 | 
| RabbitMQ | 触发器 输出 | |
| SendGrid | 输出 | |
| 服务总线 | 触发器 输出 | 链接 | 
| SignalR | 触发器 输入 输出 | |
| 表存储 | 输入 输出 | |
| 计时器 | 触发器 | 链接 | 
Visual Studio Code
使用 Visual Studio Code 开发函数且函数使用 function.json 文件时,Azure Functions 扩展可自动将绑定添加到现有 function.json 文件。 若要了解详细信息,请参阅添加输入和输出绑定。
Azure 门户
在 Azure 门户中开发函数时,可以在给定函数的“集成”选项卡中添加输入和输出绑定。 新绑定将添加到 function.json 文件或方法属性,具体取决于你的语言。 以下文章显示的示例介绍了如何在门户中向现有函数添加绑定: