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:

Koddaki işlev tanımına bağlama özgü ek açıklamalar eklemeniz 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 HttpResponseDatabağlı olarak ve olarak değiştirmeniz HttpRequestDataHttpRequestIActionResult 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.

Node.js model v4 için örnek bağlama henüz kullanılamıyor.

Çı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.

Node.js model v4 için örnek bağlama henüz kullanılamıyor.

Çı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.

Python için bağlama kodu, Python modeli sürümüne bağlıdır.

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:

Sonraki adımlar