HTTP ile tetiklenmeyen bir işlevi el ile çalıştırma
Bu makalede, özel olarak biçimlendirilmiş HTTP isteği aracılığıyla HTTP ile tetiklenmeyen bir işlevin el ile nasıl çalıştırıldığı gösterilmektedir.
Geliştirme ve sorun giderme gibi bazı bağlamlarda dolaylı olarak tetiklenen bir Azure İşlevini "isteğe bağlı" çalıştırmanız gerekebilir. Dolaylı tetikleyicilere örnek olarak bir zamanlamadaki işlevler veya olayların sonucu olarak çalışan işlevler verilebilir.
Bu makalede açıklanan yordam, Azure portalında bir işlevin Kod + Test sekmesinin Test/Çalıştırma işlevinin kullanılmasıyla eşdeğerdir. İşlevleri el ile çalıştırmak için Visual Studio Code'u da kullanabilirsiniz.
Önkoşullar
Bu makaledeki örneklerde HTTP test aracı kullanılır. Verilerinizin güvenliğini sağlayan bir araç seçtiğinizden emin olun. Daha fazla bilgi için bkz . HTTP test araçları.
İstek konumunu tanımlama
HTTP ile tetiklenmeyen bir işlevi çalıştırmak için Azure'a işlevi çalıştırma isteği göndermek için bir yol gerekir. Bu isteği yapmak için kullanılan URL belirli bir form alır.
- Ana bilgisayar adı: İşlev uygulamasının, işlev uygulamasının adından ve azurewebsites.net veya özel etki alanınızdan oluşturulan genel konumu. Hazırlama için kullanılan dağıtım yuvalarıyla çalışırken, ana bilgisayar adı bölümü, sonuna eklenmiş üretim ana bilgisayar adıdır
-<slotname>
. Önceki örnekte URL, adlıstaging
bir yuvaya yöneliktimyfunctiondemos-staging.azurewebsites.net
. - Klasör yolu: HTTP ile tetiklenmeyen işlevlere bir HTTP isteği aracılığıyla erişmek için, isteği yolu
admin/functions
üzerinden göndermeniz gerekir. Yolun altındaki API'lere/admin/
yalnızca yetkilendirme ile erişilebilir. - İşlev adı: Çalıştırmak istediğiniz işlevin adı.
İşlev uygulamanızda yönetici uç noktalarına istekte bulunurken aşağıdaki noktalar geçerlidir:
- Yolun altındaki
/admin/
herhangi bir uç noktaya istekte bulunurken, isteğin üst bilgisinde uygulamanızınx-functions-key
ana anahtarını sağlamanız gerekir. - Yerel olarak çalıştırdığınızda yetkilendirme zorunlu tutulmaz ve işlevin ana anahtarı gerekli değildir. Üst bilgiyi atarak
x-functions-key
işlevi doğrudan çağırabilirsiniz. - Dağıtım yuvasında işlev uygulaması uç noktalarına erişirken, yuvaya özgü ana anahtarla birlikte istek URL'sindeki yuvaya özgü ana bilgisayar adını kullandığınızdan emin olun.
Ana anahtarı alma
Ana anahtarı Azure portalından veya Azure CLI kullanarak alabilirsiniz.
Dikkat
İşlev uygulamanızda ana anahtar tarafından verilen yükseltilmiş izinler nedeniyle, bu anahtarı üçüncü taraflarla paylaşmamalı veya bir uygulamada dağıtmamalısınız. Anahtar yalnızca bir HTTPS uç noktasına gönderilmelidir.
İşlevi çağırma
Azure portalında işlev uygulamanızın en üstüne gidin ve işlevinizi seçin.
Kod + Test'i ve ardından Günlükler'i seçin. İşlevi HTTP test aracınızdan el ile çalıştırdığınızda burada günlüğe kaydedilen işlev iletilerini görürsünüz.
HTTP test aracınızda, istek URL'si olarak tanımladığınız istek konumunu kullanın, HTTP istek yönteminin POST olduğundan emin olun ve şu iki istek üst bilgisini ekleyin:
Anahtar Değer x-functions-key
Panodan yapıştırılan ana anahtar değeri. Content-Type
application/json
POST isteği yükünün/gövdesinin olduğundan
{ "input": "<TRIGGER_INPUT>" }
emin olun. Sağladığınız belirli<TRIGGER_INPUT>
tetikleyici türüne bağlıdır, ancak yalnızca dize, sayısal veya boole değeri olabilir. Azure Service Bus gibi JSON yüklerini kullanan hizmetler için test JSON yükünden kaçış ve dize olarak seri hale getirilmelidir.giriş verilerini işleve geçirmek istemiyorsanız, POST isteğinin gövdesi olarak boş bir sözlük
{}
sağlamanız gerekir. Daha fazla bilgi için, belirli BIR HTTP olmayan tetikleyici için başvuru makalesine bakın.HTTP POST isteğini gönderin. Yanıt bir HTTP 202 (Kabul Edildi) yanıtı olmalıdır.
Ardından, Azure portalında işlevinize dönün. Günlükleri gözden geçirin ve işleve el ile yapılan çağrıdan gelen iletileri görürsünüz.
Tetikleyiciye gönderilen verilere erişme şekliniz tetikleyicinin türüne ve işlev dilinize bağlıdır. Daha fazla bilgi için, belirli tetikleyiciniz için başvuru örneklerine bakın.