Bağlamaları kullanarak işlevleri Azure hizmetlerine Bağlan
Bir işlev oluşturduğunuzda, projenize 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. tetikleyiciler ve bağlamalar kavramları Azure İşlevleri.
Yerel geliştirme
İşlevleri yerel olarak geliştirirken, bağlama eklemek için işlev kodunu güncelleştirmeniz gerekir. Visual Studio Code, function.json kullanan diller için bir işleve 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 Kuyruk Depolama çı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 static MultiResponse Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
FunctionContext executionContext)
{
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 örneği kendi projenize uygularken, ASP.NET Core tümleştirmesi kullanıp kullanmadığınıza HttpResponseData
bağlı olarak ve olarak değiştirmeniz HttpRequestData
HttpRequest
IActionResult
gerekebilir.
İşlev tamamlandığında iletiler kuyruğa gönderilir. Çıkış bağlamasını tanımlama şekliniz işlem modelinize bağlıdır. Başvurabileceğiniz örnek bağlama kodunun bağlantıları da dahil olmak üzere daha fazla bilgi için bkz . İşleve bağlama ekleme.
@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) {
Başvurabileceğiniz örnek bağlama kodunun bağlantıları da dahil olmak üzere daha fazla bilgi için bkz . İşleve bağlama ekleme.
Çıkış bağlamasını tanımlama şekliniz, Node.js modelinizin sürümüne bağlıdır. Başvurabileceğiniz örnek bağlama kodunun bağlantıları da dahil olmak üzere daha fazla bilgi için bkz . İşleve bağlama ekleme.
$outputMsg = $name
Push-OutputBinding -name msg -Value $outputMsg
Başvurabileceğiniz örnek bağlama kodunun bağlantıları da dahil olmak üzere daha fazla bilgi için bkz . İşleve bağlama ekleme.
@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. Başvurabileceğiniz örnek bağlama kodunun bağlantıları da dahil olmak üzere daha fazla bilgi için bkz . İşleve bağlama ekleme.
Çıkış bağlamasını tanımlama şekliniz, Node.js modelinizin sürümüne bağlıdır. Başvurabileceğiniz örnek bağlama kodunun bağlantıları da dahil olmak üzere daha fazla bilgi için bkz . İşleve bağlama ekleme.
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 | Tetikleyici Girdi Çıktı |
Bağlantı |
Azure Cosmos DB | Tetikleyici Girdi Çıktı |
Bağlantı |
Azure Veri Gezgini | Girdi Çıktı |
Bağlantı |
Azure SQL | Tetikleyici Girdi Çıktı |
Bağlantı |
Event Grid | Tetikleyici Çıktı |
Bağlantı |
Event Hubs | Tetikleyici Çıktı |
|
IoT Hub | Tetikleyici Çıktı |
|
HTTP | Tetikleyici | Bağlantı |
Kuyruk depolama | Tetikleyici Çıktı |
Bağlantı |
RabbitMQ | Tetikleyici Çıktı |
|
SendGrid | Çıktı | |
Service Bus | Tetikleyici Çıktı |
Bağlantı |
SignalR | Tetikleyici Girdi Çıktı |
|
Tablo depolama | Girdi Çıktı |
|
Zamanlayıcı | Tetikleyici | Bağlantı |
Twilio | Çıktı | Bağlantı |
Hizmet | Örnekler | Örnekler |
---|---|---|
Blob depolama | Tetikleyici Girdi Çıktı |
Bağlantı |
Azure Cosmos DB | Tetikleyici Girdi Çıktı |
Bağlantı |
Azure Veri Gezgini | Girdi Çıktı |
Bağlantı |
Azure SQL | Tetikleyici Girdi Çıktı |
|
Event Grid | Tetikleyici Çıktı |
Bağlantı |
Event Hubs | Tetikleyici Çıktı |
|
IoT Hub | Tetikleyici Çıktı |
|
HTTP | Tetikleyici | Bağlantı |
Kuyruk depolama | Tetikleyici Çıktı |
Bağlantı |
RabbitMQ | Tetikleyici Çıktı |
|
SendGrid | Çıktı | |
Service Bus | Tetikleyici Çıktı |
Bağlantı |
SignalR | Tetikleyici Girdi Çıktı |
|
Tablo depolama | Girdi Çıktı |
|
Zamanlayıcı | Tetikleyici | Bağlantı |
Twilio | Çıktı | Bağlantı |
Hizmet | Örnekler | Örnekler |
---|---|---|
Blob depolama | Tetikleyici Girdi Çıktı |
Bağlantı |
Azure Cosmos DB | Tetikleyici Girdi Çıktı |
Bağlantı |
Azure Veri Gezgini | Girdi Çıktı |
|
Azure SQL | Tetikleyici Girdi Çıktı |
Bağlantı |
Event Grid | Tetikleyici Çıktı |
Bağlantı |
Event Hubs | Tetikleyici Çıktı |
|
IoT Hub | Tetikleyici Çıktı |
|
HTTP | Tetikleyici | Bağlantı |
Kuyruk depolama | Tetikleyici Çıktı |
Bağlantı |
RabbitMQ | Tetikleyici Çıktı |
|
SendGrid | Çıktı | |
Service Bus | Tetikleyici Çıktı |
Bağlantı |
SignalR | Tetikleyici Girdi Çıktı |
|
Tablo depolama | Girdi Çıktı |
|
Zamanlayıcı | Tetikleyici | Bağlantı |
Twilio | Çıktı | Bağlantı |
Hizmet | Örnekler | Örnekler |
---|---|---|
Blob depolama | Tetikleyici Girdi Çıktı |
Bağlantı |
Azure Cosmos DB | Tetikleyici Girdi Çıktı |
Bağlantı |
Azure SQL | Tetikleyici Girdi Çıktı |
|
Event Grid | Tetikleyici Çıktı |
Bağlantı |
Event Hubs | Tetikleyici Çıktı |
|
IoT Hub | Tetikleyici Çıktı |
|
HTTP | Tetikleyici | Bağlantı |
Kuyruk depolama | Tetikleyici Çıktı |
Bağlantı |
RabbitMQ | Tetikleyici Çıktı |
|
SendGrid | Çıktı | |
Service Bus | Tetikleyici Çıktı |
Bağlantı |
SignalR | Tetikleyici Girdi Çıktı |
|
Tablo depolama | Girdi Çıktı |
|
Zamanlayıcı | Tetikleyici | Bağlantı |
Twilio | Çıktı | Bağlantı |
Python için bağlama kodu, Python modeli sürümüne bağlıdır.
Hizmet | Örnekler | Örnekler |
---|---|---|
Blob depolama | Tetikleyici Girdi Çıktı |
Bağlantı |
Azure Cosmos DB | Tetikleyici Girdi Çıktı |
Bağlantı |
Azure Veri Gezgini | Girdi Çıktı |
|
Azure SQL | Tetikleyici Girdi Çıktı |
Bağlantı |
Event Grid | Tetikleyici Çıktı |
Bağlantı |
Event Hubs | Tetikleyici Çıktı |
|
IoT Hub | Tetikleyici Çıktı |
|
HTTP | Tetikleyici | Bağlantı |
Kuyruk depolama | Tetikleyici Çıktı |
Bağlantı |
RabbitMQ | Tetikleyici Çıktı |
|
SendGrid | Çıktı | |
Service Bus | Tetikleyici Çıktı |
Bağlantı |
SignalR | Tetikleyici Girdi Çıktı |
|
Tablo depolama | Girdi Çıktı |
|
Zamanlayıcı | Tetikleyici | Bağlantı |
Twilio | Çıktı | Bağlantı |
Visual Studio Code
İşlevinizi geliştirmek için Visual Studio Code kullandığınızda ve işleviniz function.json bir dosya kullandığında, Azure İşlevleri 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
Azure portalında işlevlerinizi geliştirirken, belirli bir işlevin Tümleştir 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: