Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Saat Anda membuat fungsi, kode pemicu khusus bahasa ditambahkan di project Anda dari sekumpulan templat pemicu. Jika Anda ingin menyambungkan fungsi Anda ke layanan lain dengan menggunakan pengikatan input atau output, Anda harus menambahkan definisi pengikatan tertentu dalam fungsi Anda. Untuk mempelajari selengkapnya tentang pengikatan, lihat konsep pemicu dan pengikatan Azure Functions.
Pengembangan lokal
Saat Mengembangkan fungsi secara lokal, Anda perlu memperbarui kode fungsi untuk menambahkan pengikatan. Untuk bahasa yang menggunakan function.json, Visual Studio Code menyediakan alat untuk menambahkan pengikatan ke fungsi.
Menambahkan pengikatan secara manual berdasarkan contoh
Saat menambahkan pengikatan ke fungsi yang ada, Anda perlu menambahkan atribut khusus pengikatan ke definisi fungsi dalam kode.
Saat menambahkan pengikatan ke fungsi yang ada, Anda perlu menambahkan anotasi khusus pengikatan ke definisi fungsi dalam kode.
Saat menambahkan pengikatan ke fungsi yang ada, Anda perlu memperbarui kode fungsi dan menambahkan definisi ke file konfigurasi function.json.
Saat menambahkan pengikatan ke fungsi yang ada, Anda perlu memperbarui definisi fungsi, tergantung pada model Anda:
Contoh berikut menunjukkan definisi fungsi setelah menambahkan pengikatan output Queue Storage ke fungsi pemicu HTTP:
Karena fungsi yang dipicu HTTP juga mengembalikan respons HTTP, fungsi mengembalikan objek MultiResponse, yang mewakili output dari HTTP dan antrean.
[Function("HttpExample")]
public MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req)
Contoh ini adalah definisi MultiResponse objek yang mencakup pengikatan output:
public class MultiResponse
{
[QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
public string[] Messages { get; set; }
public IActionResult HttpResponse { get; set; }
}
Contoh ini menggunakan integrasi ASP.NET Core. Jika Anda tidak menggunakan integrasi ASP.NET Core, Anda perlu mengubah HttpRequest ke HttpRequestData dan IActionResult menjadi HttpResponseData.
Pesan dikirim ke antrean saat fungsi selesai. Cara Anda menentukan pengikatan output tergantung pada model proses Anda. Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.
@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) {
Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.
const { app, output } = require('@azure/functions');
const sendToQueue = output.storageQueue({
queueName: 'outqueue',
connection: 'AzureWebJobsStorage',
});
app.http('HttpExample', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
extraOutputs: [sendToQueue],
handler: async (request, context) => {
try {
context.log(`Http function processed request for url "${request.url}"`);
const name = request.query.get('name') || (await request.text());
context.log(`Name: ${name}`);
if (name) {
const msg = `Name passed to the function ${name}`;
context.extraOutputs.set(sendToQueue, [msg]);
return { body: msg };
} else {
context.log('Missing required data');
return { status: 404, body: 'Missing required data' };
}
} catch (error) {
context.log(`Error: ${error}`);
return { status: 500, body: 'Internal Server Error' };
}
},
});
Cara Anda menentukan pengikatan output tergantung pada versi model Node.js Anda. Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.
$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg
Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.
@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.')
Cara Anda menentukan pengikatan output tergantung pada versi model Python Anda. Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.
import {
app,
output,
HttpRequest,
HttpResponseInit,
InvocationContext,
StorageQueueOutput,
} from '@azure/functions';
const sendToQueue: StorageQueueOutput = output.storageQueue({
queueName: 'outqueue',
connection: 'AzureWebJobsStorage',
});
export async function HttpExample(
request: HttpRequest,
context: InvocationContext,
): Promise<HttpResponseInit> {
try {
context.log(`Http function processed request for url "${request.url}"`);
const name = request.query.get('name') || (await request.text());
context.log(`Name: ${name}`);
if (name) {
const msg = `Name passed to the function ${name}`;
context.extraOutputs.set(sendToQueue, [msg]);
return { body: msg };
} else {
context.log('Missing required data');
return { status: 404, body: 'Missing required data' };
}
} catch (error) {
context.log(`Error: ${error}`);
return { status: 500, body: 'Internal Server Error' };
}
}
app.http('HttpExample', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
handler: HttpExample,
});
Cara Anda menentukan pengikatan output tergantung pada versi model Node.js Anda. Untuk informasi selengkapnya, termasuk tautan ke contoh kode pengikatan yang dapat Anda rujuk, lihat Menambahkan pengikatan ke fungsi.
Gunakan tabel berikut untuk menemukan contoh jenis pengikatan tertentu yang bisa Anda gunakan untuk memandu Anda memperbarui fungsi yang sudah ada. Pertama, pilih tab bahasa yang sesuai dengan project Anda.
Kode pengikatan untuk C# tergantung pada model proses tertentu.
| Pelayanan | Contoh | Contoh-contoh |
|---|---|---|
| Penyimpanan Blob (Blob Storage) |
Trigger Input Output |
Link |
| Azure Cosmos DB |
Pemicu Masukan Hasil |
Link |
| Azure Data Explorer |
Input Output |
Link |
| Azure SQL |
Trigger Input Output |
Link |
| Event Grid |
Pemicu Hasil |
Link |
| Pusat Aktivitas |
Pemicu Hasil |
|
| IoT Hub |
Pemicu Hasil |
|
| HTTP | Pemicu | Link |
| Penyimpanan Antrian |
Trigger Output |
Link |
| RabbitMQ |
Pemicu Hasil |
|
| SendGrid | Hasil | |
| Layanan Bus |
Pemicu Hasil |
Link |
| Azure SignalR Service |
Pemicu Masukan Hasil |
|
| Penyimpanan Tabel |
Input Output |
|
| Pengatur Waktu | Pemicu | Link |
| Twilio | Hasil | Link |
| Pelayanan | Contoh | Contoh-contoh |
|---|---|---|
| Penyimpanan Blob (Blob Storage) |
Trigger Input Output |
Link |
| Azure Cosmos DB |
Pemicu Masukan Hasil |
Link |
| Azure Data Explorer |
Input Output |
Link |
| Azure SQL |
Trigger Input Output |
|
| Event Grid |
Pemicu Hasil |
Link |
| Pusat Aktivitas |
Pemicu Hasil |
|
| IoT Hub |
Pemicu Hasil |
|
| HTTP | Pemicu | Link |
| Penyimpanan Antrian |
Trigger Output |
Link |
| RabbitMQ |
Pemicu Hasil |
|
| SendGrid | Hasil | |
| Layanan Bus |
Pemicu Hasil |
Link |
| Azure SignalR Service |
Pemicu Masukan Hasil |
|
| Penyimpanan Tabel |
Input Output |
|
| Pengatur Waktu | Pemicu | Link |
| Twilio | Hasil |
| Pelayanan | Contoh | Contoh-contoh |
|---|---|---|
| Penyimpanan Blob (Blob Storage) |
Trigger Input Output |
Link |
| Azure Cosmos DB |
Pemicu Masukan Hasil |
Link |
| Azure Data Explorer |
Input Output |
|
| Azure SQL |
Trigger Input Output |
Link |
| Event Grid |
Pemicu Hasil |
|
| Pusat Aktivitas |
Pemicu Hasil |
|
| IoT Hub |
Pemicu Hasil |
|
| HTTP | Pemicu | Link |
| Penyimpanan Antrian |
Trigger Output |
Link |
| RabbitMQ |
Pemicu Hasil |
|
| SendGrid | Hasil | |
| Layanan Bus |
Pemicu Hasil |
Link |
| Azure SignalR Service |
Pemicu Masukan Hasil |
|
| Penyimpanan Tabel |
Input Output |
|
| Pengatur Waktu | Pemicu | |
| Twilio | Hasil |
| Pelayanan | Contoh | Contoh-contoh |
|---|---|---|
| Penyimpanan Blob (Blob Storage) |
Trigger Input Output |
|
| Azure Cosmos DB |
Pemicu Masukan Hasil |
|
| Azure SQL |
Trigger Input Output |
|
| Event Grid |
Pemicu Hasil |
|
| Pusat Aktivitas |
Pemicu Hasil |
|
| IoT Hub |
Pemicu Hasil |
|
| HTTP | Pemicu | Link |
| Penyimpanan Antrian |
Trigger Output |
|
| RabbitMQ |
Pemicu Hasil |
|
| SendGrid | Hasil | |
| Layanan Bus |
Pemicu Hasil |
|
| Azure SignalR Service |
Pemicu Masukan Hasil |
|
| Penyimpanan Tabel |
Input Output |
|
| Pengatur Waktu | Pemicu | |
| Twilio | Hasil |
Kode pengikatan untuk Python tergantung pada versi model Python.
| Pelayanan | Contoh | Contoh-contoh |
|---|---|---|
| Penyimpanan Blob (Blob Storage) |
Trigger Input Output |
Link |
| Azure Cosmos DB |
Pemicu Masukan Hasil |
Link |
| Azure Data Explorer |
Input Output |
|
| Azure SQL |
Trigger Input Output |
Link |
| Event Grid |
Pemicu Hasil |
|
| Pusat Aktivitas |
Pemicu Hasil |
|
| IoT Hub |
Pemicu Hasil |
|
| HTTP | Pemicu | Link |
| Penyimpanan Antrian |
Trigger Output |
|
| RabbitMQ |
Pemicu Hasil |
|
| SendGrid | Hasil | |
| Layanan Bus |
Pemicu Hasil |
Link |
| Azure SignalR Service |
Pemicu Masukan Hasil |
|
| Penyimpanan Tabel |
Input Output |
|
| Pengatur Waktu | Pemicu | |
| Twilio | Hasil |
Kode Visual Studio
Saat Anda menggunakan kode Visual Studio untuk mengembangkan fungsi Anda dan fungsi Anda menggunakan file function.json, ekstensi Azure Functions dapat secara otomatis menambahkan pengikatan ke file function.json yang ada. Untuk mempelajari selengkapnya, lihat Menambahkan pengikatan input dan output.
Azure portal
Saat Anda mengembangkan fungsi di Azure portal, Anda menambahkan pengikatan input dan output di tab Integrate untuk fungsi tertentu. Pengikatan baru ditambahkan ke file function.json atau ke atribut metode, tergantung pada bahasa Anda. Artikel berikut ini memperlihatkan contoh cara menambahkan pengikatan ke fungsi yang ada di portal: