Entwickeln von Azure KI Services-Anwendungen mit Azure Key Vault
Hier erfahren Sie, wie Sie Azure KI Services-Anwendungen sicher entwickeln, indem Sie Azure Key Vault verwenden.
Key Vault reduziert die Gefahr, dass Geheimnisse versehentlich preisgegeben werden, da in Ihrer Anwendung keine Sicherheitsinformationen gespeichert werden.
Voraussetzungen
- Ein gültiges Azure-Abonnement: Erstellen Sie ein kostenloses Abonnement.
- Visual Studio-IDE
- Ein Azure Key Vault
- Eine Azure KI Services-Ressource
- Ein gültiges Azure-Abonnement: Erstellen Sie ein kostenloses Abonnement.
- Python 3.7 oder höher
- Azure CLI oder Azure PowerShell
- Ein Azure Key Vault
- Eine Azure KI Services-Ressource
- Ein gültiges Azure-Abonnement: Erstellen Sie ein kostenloses Abonnement.
- Java Development Kit (JDK), Version 8 oder höher
- Azure CLI oder Azure PowerShell
- Ein Azure Key Vault
- Eine Azure KI Services-Ressource
- Ein gültiges Azure-Abonnement: Erstellen Sie ein kostenloses Abonnement.
- Aktuelle Version von Node.js v14 LTS oder höher
- Azure CLI oder Azure PowerShell
- Ein Azure Key Vault
- Eine Azure KI Services-Ressource
Hinweis
Lesen Sie die Dokumentation und Schnellstartartikel für den verwendeten Azure KI Services, um ein Verständnis der folgenden Dinge zu erhalten:
- Die Anmeldeinformationen und andere Informationen, die Sie zum Senden von API-Aufrufen benötigen.
- Die Pakete und der Code, die Sie zum Ausführen Ihrer Anwendung benötigen.
Abrufen Ihrer Anmeldeinformationen aus Ihrer Azure KI Services-Ressource
Bevor Sie Ihrem Azure-Schlüsseltresor Ihre Anmeldeinformationen hinzufügen, müssen Sie sie aus Ihrer Azure KI Services-Ressource abrufen. Wenn Ihr Dienst beispielsweise einen Schlüssel und Endpunkt benötigt, finden Sie diese mithilfe der folgenden Schritte:
Navigieren Sie im Azure-Portal zu Ihrer Ressource.
Wählen Sie im reduzierbaren Menü auf der linken Seite Schlüssel und Endpunkt aus.
Einige Azure KI Services-Instanzen erfordern unterschiedliche Informationen zur Authentifizierung von API-Aufrufen, wie etwa einen Schlüssel und eine Region. Achten Sie darauf, diese Informationen abzurufen, bevor Sie fortfahren.
Hinzufügen Ihrer Anmeldeinformationen zu Ihrem Schlüsseltresor
Damit Ihre Anwendung Ihre Anmeldeinformationen abrufen und zum Authentifizieren von API-Aufrufen verwenden kann, müssen Sie sie ihren Schlüsseltresorgeheimnissen hinzufügen.
Wiederholen Sie diese Schritte, um für jede erforderliche Ressourcenanmeldeinformation ein Geheimnis zu generieren. Beispielsweise für einen Schlüssel und Endpunkt. Diese Geheimnisnamen werden später verwendet, um Ihre Anwendung zu authentifizieren.
Öffnen Sie eine neue Browserregisterkarte oder ein neues Fenster. Navigieren Sie zu Ihrem Schlüsseltresor im Azure-Portal.
Wählen Sie im reduzierbaren Menü auf der linken Seite Objekte>Geheimnisse aus.
Wählen Sie die Option Generieren/Importieren aus.
Geben Sie auf dem Bildschirm Geheimnis erstellen die folgenden Werte ein:
Name Wert Uploadoptionen Manuell Name Ein Geheimnisname für Ihren Schlüssel oder Endpunkt. Beispielsweise „CognitiveServicesKey“ oder „CognitiveServicesEndpoint“ Wert Ihr Azure KI Services-Ressourcenschlüssel oder -Endpunkt. Später verwendet Ihre Anwendung den „Namen“ des Geheimnisses, um sicher auf den „Wert“ zuzugreifen.
Behalten Sie bei den anderen Optionen die Standardwerte bei. Klicken Sie auf Erstellen.
Tipp
Achten Sie darauf, sich die Namen zu merken, die Sie für Ihre Geheimnisse festlegen, da Sie sie später in Ihrer Anwendung verwenden.
Sie sollten jetzt über benannte Geheimnisse für Ihre Ressourceninformationen verfügen.
Erstellen einer Umgebungsvariable für den Namen Ihres Schlüsseltresors
Es empfiehlt sich, für den Namen Ihres Azure-Schlüsseltresors eine Umgebungsvariable zu erstellen. Ihre Anwendung liest diese Umgebungsvariable zur Laufzeit, um Ihre Schlüssel- und Endpunktinformationen abzurufen.
Verwenden Sie zum Festlegen von Umgebungsvariablen einen der folgenden Befehle. KEY_VAULT_NAME
mit dem Namen der Umgebungsvariable, und ersetzen Sie Your-Key-Vault-Name
durch den Namen Ihres Schlüsseltresors, der in der Umgebungsvariable gespeichert werden soll.
Erstellen Sie eine persistente Umgebungsvariable, und weisen Sie sie dem entsprechenden Wert zu.
setx KEY_VAULT_NAME "Your-Key-Vault-Name"
Lesen Sie die Umgebungsvariable in einer neuen Instanz der Eingabeaufforderung.
echo %KEY_VAULT_NAME%
Authentifizieren bei Azure mithilfe von Visual Studio
Entwickler, die Visual Studio 2017 oder höher verwenden, können ein Microsoft Entra-Konto mithilfe von Visual Studio authentifizieren. Dadurch können Sie auf Geheimnisse in Ihrem Schlüsseltresor zugreifen, indem Sie sich innerhalb der IDE bei Ihrem Azure-Abonnement anmelden.
Wählen Sie zur Authentifizierung in Visual Studio im oberen Navigationsmenü Extras und dann Optionen aus. Navigieren Sie zur Option Azure-Dienstauthentifizierung, um sich mit Ihrem Benutzernamen und Kennwort anzumelden.
Authentifizieren mithilfe der Befehlszeile
Damit Sie Zugriff auf Ihren Schlüsseltresor erteilen können, müssen Sie sich mit Ihrem Microsoft Entra-Benutzernamen und -Kennwort authentifizieren.
Zum Authentifizieren bei der Azure CLI führen Sie den Befehl az login
aus.
az login
Auf Systemen mit einem Standardwebbrowser startet die Azure CLI den Browser für die Authentifizierung. Für Systeme ohne Standardwebbrowser verwendet der az login
-Befehl den Gerätecode-Authentifizierungsfluss. Durch Angeben des Arguments --use-device-code
können Sie ferner erzwingen, dass die Azure CLI den Gerätecodeflow verwendet, anstatt einen Browser zu starten.
Wenn Sie mehrere Abonnements haben, stellen Sie sicher, dass Sie das Azure-Abonnement auswählen, das Ihren Schlüsseltresor enthält.
Gewähren des Zugriffs auf Ihren Schlüsseltresor
Erstellen Sie eine Zugriffsrichtlinie für Ihren Schlüsseltresor, die Ihrem Benutzerkonto Geheimnisberechtigungen erteilt.
Zum Festlegen der Zugriffsrichtlinie führen Sie den Befehl az keyvault set-policy aus. Ersetzen Sie Your-Key-Vault-Name
durch den Namen Ihres Schlüsseltresors. Ersetzen Sie user@domain.com
mit Ihrem Microsoft Entra-Benutzernamen.
az keyvault set-policy --name Your-Key-Vault-Name --upn user@domain.com --secret-permissions delete get list set purge
Erstellen einer neuen C#-Anwendung
Erstellen Sie über die Visual Studio-IDE eine neue .NET Core-Konsolenanwendung. Dadurch wird ein Projekt vom Typ „Hallo Welt“ mit einer einzelnen C#-Quelldatei (program.cs
) erstellt.
Installieren Sie die folgenden Clientbibliotheken, indem Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe klicken und NuGet-Pakete verwalten auswählen. Wählen Sie im Paket-Manager, der geöffnet wird, die Option Durchsuchen aus, suchen Sie nach den folgenden Bibliotheken, und wählen Sie für jede Installieren aus:
Azure.Security.KeyVault.Secrets
Azure.Identity
Importieren des Beispielcodes
Kopieren Sie den folgenden Beispielcode in Ihre program.cs
-Datei. Ersetzen Sie Your-Key-Secret-Name
und Your-Endpoint-Secret-Name
durch die Geheimnisnamen, die Sie im Schlüsseltresor festgelegt haben.
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");
}
}
}
Ausführen der Anwendung
Führen Sie die Anwendung aus, indem Sie oben in Visual Studio die Schaltfläche Debuggen auswählen. Ihre Schlüssel- und Endpunktgeheimnisse werden aus Ihrem Schlüsseltresor abgerufen.
Senden eines Testaufrufs an den Sprachdienst (optional)
Wenn Sie eine Ressource für mehrere Dienste oder eine Sprachressource verwenden, können Sie Ihre Anwendung aktualisieren, indem Sie die folgenden Schritte ausführen, um einen Beispielaufruf zur Erkennung benannter Entitäten zu senden, indem Sie einen Schlüssel und Endpunkt aus Ihrem Schlüsseltresor abrufen.
Installieren Sie die
Azure.AI.TextAnalytics
-Bibliothek, indem Sie mit der rechten Maustaste im Projektmappen-Explorer auf die Projektmappe klicken und NuGet-Pakete verwalten auswählen. Wählen Sie im Paket-Manager, der geöffnet wird, die Option Durchsuchen aus, suchen Sie nach den folgenden Bibliotheken, und wählen Sie für jede Installieren aus:Fügen Sie am Anfang Ihrer
program.cs
-Datei die folgende Anweisung hinzu.using Azure.AI.TextAnalytics;
Fügen Sie Ihrer Anwendung das folgende Codebeispiel hinzu.
// 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"); } }
Fügen Sie den folgenden Code hinzu, um
EntityRecognitionExample()
aus Ihrer main-Methode aufzurufen, mit Ihren Schlüssel- und Endpunktwerten.EntityRecognitionExample(keySecret.Value.Value, endpointSecret.Value.Value);
Führen Sie die Anwendung aus.
Authentifizieren Ihrer Anwendung
Damit Sie Zugriff auf Ihren Schlüsseltresor erteilen können, müssen Sie sich mit Ihrem Microsoft Entra-Benutzernamen und -Kennwort authentifizieren.
Zum Authentifizieren bei der Azure CLI führen Sie den Befehl az login
aus.
az login
Auf Systemen mit einem Standardwebbrowser startet die Azure CLI den Browser für die Authentifizierung. Für Systeme ohne Standardwebbrowser verwendet der az login
-Befehl den Gerätecode-Authentifizierungsfluss. Durch Angeben des Arguments --use-device-code
können Sie ferner erzwingen, dass die Azure CLI den Gerätecodeflow verwendet, anstatt einen Browser zu starten.
Wenn Sie mehrere Abonnements haben, stellen Sie sicher, dass Sie das Azure-Abonnement auswählen, das Ihren Schlüsseltresor enthält.
Gewähren des Zugriffs auf Ihren Schlüsseltresor
Erstellen Sie eine Zugriffsrichtlinie für Ihren Schlüsseltresor, die Ihrem Benutzerkonto Geheimnisberechtigungen erteilt.
Zum Festlegen der Zugriffsrichtlinie führen Sie den Befehl az keyvault set-policy aus. Ersetzen Sie Your-Key-Vault-Name
durch den Namen Ihres Schlüsseltresors. Ersetzen Sie user@domain.com
mit Ihrem Microsoft Entra-Benutzernamen.
az keyvault set-policy --name Your-Key-Vault-Name --upn user@domain.com --secret-permissions delete get list set purge
Erstellen einer Python-Anwendung
Erstellen Sie einen neuen Ordner namens keyVaultExample
. Verwenden Sie dann Ihren bevorzugten Code-Editor, um eine Datei namens program.py
innerhalb des neu erstellten Ordners zu erstellen.
Installieren von Key Vault und Sprachdienstpaketen
Navigieren Sie in einem Terminal oder an einer Eingabeaufforderung zu Ihrem Projektordner, und installieren Sie die Microsoft Entra-Identitätsbibliothek:
pip install azure-identity
Installieren Sie die Key Vault-Geheimnisbibliothek:
pip install azure-keyvault-secrets
Importieren des Beispielcodes
Fügen Sie der Datei program.py
das folgende Codebeispiel hinzu. Ersetzen Sie Your-Key-Secret-Name
und Your-Endpoint-Secret-Name
durch die Geheimnisnamen, die Sie im Schlüsseltresor festgelegt haben.
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}.");
Ausführen der Anwendung
Verwenden Sie den folgenden Befehl, um die Anwendung auszuführen. Ihre Schlüssel- und Endpunktgeheimnisse werden aus Ihrem Schlüsseltresor abgerufen.
python ./program.py
Senden eines Testaufrufs an den Sprachdienst (optional)
Wenn Sie eine Ressource für mehrere Dienste oder eine Sprachressource verwenden, können Sie Ihre Anwendung aktualisieren, indem Sie die folgenden Schritte ausführen, um einen Beispielaufruf zur Erkennung benannter Entitäten zu senden, indem Sie einen Schlüssel und Endpunkt aus Ihrem Schlüsseltresor abrufen.
Installieren der Sprachdienstbibliothek:
pip install azure-ai-textanalytics==5.1.0
Fügen Sie Ihrer Anwendung den folgenden Code hinzu
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))
Führen Sie die Anwendung aus.
Authentifizieren Ihrer Anwendung
Damit Sie Zugriff auf Ihren Schlüsseltresor erteilen können, müssen Sie sich mit Ihrem Microsoft Entra-Benutzernamen und -Kennwort authentifizieren.
Zum Authentifizieren bei der Azure CLI führen Sie den Befehl az login
aus.
az login
Auf Systemen mit einem Standardwebbrowser startet die Azure CLI den Browser für die Authentifizierung. Für Systeme ohne Standardwebbrowser verwendet der az login
-Befehl den Gerätecode-Authentifizierungsfluss. Durch Angeben des Arguments --use-device-code
können Sie ferner erzwingen, dass die Azure CLI den Gerätecodeflow verwendet, anstatt einen Browser zu starten.
Wenn Sie mehrere Abonnements haben, stellen Sie sicher, dass Sie das Azure-Abonnement auswählen, das Ihren Schlüsseltresor enthält.
Gewähren des Zugriffs auf Ihren Schlüsseltresor
Erstellen Sie eine Zugriffsrichtlinie für Ihren Schlüsseltresor, die Ihrem Benutzerkonto Geheimnisberechtigungen erteilt.
Zum Festlegen der Zugriffsrichtlinie führen Sie den Befehl az keyvault set-policy aus. Ersetzen Sie Your-Key-Vault-Name
durch den Namen Ihres Schlüsseltresors. Ersetzen Sie user@domain.com
mit Ihrem Microsoft Entra-Benutzernamen.
az keyvault set-policy --name Your-Key-Vault-Name --upn user@domain.com --secret-permissions delete get list set purge
Erstellen einer Java-Anwendung
Erstellen Sie in Ihrer bevorzugten IDE ein neues Java-Konsolenanwendungsprojekt, und erstellen Sie eine Klasse namens Example
.
Hinzufügen von Abhängigkeiten
Fügen Sie in Ihrem Projekt Ihrer pom.xml
-Datei die folgenden Abhängigkeiten hinzu.
<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>
Importieren des Beispielcodes
Kopieren Sie den folgenden Code in eine Datei namens Example.java
. Ersetzen Sie Your-Key-Secret-Name
und Your-Endpoint-Secret-Name
durch die Geheimnisnamen, die Sie im Schlüsseltresor festgelegt haben.
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)
}
}
Senden eines Testaufrufs an den Sprachdienst (optional)
Wenn Sie eine Ressource für mehrere Dienste oder eine Sprachressource verwenden, können Sie Ihre Anwendung aktualisieren, indem Sie die folgenden Schritte ausführen, um einen Beispielaufruf zur Erkennung benannter Entitäten zu senden, indem Sie einen Schlüssel und Endpunkt aus Ihrem Schlüsseltresor abrufen.
Fügen Sie in Ihrer Anwendung die folgende Abhängigkeit hinzu:
<dependency> <groupId>com.azure</groupId> <artifactId>azure-ai-textanalytics</artifactId> <version>5.1.12</version> </dependency>
Fügen Sie der Datei die folgenden Importanweisungen hinzu.
import com.azure.ai.textanalytics.models.*; import com.azure.ai.textanalytics.TextAnalyticsClientBuilder; import com.azure.ai.textanalytics.TextAnalyticsClient;
Fügen Sie der Methode
main()
in Ihrer Anwendung den folgenden Code hinzu: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()); }
Ausführen der Anwendung
Authentifizieren Ihrer Anwendung
Damit Sie Zugriff auf Ihren Schlüsseltresor erteilen können, müssen Sie sich mit Ihrem Microsoft Entra-Benutzernamen und -Kennwort authentifizieren.
Zum Authentifizieren bei der Azure CLI führen Sie den Befehl az login
aus.
az login
Auf Systemen mit einem Standardwebbrowser startet die Azure CLI den Browser für die Authentifizierung. Für Systeme ohne Standardwebbrowser verwendet der az login
-Befehl den Gerätecode-Authentifizierungsfluss. Durch Angeben des Arguments --use-device-code
können Sie ferner erzwingen, dass die Azure CLI den Gerätecodeflow verwendet, anstatt einen Browser zu starten.
Wenn Sie mehrere Abonnements haben, stellen Sie sicher, dass Sie das Azure-Abonnement auswählen, das Ihren Schlüsseltresor enthält.
Gewähren des Zugriffs auf Ihren Schlüsseltresor
Erstellen Sie eine Zugriffsrichtlinie für Ihren Schlüsseltresor, die Ihrem Benutzerkonto Geheimnisberechtigungen erteilt.
Zum Festlegen der Zugriffsrichtlinie führen Sie den Befehl az keyvault set-policy aus. Ersetzen Sie Your-Key-Vault-Name
durch den Namen Ihres Schlüsseltresors. Ersetzen Sie user@domain.com
mit Ihrem Microsoft Entra-Benutzernamen.
az keyvault set-policy --name Your-Key-Vault-Name --upn user@domain.com --secret-permissions delete get list set purge
Erstellen einer neuen Node.js-Anwendung
Erstellen Sie eine Node.js-Anwendung, die Ihren Schlüsseltresor verwendet.
Erstellen Sie in einem Terminal einen Ordner namens key-vault-js-example
und wechseln Sie in diesen Ordner:
mkdir key-vault-js-example && cd key-vault-js-example
Initialisieren Sie das Node.js-Projekt:
npm init -y
Installieren von Key Vault und Sprachdienstpaketen
Installieren Sie über das Terminal die Azure Key Vault geheime Bibliothek, @azure/keyvault-secrets für Node.js.
npm install @azure/keyvault-secrets
Installieren Sie die Azure-Identitätsbibliothek, @azure/identity Paket, um sich bei einem Key Vault zu authentifizieren.
npm install @azure/identity
Importieren des Codebeispiels
Fügen Sie einer Datei mit dem Namen index.js
das folgende Codebeispiel hinzu. Ersetzen Sie Your-Key-Secret-Name
und Your-Endpoint-Secret-Name
durch die Geheimnisnamen, die Sie im Schlüsseltresor festgelegt haben.
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);
});
Ausführen der Beispielanwendung
Verwenden Sie den folgenden Befehl, um die Anwendung auszuführen. Ihre Schlüssel- und Endpunktgeheimnisse werden aus Ihrem Schlüsseltresor abgerufen.
node index.js
Senden eines Testaufrufs an den Sprachdienst (optional)
Wenn Sie eine Ressource für mehrere Dienste oder eine Sprachressource verwenden, können Sie Ihre Anwendung aktualisieren, indem Sie die folgenden Schritte ausführen, um einen Beispielaufruf zur Erkennung benannter Entitäten zu senden, indem Sie einen Schlüssel und Endpunkt aus Ihrem Schlüsseltresor abrufen.
Installieren Sie die Azure KI Services für Language-Bibliothek, @azure/ai-text-analytics, um API-Anforderungen an den Sprachdienst zu senden.
npm install @azure/ai-text-analytics@5.1.0
Fügen Sie Ihrer Anwendung den folgenden Code hinzu:
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}`); }); });
Führen Sie die Anwendung aus.
Nächste Schritte
- Weitere Informationen zu den verfügbaren Features, die Sie zusammen mit Azure Key Vault entwickeln können, finden Sie unterWas ist Azure KI Services.
- Weitere Informationen zur sicheren Anwendungsentwicklung finden Sie unter: