Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir işlev oluşturduğunuzda, proje ortamınıza bir dizi tetikleyici şablonundan dile özgü tetikleyici kodu eklenir. İşlevinizi giriş veya çıkış bağlamalarını kullanarak diğer hizmetlere bağlamak istiyorsanız, işlevinize belirli bağlama tanımları eklemeniz gerekir. Bağlamalar hakkında daha fazla bilgi edinmek için bkz. Azure Functions tetikleyicileri ve bağlamaları kavramları.
Yerel geliştirme
İşlevleri yerel olarak geliştirirken, bağlama eklemek için işlev kodunu güncelleştirmeniz gerekir. function.jsonkullanan diller için Visual Studio Code işlevine bağlama eklemek için araçlar sağlar.
Örneklere göre bağlamaları el ile ekleme
Var olan bir işleve bağlama eklerken, koddaki işlev tanımına bağlamaya özgü öznitelikler eklemeniz gerekir.
Var olan bir işleve bağlama eklerken, koddaki işlev tanımına bağlamaya özgü ek açıklamalar eklemeniz gerekir.
Var olan bir işleve bağlama eklerken işlev kodunu güncelleştirmeniz ve function.json yapılandırma dosyasına bir tanım eklemeniz gerekir.
Var olan bir işleve bağlama eklerken, modelinize bağlı olarak işlev tanımını güncelleştirmeniz gerekir:
Aşağıdaki örnekte, HTTP ile tetiklenen bir işleve Queue Storage çıkış bağlaması eklendikten sonra işlev tanımı gösterilmektedir:
HTTP ile tetiklenen bir işlev bir HTTP yanıtı da döndürdüğünden, işlev hem HTTP hem de kuyruk çıkışını temsil eden bir MultiResponse nesne döndürür.
[Function("HttpExample")]
public MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req)
Bu örnek, çıkış bağlamasını MultiResponse içeren nesnenin tanımıdır:
public class MultiResponse
{
[QueueOutput("outqueue",Connection = "AzureWebJobsStorage")]
public string[] Messages { get; set; }
public IActionResult HttpResponse { get; set; }
}
Bu örnekte ASP.NET Core integration kullanılır. ASP.NET Core tümleştirme kullanmıyorsanız, HttpRequestHttpRequestData ve IActionResultHttpResponseData olarak değiştirmeniz gerekir.
İşlev tamamlandığında iletiler kuyruğa gönderilir. Çıkış bağlamasını tanımlama şekliniz işlem modelinize bağlıdır. Daha fazla bilgi ve başvurabileceğiniz örnek bağlama kodlarının bağlantıları için İşleve bağlama ekleme konusuna bakın.
@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) {
Daha fazla bilgi ve başvurabileceğiniz örnek bağlama kodlarının bağlantıları için İşleve bağlama ekleme konusuna bakın.
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' };
}
},
});
Çıkış bağlamasını tanımlama şekliniz, Node.js modelinizin sürümüne bağlıdır. Daha fazla bilgi ve başvurabileceğiniz örnek bağlama kodlarının bağlantıları için İşleve bağlama ekleme konusuna bakın.
$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg
Daha fazla bilgi ve başvurabileceğiniz örnek bağlama kodlarının bağlantıları için İşleve bağlama ekleme konusuna bakın.
@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.')
Çıkış bağlamasını tanımlama şekliniz Python modelinizin sürümüne bağlıdır. Daha fazla bilgi ve başvurabileceğiniz örnek bağlama kodlarının bağlantıları için İşleve bağlama ekleme konusuna bakın.
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,
});
Çıkış bağlamasını tanımlama şekliniz, Node.js modelinizin sürümüne bağlıdır. Daha fazla bilgi ve başvurabileceğiniz örnek bağlama kodlarının bağlantıları için İşleve bağlama ekleme konusuna bakın.
Mevcut bir işlevi güncelleştirmede size yol göstermek için kullanabileceğiniz belirli bağlama türlerinin örneklerini bulmak için aşağıdaki tabloyu kullanın. İlk olarak, projenize karşılık gelen dil sekmesini seçin.
C# için bağlama kodu, belirli işlem modeline bağlıdır.
| Hizmet | Örnekler | Örnekler |
|---|---|---|
| Blob Depolama (Blob Storage) |
Trigger Input Output |
Link |
| Azure Cosmos DB |
Tetikleyici Giriş Çıkış |
Link |
| Azure Data Explorer |
Input Output |
Link |
| Azure SQL |
Trigger Input Output |
Link |
| Etkinlik Ağı |
Tetikleyici Çıkış |
Link |
| Event Hubs |
Tetikleyici Çıkış |
|
| IoT Hub |
Tetikleyici Çıkış |
|
| HTTP | Tetikleyici | Link |
| Kuyruk Depolama |
Trigger Output |
Link |
| RabbitMQ |
Tetikleyici Çıkış |
|
| SendGrid | Çıkış | |
| Service Bus |
Tetikleyici Çıkış |
Link |
| Azure SignalR Service |
Tetikleyici Giriş Çıkış |
|
| Tablo Depolama |
Input Output |
|
| Zamanlayıcı | Tetikleyici | Link |
| Twilio | Çıkış | Link |
| Hizmet | Örnekler | Örnekler |
|---|---|---|
| Blob Depolama (Blob Storage) |
Trigger Input Output |
Link |
| Azure Cosmos DB |
Tetikleyici Giriş Çıkış |
Link |
| Azure Data Explorer |
Input Output |
Link |
| Azure SQL |
Trigger Input Output |
|
| Etkinlik Ağı |
Tetikleyici Çıkış |
Link |
| Event Hubs |
Tetikleyici Çıkış |
|
| IoT Hub |
Tetikleyici Çıkış |
|
| HTTP | Tetikleyici | Link |
| Kuyruk Depolama |
Trigger Output |
Link |
| RabbitMQ |
Tetikleyici Çıkış |
|
| SendGrid | Çıkış | |
| Service Bus |
Tetikleyici Çıkış |
Link |
| Azure SignalR Service |
Tetikleyici Giriş Çıkış |
|
| Tablo Depolama |
Input Output |
|
| Zamanlayıcı | Tetikleyici | Link |
| Twilio | Çıkış |
| Hizmet | Örnekler | Örnekler |
|---|---|---|
| Blob Depolama (Blob Storage) |
Trigger Input Output |
Link |
| Azure Cosmos DB |
Tetikleyici Giriş Çıkış |
Link |
| Azure Data Explorer |
Input Output |
|
| Azure SQL |
Trigger Input Output |
Link |
| Etkinlik Ağı |
Tetikleyici Çıkış |
|
| Event Hubs |
Tetikleyici Çıkış |
|
| IoT Hub |
Tetikleyici Çıkış |
|
| HTTP | Tetikleyici | Link |
| Kuyruk Depolama |
Trigger Output |
Link |
| RabbitMQ |
Tetikleyici Çıkış |
|
| SendGrid | Çıkış | |
| Service Bus |
Tetikleyici Çıkış |
Link |
| Azure SignalR Service |
Tetikleyici Giriş Çıkış |
|
| Tablo Depolama |
Input Output |
|
| Zamanlayıcı | Tetikleyici | |
| Twilio | Çıkış |
| Hizmet | Örnekler | Örnekler |
|---|---|---|
| Blob Depolama (Blob Storage) |
Trigger Input Output |
|
| Azure Cosmos DB |
Tetikleyici Giriş Çıkış |
|
| Azure SQL |
Trigger Input Output |
|
| Etkinlik Ağı |
Tetikleyici Çıkış |
|
| Event Hubs |
Tetikleyici Çıkış |
|
| IoT Hub |
Tetikleyici Çıkış |
|
| HTTP | Tetikleyici | Link |
| Kuyruk Depolama |
Trigger Output |
|
| RabbitMQ |
Tetikleyici Çıkış |
|
| SendGrid | Çıkış | |
| Service Bus |
Tetikleyici Çıkış |
|
| Azure SignalR Service |
Tetikleyici Giriş Çıkış |
|
| Tablo Depolama |
Input Output |
|
| Zamanlayıcı | Tetikleyici | |
| Twilio | Çıkış |
Python için bağlama kodu, Python modeli sürümüne bağlıdır.
| Hizmet | Örnekler | Örnekler |
|---|---|---|
| Blob Depolama (Blob Storage) |
Trigger Input Output |
Link |
| Azure Cosmos DB |
Tetikleyici Giriş Çıkış |
Link |
| Azure Data Explorer |
Input Output |
|
| Azure SQL |
Tetikleyici Input Output |
Link |
| Etkinlik Ağı |
Tetikleyici Çıkış |
|
| Event Hubs |
Tetikleyici Çıkış |
|
| IoT Hub |
Tetikleyici Çıkış |
|
| HTTP | Tetikleyici | Link |
| Kuyruk Depolama |
Tetikleyici Output |
|
| RabbitMQ |
Tetikleyici Çıkış |
|
| SendGrid | Çıkış | |
| Service Bus |
Tetikleyici Çıkış |
Link |
| Azure SignalR Service |
Tetikleyici Giriş Çıkış |
|
| Tablo Depolama |
Input Output |
|
| Zamanlayıcı | Tetikleyici | |
| Twilio | Çıkış |
Visual Studio Kodu
İşlevinizi geliştirmek için Visual Studio Code kullandığınızda ve işleviniz function.json bir dosya kullandığında, Azure Functions uzantısı otomatik olarak var olan bir function.json dosyasına bağlama ekleyebilir. Daha fazla bilgi edinmek için bkz. Giriş ve çıkış bağlamaları ekleme.
Azure portal
İşlevlerinizi Azure portal içinde geliştirdiğinizde, belirli bir işlevin Integrate sekmesine giriş ve çıkış bağlamaları eklersiniz. Yeni bağlamalar, dilinize bağlı olarak function.json dosyasına veya yöntem özniteliklerine eklenir. Aşağıdaki makalelerde portalda var olan bir işleve bağlama ekleme örnekleri gösterilmektedir: