Tworzenie aplikacji usługi Azure Cognitive Services za pomocą Key Vault

Skorzystaj z tego artykułu, aby dowiedzieć się, jak bezpiecznie opracowywać aplikacje usług Cognitive Services przy użyciu usługi Azure Key Vault.

Key Vault zmniejsza prawdopodobieństwo przypadkowego wycieku wpisów tajnych, ponieważ nie będziesz przechowywać informacji zabezpieczających w aplikacji.

Wymagania wstępne

Uwaga

Zapoznaj się z dokumentacją i artykułami szybki start dotyczącymi usługi Cognitive Service, której używasz, aby uzyskać informacje na temat następujących elementów:

  • Poświadczenia i inne informacje potrzebne do wysyłania wywołań interfejsu API.
  • Pakiety i kod należy uruchomić aplikację.

Pobieranie poświadczeń z zasobu usług Cognitive Services

Przed dodaniem informacji o poświadczeniach do magazynu kluczy platformy Azure należy pobrać je z zasobu usług Cognitive Services. Jeśli na przykład usługa potrzebuje klucza i punktu końcowego, należy je znaleźć, wykonując następujące kroki:

  1. Przejdź do zasobu platformy Azure w Azure Portal.

  2. W menu zwijanym po lewej stronie wybierz pozycję Klucze i punkt końcowy.

    Zrzut ekranu przedstawiający stronę klucza i punktu końcowego w Azure Portal.

Niektóre usługi Cognitive Services wymagają różnych informacji do uwierzytelniania wywołań interfejsu API, takich jak klucz i region. Pamiętaj, aby pobrać te informacje przed kontynuowaniem.

Dodawanie poświadczeń do magazynu kluczy

Aby aplikacja mogła pobierać poświadczenia i używać ich do uwierzytelniania wywołań interfejsu API, należy dodać je do wpisów tajnych magazynu kluczy.

Powtórz te kroki, aby wygenerować wpis tajny dla każdego wymaganego poświadczenia zasobu. Na przykład klucz i punkt końcowy. Te nazwy wpisów tajnych będą później używane do uwierzytelniania aplikacji.

  1. Otwórz nową kartę lub okno przeglądarki. Przejdź do magazynu kluczy w Azure Portal.

  2. W menu zwijanym po lewej stronie wybierz pozycję Obiekty wpisy>tajne.

  3. Wybierz pozycję Generuj/Importuj.

    Zrzut ekranu przedstawiający stronę klucza magazynu kluczy w Azure Portal.

  4. Na ekranie Tworzenie wpisu tajnego wprowadź następujące wartości:

    Nazwa Wartość
    Opcje przekazywania Ręcznie
    Nazwa Nazwa wpisu tajnego klucza lub punktu końcowego. Na przykład: "CognitiveServicesKey" lub "CognitiveServicesEndpoint"
    Wartość Klucz zasobu lub punkt końcowy usług Azure Cognitive Services.

    Później aplikacja będzie używać wpisu tajnego "Name", aby bezpiecznie uzyskać dostęp do "Value".

  5. Pozostaw pozostałe wartości jako wartości domyślne. Wybierz przycisk Utwórz.

    Porada

    Pamiętaj o nazwach ustawionych dla wpisów tajnych, ponieważ będą one używane później w aplikacji.

Powinny być teraz nazwane wpisy tajne dla informacji o zasobie.

Tworzenie zmiennej środowiskowej dla nazwy magazynu kluczy

Zalecamy utworzenie zmiennej środowiskowej dla nazwy magazynu kluczy platformy Azure. Aplikacja odczytuje tę zmienną środowiskową w czasie wykonywania, aby pobrać informacje o kluczu i punkcie końcowym.

Aby ustawić zmienne środowiskowe, użyj jednego z następujących poleceń. KEY_VAULT_NAME nazwą zmiennej środowiskowej i zastąp ciąg Your-Key-Vault-Name nazwą magazynu kluczy, który będzie przechowywany w zmiennej środowiskowej.

Utwórz i przypisz zmienną środowiskową utrwalone, biorąc pod uwagę wartość.

setx KEY_VAULT_NAME "Your-Key-Vault-Name"

W nowym wystąpieniu wiersza polecenia przeczytaj zmienną środowiskową.

echo %KEY_VAULT_NAME%

Uwierzytelnianie na platformie Azure przy użyciu programu Visual Studio

Deweloperzy korzystający z programu Visual Studio 2017 lub nowszego mogą uwierzytelniać konto usługi Azure Active Directory za pomocą programu Visual Studio. Umożliwia to dostęp do wpisów tajnych w magazynie kluczy przez zalogowanie się do subskrypcji platformy Azure z poziomu środowiska IDE.

Aby uwierzytelnić się w programie Visual Studio, wybierz pozycję Narzędzia w górnym menu nawigacji, a następnie wybierz pozycję Opcje. Przejdź do opcji Uwierzytelnianie usługi platformy Azure , aby zalogować się przy użyciu nazwy użytkownika i hasła.

Uwierzytelnianie przy użyciu wiersza polecenia

Przed udzieleniem dostępu do magazynu kluczy należy uwierzytelnić się przy użyciu nazwy użytkownika i hasła usługi Azure Active Directory.

Aby uwierzytelnić się przy użyciu interfejsu wiersza polecenia platformyaz login Azure, uruchom polecenie .

az login

W systemach z domyślną przeglądarką internetową interfejs wiersza polecenia platformy Azure uruchomi przeglądarkę w celu uwierzytelnienia. W przypadku systemów bez domyślnej przeglądarki az login internetowej polecenie użyje przepływu uwierzytelniania kodu urządzenia. Możesz również wymusić użycie przepływu kodu urządzenia przez interfejs wiersza polecenia platformy Azure zamiast uruchamiania przeglądarki, określając --use-device-code argument.

Jeśli masz wiele subskrypcji, upewnij się, że wybrano subskrypcję platformy Azure zawierającą magazyn kluczy.

Udzielanie dostępu do magazynu kluczy

Utwórz zasady dostępu dla magazynu kluczy, które udzielają uprawnień wpisów tajnych do konta użytkownika.

Aby ustawić zasady dostępu, uruchom polecenie az keyvault set-policy . Zastąp Your-Key-Vault-Name ciąg nazwą magazynu kluczy. Zastąp ciąg user@domain.com nazwą użytkownika usługi Azure Active Directory.

az keyvault set-policy --name Your-Key-Vault-Name --upn user@domain.com --secret-permissions delete get list set purge

Tworzenie nowej aplikacji w języku C#

Za pomocą środowiska IDE programu Visual Studio utwórz nową aplikację konsolową platformy .NET Core. Spowoduje to utworzenie projektu "Hello world" z pojedynczym plikiem źródłowym języka C#: program.cs.

Zainstaluj następujące biblioteki klienckie, klikając prawym przyciskiem myszy rozwiązanie w Eksplorator rozwiązań i wybierając pozycję Zarządzaj pakietami NuGet. W menedżerze pakietów, który zostanie otwarty, wybierz pozycję Przeglądaj i wyszukaj następujące biblioteki, a następnie wybierz pozycję Zainstaluj dla każdego z nich:

  • Azure.Security.KeyVault.Secrets
  • Azure.Identity

Importowanie przykładowego kodu

Skopiuj poniższy przykładowy kod do program.cs pliku. Zastąp Your-Key-Secret-Name ciąg i Your-Endpoint-Secret-Name nazwami wpisów tajnych ustawionymi w magazynie kluczy.

using System;
using System.Threading.Tasks;
using Azure;
using Azure.Identity;
using Azure.Security.KeyVault.Secrets;
using System.Net;

namespace key_vault_console_app
{
    class Program
    {
        static async Task Main(string[] args)
        {
            //Name of your key vault
            var keyVaultName = Environment.GetEnvironmentVariable("KEY_VAULT_NAME");

            //variables for retrieving the key and endpoint from your key vault.
            //Set these variables to the names you created for your secrets
            const string keySecretName = "Your-Key-Secret-Name";
            const string endpointSecretName = "Your-Endpoint-Secret-Name";

            //Endpoint for accessing your key vault
            var kvUri = $"https://{keyVaultName}.vault.azure.net";

            var keyVaultClient = new SecretClient(new Uri(kvUri), new DefaultAzureCredential());

            Console.WriteLine($"Retrieving your secrets from {keyVaultName}.");

            //Key and endpoint secrets retrieved from your key vault
            var keySecret = await keyVaultClient.GetSecretAsync(keySecretName);
            var endpointSecret = await keyVaultClient.GetSecretAsync(endpointSecretName);
            Console.WriteLine($"Your key secret value is: {keySecret.Value.Value}");
            Console.WriteLine($"Your endpoint secret value is: {endpointSecret.Value.Value}");
            Console.WriteLine("Secrets retrieved successfully");

        }
    }
}

Uruchamianie aplikacji

Uruchom aplikację, wybierając przycisk Debuguj w górnej części programu Visual Studio. Klucze tajne i wpisy tajne punktu końcowego zostaną pobrane z magazynu kluczy.

Wysyłanie testowego wywołania usługi językowej (opcjonalnie)

Jeśli używasz zasobu z wieloma usługami lub zasobu języka, możesz zaktualizować aplikację , wykonując następujące kroki, aby wysłać przykład wywołanie rozpoznawania jednostek nazwanych przez pobranie klucza i punktu końcowego z magazynu kluczy.

  1. Zainstaluj bibliotekęAzure.AI.TextAnalytics, klikając prawym przyciskiem myszy rozwiązanie w Eksplorator rozwiązań i wybierając pozycję Zarządzaj pakietami NuGet. W menedżerze pakietów, który zostanie otwarty, wybierz pozycję Przeglądaj i wyszukaj następujące biblioteki, a następnie wybierz pozycję Zainstaluj dla każdego z nich:

  2. Dodaj następującą dyrektywę na początku program.cs pliku.

    using Azure.AI.TextAnalytics;
    
  3. Dodaj następujący przykładowy kod do aplikacji.

    // Example method for extracting named entities from text 
    private static void EntityRecognitionExample(string keySecret, string endpointSecret)
    {
        //String to be sent for Named Entity Recognition
        var exampleString = "I had a wonderful trip to Seattle last week.";
    
        AzureKeyCredential azureKeyCredential = new AzureKeyCredential(keySecret);
        Uri endpoint = new Uri(endpointSecret);
        var languageServiceClient = new TextAnalyticsClient(endpoint, azureKeyCredential);
    
        Console.WriteLine($"Sending a Named Entity Recognition (NER) request");
        var response = languageServiceClient.RecognizeEntities(exampleString);
        Console.WriteLine("Named Entities:");
        foreach (var entity in response.Value)
        {
            Console.WriteLine($"\tText: {entity.Text},\tCategory: {entity.Category},\tSub-Category: {entity.SubCategory}");
            Console.WriteLine($"\t\tScore: {entity.ConfidenceScore:F2},\tLength: {entity.Length},\tOffset: {entity.Offset}\n");
        }
    }
    
  4. Dodaj następujący kod, aby wywołać EntityRecognitionExample() metodę main przy użyciu wartości klucza i punktu końcowego.

    EntityRecognitionExample(keySecret.Value.Value, endpointSecret.Value.Value);
    
  5. Uruchom aplikację.

Uwierzytelnianie aplikacji

Przed udzieleniem dostępu do magazynu kluczy należy uwierzytelnić się przy użyciu nazwy użytkownika i hasła usługi Azure Active Directory.

Aby uwierzytelnić się przy użyciu interfejsu wiersza polecenia platformyaz login Azure, uruchom polecenie .

az login

W systemach z domyślną przeglądarką internetową interfejs wiersza polecenia platformy Azure uruchomi przeglądarkę w celu uwierzytelnienia. W przypadku systemów bez domyślnej przeglądarki az login internetowej polecenie użyje przepływu uwierzytelniania kodu urządzenia. Możesz również wymusić użycie przepływu kodu urządzenia przez interfejs wiersza polecenia platformy Azure zamiast uruchamiania przeglądarki, określając --use-device-code argument.

Jeśli masz wiele subskrypcji, upewnij się, że wybrano subskrypcję platformy Azure zawierającą magazyn kluczy.

Udzielanie dostępu do magazynu kluczy

Utwórz zasady dostępu dla magazynu kluczy, które udzielają uprawnień wpisów tajnych do konta użytkownika.

Aby ustawić zasady dostępu, uruchom polecenie az keyvault set-policy . Zastąp Your-Key-Vault-Name ciąg nazwą magazynu kluczy. Zastąp ciąg user@domain.com nazwą użytkownika usługi Azure Active Directory.

az keyvault set-policy --name Your-Key-Vault-Name --upn user@domain.com --secret-permissions delete get list set purge

Tworzenie aplikacji w języku Python

Utwórz nowy folder o nazwie keyVaultExample. Następnie użyj preferowanego edytora kodu, aby utworzyć plik o nazwie program.py wewnątrz nowo utworzonego folderu.

Instalowanie pakietów usług Key Vault i językowych

  1. W terminalu lub wierszu polecenia przejdź do folderu projektu i zainstaluj bibliotekę tożsamości usługi Azure Active Directory:

    pip install azure-identity
    
  2. Zainstaluj bibliotekę wpisów tajnych Key Vault:

    pip install azure-keyvault-secrets
    

Importowanie przykładowego kodu

Dodaj następujący przykładowy kod do pliku o nazwie program.py. Zastąp Your-Key-Secret-Name ciąg i Your-Endpoint-Secret-Name nazwami wpisów tajnych ustawionymi w magazynie kluczy.

import os
from azure.keyvault.secrets import SecretClient
from azure.identity import DefaultAzureCredential
from azure.core.credentials import AzureKeyCredential

keyVaultName = os.environ["KEY_VAULT_NAME"]

# Set these variables to the names you created for your secrets
keySecretName = "Your-Key-Secret-Name"
endpointSecretName = "Your-Endpoint-Secret-Name"

# URI for accessing key vault
KVUri = f"https://{keyVaultName}.vault.azure.net"

# Instantiate the client and retrieve secrets
credential = DefaultAzureCredential()
kv_client = SecretClient(vault_url=KVUri, credential=credential)

print(f"Retrieving your secrets from {keyVaultName}.")

retrieved_key = kv_client.get_secret(keySecretName).value
retrieved_endpoint = kv_client.get_secret(endpointSecretName).value

print(f"Your secret key value is {retrieved_key}.");
print(f"Your secret endpoint value is {retrieved_endpoint}.");

Uruchamianie aplikacji

Użyj następującego polecenia, aby uruchomić aplikację. Klucze tajne i wpisy tajne punktu końcowego zostaną pobrane z magazynu kluczy.

python ./program.py

Wysyłanie testowego wywołania usługi językowej (opcjonalnie)

Jeśli używasz zasobu z wieloma usługami lub zasobu języka, możesz zaktualizować aplikację , wykonując następujące kroki, aby wysłać przykład wywołanie rozpoznawania jednostek nazwanych przez pobranie klucza i punktu końcowego z magazynu kluczy.

  1. Zainstaluj bibliotekę usługi językowej:

    pip install azure-ai-textanalytics==5.1.0
    
  2. Dodaj następujący kod do aplikacji

    from azure.ai.textanalytics import TextAnalyticsClient
    # Authenticate the key vault secrets client using your key and endpoint 
    azure_key_credential = AzureKeyCredential(retrieved_key)
    # Now you can use key vault credentials with the Language service
    language_service_client = TextAnalyticsClient(
        endpoint=retrieved_endpoint, 
        credential=azure_key_credential)
    
    # Example of recognizing entities from text
    
    print("Sending NER request")
    
    try:
        documents = ["I had a wonderful trip to Seattle last week."]
        result = language_service_client.recognize_entities(documents = documents)[0]
        print("Named Entities:\n")
        for entity in result.entities:
            print("\tText: \t", entity.text, "\tCategory: \t", entity.category, "\tSubCategory: \t", entity.subcategory,
                    "\n\tConfidence Score: \t", round(entity.confidence_score, 2), "\tLength: \t", entity.length, "\tOffset: \t", entity.offset, "\n")
    
    except Exception as err:
        print("Encountered exception. {}".format(err))
    
  3. Uruchom aplikację.

Uwierzytelnianie aplikacji

Przed udzieleniem dostępu do magazynu kluczy należy uwierzytelnić się przy użyciu nazwy użytkownika i hasła usługi Azure Active Directory.

Aby uwierzytelnić się przy użyciu interfejsu wiersza polecenia platformyaz login Azure, uruchom polecenie .

az login

W systemach z domyślną przeglądarką internetową interfejs wiersza polecenia platformy Azure uruchomi przeglądarkę w celu uwierzytelnienia. W przypadku systemów bez domyślnej przeglądarki az login internetowej polecenie użyje przepływu uwierzytelniania kodu urządzenia. Możesz również wymusić użycie przepływu kodu urządzenia przez interfejs wiersza polecenia platformy Azure zamiast uruchamiania przeglądarki, określając --use-device-code argument.

Jeśli masz wiele subskrypcji, upewnij się, że wybrano subskrypcję platformy Azure zawierającą magazyn kluczy.

Udzielanie dostępu do magazynu kluczy

Utwórz zasady dostępu dla magazynu kluczy, które udzielają uprawnień wpisów tajnych do konta użytkownika.

Aby ustawić zasady dostępu, uruchom polecenie az keyvault set-policy . Zastąp Your-Key-Vault-Name ciąg nazwą magazynu kluczy. Zastąp ciąg user@domain.com nazwą użytkownika usługi Azure Active Directory.

az keyvault set-policy --name Your-Key-Vault-Name --upn user@domain.com --secret-permissions delete get list set purge

Tworzenie aplikacji java

W preferowanym środowisku IDE utwórz nowy projekt aplikacji konsolowej Java i utwórz klasę o nazwie Example.

Dodawanie zależności

W projekcie dodaj następujące zależności do pom.xml pliku.

<dependencies>

        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-security-keyvault-secrets</artifactId>
            <version>4.2.3</version>
        </dependency>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-identity</artifactId>
            <version>1.2.0</version>
        </dependency>
    </dependencies>

Importowanie przykładowego kodu

Skopiuj następujący kod do pliku o nazwie Example.java. Zastąp Your-Key-Secret-Name wartości i Your-Endpoint-Secret-Name nazwami wpisów tajnych ustawionymi w magazynie kluczy.

import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.security.keyvault.secrets.SecretClient;
import com.azure.security.keyvault.secrets.SecretClientBuilder;
import com.azure.core.credential.AzureKeyCredential;

public class Example {

    public static void main(String[] args) {

        String keyVaultName = System.getenv("KEY_VAULT_NAME");
        String keyVaultUri = "https://" + keyVaultName + ".vault.azure.net";

        //variables for retrieving the key and endpoint from your key vault.
        //Set these variables to the names you created for your secrets
        String keySecretName = "Your-Key-Secret-Name";
        String endpointSecretName = "Your-Endpoint-Secret-Name";

        //Create key vault secrets client
        SecretClient secretClient = new SecretClientBuilder()
                .vaultUrl(keyVaultUri)
                .credential(new DefaultAzureCredentialBuilder().build())
                .buildClient();

        //retrieve key and endpoint from key vault
        String keyValue = secretClient.getSecret(keySecretName).getValue();
        String endpointValue = secretClient.getSecret(endpointSecretName).getValue();
        System.out.printf("Your secret key value is: %s", keyValue)
        System.out.printf("Your secret endpoint value is: %s", endpointValue)
    }
}

Wysyłanie testowego wywołania usługi językowej (opcjonalnie)

Jeśli używasz zasobu z wieloma usługami lub zasobu języka, możesz zaktualizować aplikację , wykonując następujące kroki, aby wysłać przykładowe wywołanie rozpoznawania jednostek nazwanych przez pobranie klucza i punktu końcowego z magazynu kluczy.

  1. W aplikacji dodaj następującą zależność:

    <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-ai-textanalytics</artifactId>
        <version>5.1.12</version>
    </dependency>
    
  2. dodaj następujące instrukcje importowania do pliku.

    import com.azure.ai.textanalytics.models.*;
    import com.azure.ai.textanalytics.TextAnalyticsClientBuilder;
    import com.azure.ai.textanalytics.TextAnalyticsClient;
    
  3. Dodaj następujący kod do main() metody w aplikacji:

    
    TextAnalyticsClient languageClient = new TextAnalyticsClientBuilder()
            .credential(new AzureKeyCredential(keyValue))
            .endpoint(endpointValue)
            .buildClient();
    
    // Example for recognizing entities in text
    String text = "I had a wonderful trip to Seattle last week.";
    
    for (CategorizedEntity entity : languageClient.recognizeEntities(text)) {
        System.out.printf(
                "Recognized entity: %s, entity category: %s, entity sub-category: %s, score: %s, offset: %s, length: %s.%n",
                entity.getText(),
                entity.getCategory(),
                entity.getSubcategory(),
                entity.getConfidenceScore(),
                entity.getOffset(),
                entity.getLength());
    }
    
  4. Uruchamianie aplikacji

Uwierzytelnianie aplikacji

Przed udzieleniem dostępu do magazynu kluczy należy uwierzytelnić się przy użyciu nazwy użytkownika i hasła usługi Azure Active Directory.

Aby uwierzytelnić się za pomocą interfejsu wiersza polecenia platformyaz login Azure, uruchom polecenie .

az login

W systemach z domyślną przeglądarką internetową interfejs wiersza polecenia platformy Azure uruchomi przeglądarkę w celu uwierzytelnienia. W przypadku systemów bez domyślnej przeglądarki az login internetowej polecenie użyje przepływu uwierzytelniania kodu urządzenia. Możesz również wymusić użycie przepływu kodu urządzenia przez interfejs wiersza polecenia platformy Azure zamiast uruchamiania przeglądarki, określając --use-device-code argument.

