使用系結將函式 連線 至 Azure 服務

當您建立函式時,您的專案中會從一組觸發程式範本新增語言特定的觸發程式代碼。 如果您想要使用輸入或輸出系結將函式連線到其他服務,則必須在函式中新增特定的系結定義。 若要深入了解系結,請參閱 Azure Functions 觸發程式和系結概念

本機開發

當您在本機開發函式時,您必須更新函式程式代碼以新增系結。 針對使用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; }
}

將該範例套用至您自己的專案時,您可能需要變更 HttpRequestHttpRequestDataIActionResultHttpResponseData視您是否使用 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模型 v4 的範例系結。

您定義輸出系結的方式取決於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模型 v4 的範例系結。

您定義輸出系結的方式取決於Node.js模型的版本。 如需詳細資訊,包括您可以參考的範例系結程式代碼連結,請參閱 將系結新增至函式

使用下表來尋找可用來引導您更新現有函式的特定系結類型範例。 首先,選擇對應至您項目的語言索引標籤。

C# 的系結程式代碼取決於 特定進程模型

服務 範例 範例
Blob 儲存體 觸發程序
輸入
輸出
連結
Azure Cosmos DB 觸發程序
輸入
輸出
連結
Azure 資料總管 輸入
輸出
連結
Azure SQL 觸發程序
輸入
輸出
連結
事件方格 觸發程序
輸出
連結
事件中樞 觸發程序
輸出
IoT 中樞 觸發程序
輸出
HTTP 觸發程序 連結
佇列儲存體 觸發程序
輸出
連結
RabbitMQ 觸發程序
輸出
SendGrid 輸出
服務匯流排 觸發程序
輸出
連結
SignalR 觸發程序
輸入
輸出
表格儲存體 輸入
輸出
計時器 觸發程序 連結
Twilio 輸出 連結
服務 範例 範例
Blob 儲存體 觸發程序
輸入
輸出
連結
Azure Cosmos DB 觸發程序
輸入
輸出
連結
Azure 資料總管 輸入
輸出
連結
Azure SQL 觸發程序
輸入
輸出
事件方格 觸發程序
輸出
連結
事件中樞 觸發程序
輸出
IoT 中樞 觸發程序
輸出
HTTP 觸發程序 連結
佇列儲存體 觸發程序
輸出
連結
RabbitMQ 觸發程序
輸出
SendGrid 輸出
服務匯流排 觸發程序
輸出
連結
SignalR 觸發程序
輸入
輸出
表格儲存體 輸入
輸出
計時器 觸發程序 連結
Twilio 輸出 連結
服務 範例 範例
Blob 儲存體 觸發程序
輸入
輸出
連結
Azure Cosmos DB 觸發程序
輸入
輸出
連結
Azure 資料總管 輸入
輸出
Azure SQL 觸發程序
輸入
輸出
連結
事件方格 觸發程序
輸出
連結
事件中樞 觸發程序
輸出
IoT 中樞 觸發程序
輸出
HTTP 觸發程序 連結
佇列儲存體 觸發程序
輸出
連結
RabbitMQ 觸發程序
輸出
SendGrid 輸出
服務匯流排 觸發程序
輸出
連結
SignalR 觸發程序
輸入
輸出
表格儲存體 輸入
輸出
計時器 觸發程序 連結
Twilio 輸出 連結
服務 範例 範例
Blob 儲存體 觸發程序
輸入
輸出
連結
Azure Cosmos DB 觸發程序
輸入
輸出
連結
Azure SQL 觸發程序
輸入
輸出
事件方格 觸發程序
輸出
連結
事件中樞 觸發程序
輸出
IoT 中樞 觸發程序
輸出
HTTP 觸發程序 連結
佇列儲存體 觸發程序
輸出
連結
RabbitMQ 觸發程序
輸出
SendGrid 輸出
服務匯流排 觸發程序
輸出
連結
SignalR 觸發程序
輸入
輸出
表格儲存體 輸入
輸出
計時器 觸發程序 連結
Twilio 輸出 連結

Python 的系結程式代碼取決於 Python 模型版本。

服務 範例 範例
Blob 儲存體 觸發程序
輸入
輸出
連結
Azure Cosmos DB 觸發程序
輸入
輸出
連結
Azure 資料總管 輸入
輸出
Azure SQL 觸發程序
輸入
輸出
連結
事件方格 觸發程序
輸出
連結
事件中樞 觸發程序
輸出
IoT 中樞 觸發程序
輸出
HTTP 觸發程序 連結
佇列儲存體 觸發程序
輸出
連結
RabbitMQ 觸發程序
輸出
SendGrid 輸出
服務匯流排 觸發程序
輸出
連結
SignalR 觸發程序
輸入
輸出
表格儲存體 輸入
輸出
計時器 觸發程序 連結
Twilio 輸出 連結

Visual Studio Code

當您使用 Visual Studio Code 開發函式,而您的函式使用function.json檔案時,Azure Functions 擴充功能可以自動將系結新增至現有的function.json檔案。 若要深入瞭解,請參閱 新增輸入和輸出系結。

Azure 入口網站

當您在 Azure 入口網站 中開發函式時,您可以在指定函式的 [整合] 索引標籤中新增輸入和輸出系結。 新的系結會根據您的語言,新增至function.json檔案或方法屬性。 下列文章示範如何在入口網站中將系結新增至現有函式的範例:

下一步