Azure işlev kuralı altyapısı
Azure İletişim Hizmetleri İş Yönlendiricisi, müşteri genişletilebilirlik modelinin bir parçası olarak Azure İşlevi tabanlı bir kural altyapısını destekler. Size kendi Azure işlevinizi getirme olanağı sağlar. Azure İşlevleri ile yönlendirme işlemine özel ve karmaşık mantık ekleyebilirsiniz.
Azure işlevi oluşturma
Azure İşlevleri kullanmaya yeni başladıysanız, sık kullandığınız araç ve dille ilk işlevinizi nasıl oluşturacağınızı öğrenmek için Azure İşlevleri kullanmaya başlama bölümüne bakın.
Dekont
Azure İşlevinizin http tetikleyicisi kullanacak şekilde yapılandırılması gerekir
İşlevinize gönderilen Http isteği gövdesi, ilgili varlıkların her birinin etiketlerini içerir. Örneğin, iş önceliğini belirlemek için bir işlev yazıyorsanız, yük anahtarın altındaki job
tüm iş etiketlerini içerir.
{
"job": {
"label1": "foo",
"label2": "bar",
"urgent": true,
}
}
Aşağıdaki örnek, etiketin urgent
değerini inceler ve doğruysa 10'un önceliğini döndürür.
public static class GetPriority
{
[FunctionName("GetPriority")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
var priority = 5;
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
var data = JsonConvert.DeserializeObject<JObject>(requestBody);
var isUrgent = data["job"]["urgent"].Value<bool>();
if (isUrgent)
priority = 10;
return new OkObjectResult(JsonConvert.SerializeObject(priority));
}
}
Azure işlevini kullanmak için bir ilke yapılandırma
Azure portalında dağıtılan işlevinizi inceleyin ve işlev Uri'sini ve kimlik doğrulama anahtarını bulun. Ardından SDK'sını kullanarak bu işleve işaret eden bir kural altyapısı kullanan bir ilke yapılandırın.
await administrationClient.CreateClassificationPolicyAsync(
new CreateClassificationPolicyOptions("policy-1") {
PrioritizationRule = new FunctionRouterRule(new Uri("<insert function uri>")) {
Credential = new FunctionRouterRuleCredential("<insert function key>")
}});
Yeni bir iş gönderildiğinde veya güncelleştirildiğinde, işin önceliğini belirlemek için bu işlev çağrılır.
Hatalar
Azure İşlevi başarısız olursa veya 200 olmayan bir kod döndürürse iş duruma geçer ClassificationFailed
ve Event Grid'den hatanın ayrıntılarını içeren bir JobClassificationFailedEvent
alırsınız.
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin