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.
Genellikle bir kuruluşta, Logic Apps'te gerçek iş gerçekleştiren bir dizi iş akışınız vardır. Bunlar, insanların etkileşimde olduğu diğer otomasyon hizmetleri veya güç ön uç uygulamaları tarafından kullanılabilir. Anlam Çekirdeği'nde, aracılarınızın da kullanabilmesi için bu iş akışlarını eklentilerle tam olarak aynı şekilde ekleyebilirsiniz.
Örneğin, Semantik Çekirdek ekibi tarafından yeni PR'ler hakkındaki soruları yanıtlamak için kullanılan Logic Apps iş akışlarını inceleyin. Aşağıdaki iş akışlarıyla, bir aracı kod değişikliklerini almak, ilgili dosyaları aramak ve hata günlüklerini denetlemek için gereken her şeye sahiptir.
- Arama dosyaları – belirli bir sorunla ilgili kod parçacıklarını bulmak için
- Dosya al – GitHub deposundaki bir dosyanın içeriğini almak için
- PR ayrıntılarını alma – bir PR'ın ayrıntılarını almak için (örneğin, PR başlığı, açıklama ve yazar)
- Çekme isteği dosyalarını alma – çekme isteğinde değiştirilen dosyaları almak için
- Derleme ve test hatalarını alma – belirli bir GitHub eylem çalıştırması için derleme ve test hatalarını alma
- Günlük dosyasını alma – belirli bir GitHub eylem çalıştırmasının günlük dosyasını almak için
Anlam Çekirdeği için Logic Apps eklentilerinden yararlanmak, Logic Apps'te bulunan 1.400'den fazla bağlayıcıdan yararlanmanın da harika bir yoludur. Bu, kod yazmadan çok çeşitli hizmetlere ve sistemlere kolayca bağlanabileceğiniz anlamına gelir.
Önemli
Bugün yalnızca standart Logic Apps'i (tek kiracılı Logic Apps olarak da bilinir) eklenti olarak ekleyebilirsiniz. Tüketim Logic Apps yakında kullanıma sunulacaktır.
Logic Apps'i eklenti olarak içeri aktarma
Logic Apps iş akışlarını Anlam Çekirdeği'ne eklemek için OpenAPI belirtimlerinde yüklemeyle aynı yöntemleri kullanacaksınız. Aşağıda bazı örnek kodlar verilmiştir.
await kernel.ImportPluginFromOpenApiAsync(
pluginName: "openapi_plugin",
uri: new Uri("https://example.azurewebsites.net/swagger.json"),
executionParameters: new OpenApiFunctionExecutionParameters()
{
// Determines whether payload parameter names are augmented with namespaces.
// Namespaces prevent naming conflicts by adding the parent parameter name
// as a prefix, separated by dots
EnablePayloadNamespacing = true
}
);
Anlam Çekirdeği için Logic Apps'i ayarlama
Bir Mantıksal Uygulamayı eklenti olarak içeri aktarabilmeniz için önce Mantıksal Uygulamayı Anlam Çekirdeği tarafından erişilebilir olacak şekilde ayarlamanız gerekir. Bu, son olarak kimlik doğrulamasıyla bir eklenti olarak Logic App'i içeri aktarmadan önce meta veri uç noktalarını etkinleştirmeyi ve uygulamanızı Easy Auth için yapılandırmayı içerir.
Meta veri uç noktalarını etkinleştirme
En kolay kurulum için Mantıksal Uygulamanızın meta veri uç noktalarına kimliği doğrulanmamış erişimi etkinleştirebilirsiniz. Bu, mantıksal uygulamanızı ilk içeri aktarma için kimlik doğrulamasını işlemek üzere özel bir HTTP istemcisi oluşturmaya gerek kalmadan Anlam Çekirdeği'ne eklenti olarak içeri aktarmanıza olanak tanır.
Aşağıdaki host.json dosyası iki kimliği doğrulanmamış uç nokta oluşturur. Bunu azure portalda kudu konsoluna gidipC:\home\site\wwwroot\host.jskonumunda bulunan host.json dosyasını düzenleyerek yapabilirsiniz.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
"version": "[1.*, 2.0.0)"
},
"extensions": {
"http": {
"routePrefix": ""
},
"workflow": {
"MetadataEndpoints": {
"plugin": {
"enable": true,
"Authentication":{
"Type":"Anonymous"
}
},
"openapi": {
"enable": true,
"Authentication":{
"Type":"Anonymous"
}
}
},
"Settings": {
"Runtime.Triggers.RequestTriggerDefaultApiVersion": "2020-05-01-preview"
}
}
}
}
Uygulamanızı Kolay Kimlik Doğrulaması için yapılandırma
Artık Yalnızca yetkili kullanıcıların erişebilmesi için Logic App iş akışlarınızın güvenliğini sağlamak istiyorsunuz. Bunu Yapmak için Mantıksal Uygulamanızda Kolay Kimlik Doğrulaması'nın etkinleştirilmesini sağlayabilirsiniz. Bu, diğer Azure hizmetlerinizle aynı kimlik doğrulama mekanizmasını kullanmanıza olanak tanıyarak güvenlik ilkelerinizi yönetmenizi kolaylaştırır.
Kolay Kimlik Doğrulaması'nı ayarlama hakkında ayrıntılı bir kılavuz için, Easy Auth ile Standart mantıksal uygulamalarda iş akışlarını tetikleme başlıklı bu öğreticiye bakın.
Kolay Kimlik Doğrulaması hakkında zaten bilgi sahibi olanlar için (ve kullanmak istediğiniz bir Entra istemci uygulaması zaten var), bu, Azure yönetimine göndermek istediğiniz yapılandırmadır.
#!/bin/bash
# Variables
subscription_id="[SUBSCRIPTION_ID]"
resource_group="[RESOURCE_GROUP]"
app_name="[APP_NAME]"
api_version="2022-03-01"
arm_token="[ARM_TOKEN]"
tenant_id="[TENANT_ID]"
aad_client_id="[AAD_CLIENT_ID]"
object_ids=("[OBJECT_ID_FOR_USER1]" "[OBJECT_ID_FOR_USER2]" "[OBJECT_ID_FOR_APP1]")
# Convert the object_ids array to a JSON array
object_ids_json=$(printf '%s\n' "${object_ids[@]}" | jq -R . | jq -s .)
# Request URL
url="https://management.azure.com/subscriptions/$subscription_id/resourceGroups/$resource_group/providers/Microsoft.Web/sites/$app_name/config/authsettingsV2?api-version=$api_version"
# JSON payload
json_payload=$(cat <<EOF
{
"properties": {
"platform": {
"enabled": true,
"runtimeVersion": "~1"
},
"globalValidation": {
"requireAuthentication": true,
"unauthenticatedClientAction": "AllowAnonymous"
},
"identityProviders": {
"azureActiveDirectory": {
"enabled": true,
"registration": {
"openIdIssuer": "https://sts.windows.net/$tenant_id/",
"clientId": "$aad_client_id"
},
"validation": {
"jwtClaimChecks": {},
"allowedAudiences": [
"api://$aad_client_id"
],
"defaultAuthorizationPolicy": {
"allowedPrincipals": {
"identities": $object_ids_json
}
}
}
},
"facebook": {
"enabled": false,
"registration": {},
"login": {}
},
"gitHub": {
"enabled": false,
"registration": {},
"login": {}
},
"google": {
"enabled": false,
"registration": {},
"login": {},
"validation": {}
},
"twitter": {
"enabled": false,
"registration": {}
},
"legacyMicrosoftAccount": {
"enabled": false,
"registration": {},
"login": {},
"validation": {}
},
"apple": {
"enabled": false,
"registration": {},
"login": {}
}
}
}
}
EOF
)
# HTTP PUT request
curl -X PUT "$url" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $arm_token" \
-d "$json_payload"
Logic Apps'i Anlam Çekirdeği ile eklenti olarak kullanma
Mantıksal Uygulamanızın güvenliğini sağladığınıza ve meta veri uç noktalarını etkinleştirdiğinize göre, en zor kısımları tamamladınız. Artık OpenAPI içeri aktarma yöntemini kullanarak Mantıksal Uygulamanızı bir eklenti olarak Anlam Çekirdeği'ne aktarabilirsiniz.
Eklentinizi oluşturduğunuzda, Mantıksal Uygulamanız için kimlik doğrulamasını işleyebilen özel bir HTTP istemcisi sağlamak istersiniz. Bu, kimlik doğrulaması konusunda endişelenmenize gerek kalmadan yapay zeka aracılarınızdaki eklentiyi kullanmanıza olanak sağlar.
Aşağıda, C# dilinde, Logic App için kullanıcının kimliğini doğrulamak ve etkileşimli kimlik doğrulamasını kullanarak bir token almak üzere hazırlanmış bir örnek verilmiştir.
string ClientId = "[AAD_CLIENT_ID]";
string TenantId = "[TENANT_ID]";
string Authority = $"https://login.microsoftonline.com/{TenantId}";
string[] Scopes = new string[] { "api://[AAD_CLIENT_ID]/SKLogicApp" };
var app = PublicClientApplicationBuilder.Create(ClientId)
.WithAuthority(Authority)
.WithDefaultRedirectUri() // Uses http://localhost for a console app
.Build();
AuthenticationResult authResult = null;
try
{
authResult = await app.AcquireTokenInteractive(Scopes).ExecuteAsync();
}
catch (MsalException ex)
{
Console.WriteLine("An error occurred acquiring the token: " + ex.Message);
}
// Add the plugin to the kernel with a custom HTTP client for authentication
kernel.Plugins.Add(await kernel.ImportPluginFromOpenApiAsync(
pluginName: "[NAME_OF_PLUGIN]",
uri: new Uri("https://[LOGIC_APP_NAME].azurewebsites.net/swagger.json"),
executionParameters: new OpenApiFunctionExecutionParameters()
{
HttpClient = new HttpClient()
{
DefaultRequestHeaders =
{
Authorization = new AuthenticationHeaderValue("Bearer", authResult.AccessToken)
}
},
}
));
Sonraki Adımlar
Eklenti oluşturmayı öğrendiğinize göre artık bunları yapay zeka aracınızla nasıl kullanacağınızı öğrenebilirsiniz. Eklentilerinize eklediğiniz işlevlerin türüne bağlı olarak, izlemeniz gereken farklı desenler vardır. Alma işlevleri için alma işlevlerini kullanma makalesine bakın. Görev otomasyonu işlevleri için , görev otomasyonu işlevlerini kullanma makalesine bakın.