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.
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 İşlevi "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 Code + Test sekmesinin Test/Run işlevselliğini kullanmaya eşdeğerdir. Visual Studio Code'u işlevleri manuel olarak çalıştırmak için de 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, işlevi çalıştırmak için Azure istek göndermenin bir yolu gerekir. Bu isteği yapmak için kullanılan URL belirli bir form alır.
-
Ana bilgisayar adı: İşlev uygulamasının genel konumu, işlev uygulamasının adından ve azurewebsites.net veya özel etki alanınızdan oluşur. Hazırlama için kullanılan dağıtım yuvalarıyla çalışırken, ana bilgisayar adı bölümü, üretim ana bilgisayar adının sonuna
-<slotname>eklenerek oluşturulur. Önceki örnekte, adıstagingolan bir yuva için URLmyfunctiondemos-staging.azurewebsites.netolacaktır. -
Klasör yolu: HTTP ile tetiklenmeyen işlevlere bir HTTP isteği aracılığıyla erişmek için, isteği yolundan
admin/functionsgö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-keyana 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. - 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şmamanız veya bir uygulamada dağıtmamanız gerekir. Anahtar yalnızca bir HTTPS uç noktasına gönderilmelidir.
Azure portalında işlev uygulamanıza gidin, App Keys'ı ve ardından
_masteranahtarını seçin.
Anahtarı düzenle bölümünde, anahtar değerini panonuza kopyalayın ve tamam'ı seçin.
İşlevi çağır
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. İşlevinizi HTTP test aracınızdan manuel olarak çalıştırdığınızda, burada günlüğe kaydedilen işlev mesajlarını 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-keyPanodan yapıştırılan ana anahtar değeri. Content-Typeapplication/jsonPOST isteği yükünün/gövdesinin
{ "input": "<TRIGGER_INPUT>" }olduğundan 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.Eğer giriş verilerini işlevlere geçirmek istemiyorsanız, yine de POST isteğinin gövdesi olarak boş bir sözlük
{}sağlamanız gerekir. Daha fazla bilgi için, belirli 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.