Jeśli masz wiele subskrypcji, upewnij się, że wybrano subskrypcję platformy Azure zawierającą magazyn kluczy.

Udzielanie dostępu do magazynu kluczy

Utwórz zasady dostępu dla magazynu kluczy, które udzielają tajnych uprawnień do konta użytkownika.

Aby ustawić zasady dostępu, uruchom polecenie az keyvault set-policy . Zastąp Your-Key-Vault-Name ciąg nazwą magazynu kluczy. Zastąp user@domain.com ciąg nazwą użytkownika usługi Azure Active Directory.

az keyvault set-policy --name Your-Key-Vault-Name --upn user@domain.com --secret-permissions delete get list set purge

Tworzenie nowej aplikacji Node.js

Utwórz aplikację Node.js korzystającą z magazynu kluczy.

W terminalu utwórz folder o nazwie key-vault-js-example i przejdź do tego folderu:

mkdir key-vault-js-example && cd key-vault-js-example

Zainicjuj projekt Node.js:

npm init -y

Instalowanie pakietów usług Key Vault i językowych

  1. Korzystając z terminalu, zainstaluj bibliotekę wpisów tajnych usługi Azure Key Vault, @azure/keyvault-secrets dla Node.js.

    npm install @azure/keyvault-secrets
    
  2. Zainstaluj bibliotekę tożsamości platformy Azure @azure/pakiet tożsamości, aby uwierzytelnić się w Key Vault.

    npm install @azure/identity
    

Importowanie przykładu kodu

Dodaj następujący przykładowy kod do pliku o nazwie index.js. Zastąp Your-Key-Secret-Name wartości i Your-Endpoint-Secret-Name nazwami wpisów tajnych ustawionymi w magazynie kluczy.

const { SecretClient } = require("@azure/keyvault-secrets");
const { DefaultAzureCredential } = require("@azure/identity");
// Load the .env file if it exists
const dotenv = require("dotenv");
dotenv.config();

async function main() {
    const credential = new DefaultAzureCredential();

    const keyVaultName = process.env["KEY_VAULT_NAME"];
    const url = "https://" + keyVaultName + ".vault.azure.net";

    const kvClient = new SecretClient(url, credential);

    // Set these variables to the names you created for your secrets
    const keySecretName = "Your-Key-Secret-Name";
    const endpointSecretName = "Your-Endpoint-Secret-Name";

    console.log("Retrieving secrets from ", keyVaultName);
    const retrievedKey = await (await kvClient.getSecret(keySecretName)).value;
    const retrievedEndpoint = await (await kvClient.getSecret(endpointSecretName)).value;
    console.log("Your secret key value is: ", retrievedKey);
    console.log("Your secret endpoint value is: ", retrievedEndpoint);
}

main().catch((error) => {
  console.error("An error occurred:", error);
  process.exit(1);
});

Uruchamianie przykładowej aplikacji

Użyj następującego polecenia, aby uruchomić aplikację. Klucze tajne i wpisy tajne punktu końcowego zostaną pobrane z magazynu kluczy.

node index.js

Wysyłanie testowego wywołania usługi językowej (opcjonalnie)

Jeśli używasz zasobu z wieloma usługami lub zasobu języka, możesz zaktualizować aplikację , wykonując następujące kroki, aby wysłać przykładowe wywołanie rozpoznawania jednostek nazwanych przez pobranie klucza i punktu końcowego z magazynu kluczy.

  1. Zainstaluj bibliotekę usługi Azure Cognitive Service for Language, @azure/ai-text-analytics , aby wysyłać żądania interfejsu API do usługi językowej.

    npm install @azure/ai-text-analytics@5.1.0
    
  2. Dodaj następujący kod do aplikacji:

    const { TextAnalyticsClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
    // Authenticate the language client with your key and endpoint
    const languageClient = new TextAnalyticsClient(retrievedEndpoint,  new AzureKeyCredential(retrievedKey));
    
    // Example for recognizing entities in text
    console.log("Sending NER request")
    const entityInputs = [
        "I had a wonderful trip to Seattle last week."
    ];
    const entityResults = await languageClient.recognizeEntities(entityInputs);
    entityResults.forEach(document => {
        console.log(`Document ID: ${document.id}`);
        document.entities.forEach(entity => {
            console.log(`\tName: ${entity.text} \tCategory: ${entity.category} \tSubcategory: ${entity.subCategory ? entity.subCategory : "N/A"}`);
            console.log(`\tScore: ${entity.confidenceScore}`);
        });
    });
    
  3. Uruchom aplikację.

Następne kroki