Ereignisse
Erstellen von KI-Apps und Agents
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Mithilfe von Azure Private Link können Sie Verbindungen mit Diensten in Azure über einen privaten Endpunkt herstellen. Ein privater Endpunkt ist eine private IP-Adresse, die nur in einem bestimmten virtuellen Netzwerk und Subnetz zugänglich ist.
In diesem Artikel wird erläutert, wie Sie Private Link und private Endpunkte mit Speech-Diensten einrichten und verwenden. In diesem Artikel wird außerdem erläutert, wie Sie private Endpunkte später entfernen, aber die Speech-Ressource weiterverwenden.
Hinweis
Bevor Sie fortfahren, informieren Sie sich über die Verwendung von virtuellen Netzwerken mit Azure KI Services.
Für die Einrichtung einer KI Services-Ressource für Speech für Szenarien mit privaten Endpunkten sind folgende Aufgaben erforderlich:
Azure bietet private Endpunkte und VNet-Dienstendpunkte für das Tunneln von Datenverkehr mithilfe des privaten Azure-Backbone-Netzwerks. Der Zweck und die zugrunde liegenden Technologien dieser Endpunkttypen sind ähnlich. Es gibt jedoch Unterschiede zwischen den beiden Technologien. Es wird empfohlen, dass Sie sich vor dem Entwurf Ihres Netzwerks über die Vor- und Nachteile beider Technologien informieren.
Bei der Entscheidung, welche Technologie verwendet werden soll, müssen einige Punkte berücksichtigt werden:
Es wird empfohlen, beide Endpunkttypen zu testen, bevor Sie eine Entscheidung für Ihren Produktionsentwurf treffen.
Weitere Informationen finden Sie in den folgenden Ressourcen:
In diesem Artikel wird die Verwendung der privaten Endpunkte mit dem Speech-Dienst beschrieben. Die Verwendung der VNet-Dienstendpunkte wird hier beschrieben.
Achtung
Eine KI Services-Ressource für Speech mit aktiviertem benutzerdefinierten Domänennamen interagiert auf andere Weise mit Speech-Diensten. Sie müssen Ihren Anwendungscode für die beiden folgenden Szenarien anpassen: mit privatem Endpunkt und ohne privaten Endpunkt.
Führen Sie diese Schritte aus, um einen benutzerdefinierten Unterdomänennamen für Azure KI Services für Ihre Speech-Ressource zu erstellen.
Achtung
Wenn Sie einen benutzerdefinierten Domänennamen aktivieren, kann der Vorgang nicht rückgängig gemacht werden. Sie können den regionalen Namen nur wiederherstellen, indem Sie eine neue Speech-Ressource erstellen.
Wenn Ihrer Speech-Ressource viele benutzerdefinierte Modelle und Projekte zugeordnet sind, die über Speech Studio erstellt wurden, wird dringend empfohlen, die Konfiguration mit einer Testressource auszuprobieren und Produktionsressourcen erst im Anschluss zu bearbeiten.
Befolgen Sie diese Schritte, um einen benutzerdefinierten Domänennamen im Azure-Portal zu erstellen:
Navigieren Sie zum Azure-Portal, und melden Sie sich bei Ihrem Azure-Konto an.
Wählen Sie die erforderliche Speech-Ressource aus.
Wählen Sie in der Gruppe Ressourcenverwaltung im linken Bereich die Option Netzwerk aus.
Wählen Sie auf der Registerkarte Firewalls und virtuelle Netzwerke die Option Benutzerdefinierten Domänennamen generieren aus. Dadurch wird rechts ein Panel mit Anweisungen zum Erstellen einer eindeutigen benutzerdefinierten Unterdomäne für Ihre Ressource geöffnet.
Geben Sie im Bereich Benutzerdefinierten Domänennamen generieren einen benutzerdefinierten Domänennamen ein. Ihre vollständige benutzerdefinierte Domäne sieht wie https://{your custom name}.cognitiveservices.azure.com
aus.
Hinweis: Nachdem Sie einen benutzerdefinierten Domänennamen erstellt haben, kann dieser nicht mehr geändert werden.
Nachdem Sie Ihren benutzerdefinierten Domänennamen eingegeben haben, wählen Sie Speichern aus.
Nachdem der Vorgang abgeschlossen ist, wählen Sie in der Gruppe Ressourcenverwaltung die Option Schlüssel und Endpunkt aus. Vergewissern Sie sich, dass der neue Endpunktname Ihrer Ressource mit https://{your custom name}.cognitiveservices.azure.com
beginnt.
Es wird empfohlen, die an das virtuelle Netzwerk mit den erforderlichen Updates für die privaten Endpunkte angefügte private DNS-Zone zu verwenden. Eine private DNS-Zone wird beim Bereitstellungsprozess standardmäßig erstellt. Wenn Sie einen eigenen DNS-Server verwenden, müssen Sie möglicherweise auch die DNS-Konfiguration ändern.
Sie sollten sich für eine DNS-Strategie entscheiden, bevor Sie private Endpunkte für eine Speech-Produktionsressource bereitstellen. Testen Sie Ihre DNS-Änderungen insbesondere dann, wenn Sie einen eigenen DNS-Server verwenden.
Erstellen Sie mithilfe eines der folgenden Artikel private Endpunkte. In diesen Artikeln wird eine Webanwendung als Beispielressource verwendet, die mit privaten Endpunkten aktiviert werden soll.
Verwenden Sie diese Parameter anstelle der Parameter in dem Artikel, den Sie ausgewählt haben:
Einstellung | Wert |
---|---|
Ressourcentyp | Microsoft.CognitiveServices/accounts |
Resource | <your-speech-resource-name> |
Zielunterressource | Konto |
DNS für private Endpunkte: Sehen Sie sich die Grundprinzipien für DNS für private Endpunkte in Azure KI Services-Ressourcen an. Überprüfen Sie dann wie in den folgenden Abschnitten beschrieben, ob Ihre DNS-Konfiguration ordnungsgemäß funktioniert.
Diese Überprüfung ist erforderlich.
Befolgen Sie diese Schritte, um den benutzerdefinierten DNS-Eintrag über Ihr virtuelles Netzwerk zu testen:
Melden Sie sich bei einem virtuellen Computer an, der sich in dem virtuellen Netzwerk befindet, an das Sie Ihren privaten Endpunkt angefügt haben.
Öffnen Sie die Windows-Eingabeaufforderung oder die Bash-Shell, führen Sie nslookup
aus, und vergewissern Sie sich, dass der benutzerdefinierte Domänenname Ihrer Ressource erfolgreich aufgelöst wird.
C:\>nslookup my-private-link-speech.cognitiveservices.azure.com
Server: UnKnown
Address: 168.63.129.16
Non-authoritative answer:
Name: my-private-link-speech.privatelink.cognitiveservices.azure.com
Address: 172.28.0.10
Aliases: my-private-link-speech.cognitiveservices.azure.com
Überprüfen Sie, ob die IP-Adresse mit der IP-Adresse Ihres privaten Endpunkts übereinstimmt.
Nehmen Sie diese Überprüfung nur vor, wenn Sie die Option Alle Netzwerke oder die Zugriffsoption Ausgewählte Netzwerke und private Endpunkte im Abschnitt Netzwerk Ihrer Ressource aktiviert haben.
Wenn Sie nur über private Endpunkte auf die Ressource zugreifen, können Sie diesen Abschnitt überspringen.
Melden Sie sich bei einem Computer an, der an ein Netzwerk angefügt ist, das auf die Ressource zugreifen darf.
Öffnen Sie die Windows-Eingabeaufforderung oder die Bash-Shell, führen Sie nslookup
aus, und vergewissern Sie sich, dass der benutzerdefinierte Domänenname Ihrer Ressource erfolgreich aufgelöst wird.
C:\>nslookup my-private-link-speech.cognitiveservices.azure.com
Server: UnKnown
Address: fe80::1
Non-authoritative answer:
Name: vnetproxyv1-weu-prod.westeurope.cloudapp.azure.com
Address: 13.69.67.71
Aliases: my-private-link-speech.cognitiveservices.azure.com
my-private-link-speech.privatelink.cognitiveservices.azure.com
westeurope.prod.vnet.cog.trafficmanager.net
Hinweis
Die aufgelöste IP-Adresse verweist auf einen Proxyendpunkt eines virtuellen Netzwerks, der den Netzwerkdatenverkehr an den privaten Endpunkt für die Speech-Ressource sendet. Das Verhalten unterscheidet sich bei einer Ressource mit einem benutzerdefinierter Domänennamen aber ohne private Endpunkte. Details dazu finden Sie in diesem Abschnitt.
Eine KI Services-Ressource für Speech, die eine benutzerdefinierte Domäne verwendet, interagiert mit dem Speech-Dienst auf andere Weise. Das gilt für Speech-Ressourcen mit aktivierter benutzerdefinierter Domäne mit und ohne private Endpunkte. Die Informationen in diesem Abschnitt beziehen sich auf beide Szenarios.
Befolgen Sie die Anweisungen in diesem Abschnitt, um vorhandene Anwendungen und Lösungen für die Verwendung einer KI Services-Ressource für Speech mit einem benutzerdefinierten Domänennamen und einem aktivierten privaten Endpunkt anzupassen.
Eine KI Services-Ressource für Speech, für die ein benutzerdefinierter Domänennamen und ein privater Endpunkt aktiviert sind, interagiert mit Speech-Diensten auf andere Weise. In diesem Abschnitt wird erläutert, wie eine solche Ressource mit der REST-API des Speech-Dienstes und dem Speech-SDK verwendet wird.
Hinweis
Eine KI Services-Ressource für Speech ohne private Endpunkte, die einen benutzerdefinierten Domänennamen verwendet, interagiert ebenfalls auf besondere Weise mit Speech-Diensten. Diese unterscheidet sich vom Szenario einer KI Services-Ressource für Speech mit aktivierten privaten Endpunkten. Dies ist wichtig zu beachten, da Sie möglicherweise später private Endpunkte entfernen. Weitere Informationen finden Sie weiter unten in diesem Artikel unter Anpassen einer Anwendung zur Verwendung einer KI Services-Ressource für Speech ohne private Endpunkte.
In diesem Abschnitt wird my-private-link-speech.cognitiveservices.azure.com
als DNS-Beispielname (benutzerdefinierte Domäne) für die Speech-Ressource verwendet.
Der Speech-Dienst umfasst REST-APIs für Spracherkennung und Sprachsynthese. Bei Szenarios mit aktivierten privaten Endpunkten muss Folgendes berücksichtigt werden:
Für die Spracherkennung gibt es zwei REST-APIs. Jede API dient einem anderen Zweck, verwendet unterschiedliche Endpunkte und erfordert einen anderen Ansatz, wenn sie in einem Szenario mit aktivierten privaten Endpunkten verwendet wird.
Die Spracherkennung-REST-APIs sind:
Die Verwendung der Spracherkennung-REST-API für kurze Audiodaten und der Sprachsynthese-REST-API ist im Szenario mit privaten Endpunkten identisch. Sie entspricht dem Speech-SDK-Ansatz, der im Verlauf dieses Artikels erläutert wird.
Die Spracherkennung-REST-API verwendet eine andere Gruppe von Endpunkten und erfordert daher einen anderen Ansatz für das Szenario mit aktivierten privaten Endpunkten.
In den nächsten Unterabschnitten werden beide Fälle erläutert.
Speech-Ressourcen verwenden normalerweise regionale Azure KI Services-Endpunkte für die Kommunikation mit der Spracherkennungs-REST-API. Für diese Ressourcen gilt das folgende Benennungsformat:
{region}.api.cognitive.microsoft.com
.
Hier sehen Sie ein Beispiel für eine Anforderungs-URL:
https://westeurope.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions
Hinweis
Informationen zu Azure Government- und Microsoft Azure-Endpunkten, betrieben von 21Vianet, finden Sie in diesem Artikel.
Nachdem Sie eine benutzerdefinierte Domäne für eine KI Services-Ressource für Speech aktiviert haben (für private Endpunkte erforderlich), verwendet diese das folgende DNS-Namensmuster für den grundlegenden REST-API-Endpunkt:
{your custom name}.cognitiveservices.azure.com
In diesem Beispiel lautet der Name des REST-API-Endpunkts daher:
my-private-link-speech.cognitiveservices.azure.com
Die Anforderungs-URL aus dem Beispiel muss in folgendes Format konvertiert werden:
https://my-private-link-speech.cognitiveservices.azure.com/speechtotext/v3.1/transcriptions
Diese URL sollte (bei korrekter DNS-Auflösung) von dem virtuellen Netzwerk aus erreichbar sein, dem der private Endpunkt angefügt ist.
Nach dem Aktivieren des benutzerdefinierten Domänennamens für eine KI Services-Ressource für Speech ersetzen Sie in der Regel den Hostnamen in allen Anforderungs-URLs durch den neuen Hostnamen der benutzerdefinierten Domäne. Die restlichen Bestandteile der Anforderung (wie der Pfad /speechtotext/v3.1/transcriptions
im obigen Beispiel) bleiben unverändert.
Tipp
Einige Kunden entwickeln Anwendungen, die die Region des DNS-Namens des regionalen Endpunkts verwenden, um beispielsweise eine Anforderung an die Speech-Ressource zu senden, die in der jeweiligen Azure-Region bereitgestellt wurde.
Der benutzerdefinierte Domänenname einer KI Services-Ressource für Speech enthält keine Informationen zu der Region, in der die Ressource bereitgestellt wird. Die oben beschriebene Anwendungslogik funktioniert also nicht und muss abgeändert werden.
Die Spracherkennung-REST-API für kurze Audiodaten und die Sprachsynthese-REST-API verwenden zwei Arten von Endpunkten:
Hinweis
Informationen zu Azure Government- und Azure-Endpunkten, betrieben von 21Vianet, finden Sie in diesem Artikel.
Eine ausführliche Beschreibung dieser speziellen Endpunkte und Informationen zur Transformation der URL für eine Speech-Ressource mit aktivierten privaten Endpunkten finden Sie in diesem Unterabschnitt zur Verwendung mit dem Speech-SDK. Das gleiche für das SDK beschriebene Prinzip gilt auch für die Spracherkennung-REST-API für kurze Audiodaten und die Sprachsynthese-REST-API.
Lesen Sie das Material im entsprechenden Unterabschnitt im vorherigen Absatz, und sehen Sie sich dann das folgende Beispiel an. In diesem Beispiel wird die Sprachsynthese-REST-API beschrieben. Die Verwendung der Spracherkennung-REST-API für kurze Audiodaten ist identisch.
Hinweis
Wenn Sie die Spracherkennung-REST-API für kurze Audiodaten und die Sprachsynthese-REST-API in Szenarien mit privaten Endpunkten verwenden, nutzen Sie einen Ressourcenschlüssel, der über den Ocp-Apim-Subscription-Key
-Header übergeben wird. (Weitere Informationen finden Sie unter Spracherkennung-REST-API für kurze Audiodaten und Sprachsynthese-REST-API)
Das Verwenden eines Autorisierungstokens und dessen Übergabe an den speziellen Endpunkt über den Authorization
-Header funktioniert nur, wenn Sie die Zugriffsoption Alle Netzwerke im Abschnitt Netzwerk Ihrer Speech-Ressource aktiviert haben. In anderen Fällen erhalten Sie entweder den Fehler Forbidden
oder BadRequest
, wenn Sie versuchen, ein Autorisierungstoken abzurufen.
Verwendungsbeispiel für die Sprachsynthese-REST-API
In diesem Beispiel wird „Europa, Westen“ als Azure-Region und my-private-link-speech.cognitiveservices.azure.com
als DNS-Name der Speech-Ressource (benutzerdefinierte Domäne) verwendet. Der benutzerdefinierte Domänenname my-private-link-speech.cognitiveservices.azure.com
in diesem Beispiel gehört zu der Ressource, die in der Region „Europa, Westen“ erstellt wurde.
Führen Sie die folgende Anforderung durch, um die Liste der unterstützten Stimmen für die Region abzurufen:
https://westeurope.tts.speech.microsoft.com/cognitiveservices/voices/list
Weitere Informationen finden Sie in der Dokumentation zur Sprachsynthese-REST-API.
Für Speech-Ressourcen mit aktivierten privaten Endpunkten muss die Endpunkt-URL für denselben Vorgang geändert werden. Die gleiche Anforderung sieht wie folgt aus:
https://my-private-link-speech.cognitiveservices.azure.com/tts/cognitiveservices/voices/list
Eine ausführliche Erläuterung finden Sie im Unterabschnitt Erstellen der Endpunkt-URL für das Speech SDK.
Für die Verwendung des Speech-SDK mit Speech-Ressourcen, für die benutzerdefinierte Domänennamen und private Endpunkte aktiviert sind, sind höchstwahrscheinlich ein Review und Änderungen an Ihrem Anwendungscode notwendig.
In diesem Abschnitt wird my-private-link-speech.cognitiveservices.azure.com
als DNS-Beispielname (benutzerdefinierte Domäne) für die Speech-Ressource verwendet.
In SDK-Szenarien (und Szenarien mit der Spracherkennungs-REST-API für kurze Audiospuren und der Sprachsynthese-REST-API) verwenden Speech-Ressourcen in der Regel die dedizierten regionalen Endpunkte für verschiedene Dienstangebote. Das DNS-Namensformat für diese Endpunkte lautet:
{region}.{speech service offering}.speech.microsoft.com
Ein DNS-Name kann beispielsweise folgendermaßen lauten:
westeurope.stt.speech.microsoft.com
Die möglichen Werte für die Region (erstes Element des DNS-Namens) werden hier aufgeführt. (In diesem Artikel finden Sie Informationen zu Azure Government- und Azure-Endpunkten, betrieben von 21Vianet.) Die folgende Tabelle enthält die möglichen Werte für das jeweilige Speech-Dienstangebot (zweites Element des DNS-Namens):
DNS-Namenswert | Speech-Angebot |
---|---|
commands |
Benutzerdefinierte Befehle |
convai |
Besprechungstranskription |
s2s |
Sprachübersetzung |
stt |
Spracherkennung |
tts |
Sprachsynthese |
voice |
Custom Voice |
Das obige Beispiel (westeurope.stt.speech.microsoft.com
) steht also für den Spracherkennungsendpunkt in der Region „Europa, Westen“.
Für private Endpunkte aktivierte Endpunkte kommunizieren mit dem Speech-Dienst über einen speziellen Proxy. Daher müssen Sie die Endpunktverbindungs-URLs ändern.
Eine URL für einen „Standardendpunkt“ sieht wie folgt aus:
{region}.{speech service offering}.speech.microsoft.com/{URL path}
.
Eine URL für einen privaten Endpunkt sieht wie folgt aus:
{your custom name}.cognitiveservices.azure.com/{speech service offering}/{URL path}
.
Beispiel 1: Eine Anwendung kommuniziert mithilfe der folgenden URL (Spracherkennung mit Basismodell für Englisch (USA) in „Europa, Westen“):
wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Damit Sie die URL in einem Szenario mit aktivierten privaten Endpunkten verwenden können, in dem der benutzerdefinierte Domänenname der Speech-Ressource my-private-link-speech.cognitiveservices.azure.com
lautet, müssen Sie die URL folgendermaßen anpassen:
wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Beachten Sie die folgenden Details:
westeurope.stt.speech.microsoft.com
) wird durch den Hostnamen der benutzerdefinierten Domäne (my-private-link-speech.cognitiveservices.azure.com
) ersetzt.stt
) wird zum ersten Element des URL-Pfads und steht vor dem ursprünglichen Pfad. Die ursprüngliche URL /speech/recognition/conversation/cognitiveservices/v1?language=en-US
wird folglich zu /stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
.Beispiel 2: Eine Anwendung verwendet die folgende URL für die Sprachsynthese in der Region „Europa, Westen“:
wss://westeurope.tts.speech.microsoft.com/cognitiveservices/websocket/v1
Im Folgenden ist eine entsprechende URL mit einem privaten Endpunkt aufgeführt, bei der der benutzerdefinierte Domänenname der Speech-Ressource my-private-link-speech.cognitiveservices.azure.com
lautet:
wss://my-private-link-speech.cognitiveservices.azure.com/tts/cognitiveservices/websocket/v1
Es wird das gleiche Prinzip wie im ersten Beispiel angewendet, doch das zentrale Element ist dieses Mal tts
.
Führen Sie die folgenden Schritte aus, um Ihren Code zu ändern:
Bestimmen Sie die Anwendungsendpunkt-URL:
SPEECH-ConnectionUrl
. Der Parameter value
in den entsprechenden Zeilen enthält die vollständige URL, die Ihre Anwendung verwendet hat, um den Speech-Dienst zu erreichen.Beispiel:
(114917): 41ms SPX_DBG_TRACE_VERBOSE: property_bag_impl.cpp:138 ISpxPropertyBagImpl::LogPropertyAndValue: this=0x0000028FE4809D78; name='SPEECH-ConnectionUrl'; value='wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?traffictype=spx&language=en-US'
Die Anwendung hat in diesem Beispiel also die folgende URL verwendet:
wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Erstellen Sie eine SpeechConfig
-Instanz, indem Sie eine vollständige Endpunkt-URL verwenden:
Ändern Sie den festgelegten Endpunkt wie im Abschnitt Erstellen der Endpunkt-URL beschrieben.
Passen Sie die Erstellung der SpeechConfig
-Instanz an. Ihre Anwendung enthält wahrscheinlich eine Zeile, die der folgenden ähnelt:
var config = SpeechConfig.FromSubscription(speechKey, azureRegion);
Dieses Beispiel funktioniert für Speech-Ressourcen mit aktivierten privaten Endpunkten nicht, weil sich der Hostname und die URL wie in den vorherigen Abschnitten beschrieben ändern. Wenn Sie Ihre vorhandene Anwendung ohne Änderungen mit dem Schlüssel der Ressource mit aktivierten privaten Endpunkten verwenden, tritt ein Authentifizierungsfehler (401) auf.
Damit dies funktioniert, müssen Sie die Instanziierung der SpeechConfig
-Klasse ändern und die Initialisierung mit FromEndpoint oder WithEndpoint verwenden. Nehmen Sie an, dass die folgenden beiden Variablen definiert sind:
speechKey
enthält den Schlüssel der Speech-Ressource, für die private Endpunkte aktiviert sind.endPoint
enthält die vollständige, geänderte Endpunkt-URL (mit dem Typ, der in der entsprechenden Programmiersprache erforderlich ist). In diesem Beispiel sollte die Variable den folgenden Inhalt aufweisen: wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Erstellen Sie eine SpeechConfig
-Instanz:
var config = SpeechConfig.FromEndpoint(endPoint, speechKey);
auto config = SpeechConfig::FromEndpoint(endPoint, speechKey);
SpeechConfig config = SpeechConfig.fromEndpoint(endPoint, speechKey);
import azure.cognitiveservices.speech as speechsdk
config = speechsdk.SpeechConfig(endpoint=endPoint, subscription=speechKey)
SPXSpeechConfiguration *config = [[SPXSpeechConfiguration alloc] initWithEndpoint:endPoint subscription:speechKey];
import * as sdk from "microsoft.cognitiveservices.speech.sdk";
config: sdk.SpeechConfig = sdk.SpeechConfig.fromEndpoint(new URL(endPoint), speechKey);
Tipp
Die Abfrageparameter im Endpunkt-URI werden nicht geändert – auch dann nicht, wenn sie von anderen APIs festgelegt wurden. Wenn die Erkennungssprache z. B. im URI als Abfrageparameter language=en-US
definiert ist, über die entsprechende Eigenschaft aber auf ru-RU
festgelegt ist, wird die Spracheinstellung im URI verwendet. Die tatsächlich verwendete Sprache ist also en-US
.
Im Endpunkt-URI festgelegte Parameter haben immer Vorrang. Nur Parameter, die nicht im Endpunkt-URI angegeben sind, können von anderen APIs überschrieben werden.
Nachdem Sie diese Änderung vorgenommen haben, sollte Ihre Anwendung mit Speech-Ressourcen mit aktivierten privaten Endpunkten kompatibel sein. Eine nahtlosere Unterstützung für Szenarios mit privaten Endpunkten ist in Arbeit.
Speech Studio ist ein Webportal mit Tools zum Erstellen und Integrieren des Azure KI Speech-Diensts in Ihrer Anwendung. Wenn Sie in Speech Studio-Projekten arbeiten, werden Netzwerkverbindungen und API-Aufrufe an die entsprechende Speech-Ressource in Ihrem Namen durchgeführt. Die Arbeit mit privaten Endpunkten, VNET-Dienstendpunkten und anderen Netzwerksicherheitsoptionen kann die Verfügbarkeit von Speech Studio-Features einschränken. Normalerweise verwenden Sie Speech Studio, wenn Sie mit Features wie Custom Speech, Benutzerdefinierte neuronale Stimme und Audioinhaltserstellung arbeiten.
Um Speech Studio von einem virtuellen Computer in einem virtuellen Azure-Netzwerk aus zu verwenden, müssen Sie ausgehende Verbindungen mit den erforderlichen Diensttags für dieses virtuelle Netzwerk zulassen. Ausführlichere Informationen finden Sie hier.
Der Zugriff auf den Speech-Ressourcenendpunkt entspricht nicht dem Zugriff auf das Speech Studio-Webportal. Der Zugriff auf das Speech Studio-Webportal über private oder VNET-Dienstendpunkte wird nicht unterstützt.
In diesem Abschnitt wird die Arbeit mit den verschiedenen Arten von Speech Studio-Projekten für die verschiedenen Sicherheitsoptionen der Speech-Ressource beschrieben. Es wird vorausgesetzt, dass die Webbrowserverbindung zu Speech Studio hergestellt ist. Die Netzwerksicherheitseinstellungen für Speech-Ressourcen werden im Azure-Portal festgelegt.
Die folgende Tabelle beschreibt die Barrierefreiheit pro Speech-Ressource des Custom Speech/Custom Voice/Audioinhaltserstellung-Projekts für die Sicherheitseinstellung Netzwerk>Firewalls und virtuelle Netzwerke.
Hinweis
Wenn Sie nur private Endpunkte über die Registerkarte Netzwerk>Verbindungen mit privatem Endpunkt erlauben, können Sie Speech Studio nicht mit der Speech-Ressource verwenden. Sie können die Speech-Ressource weiterhin außerhalb von Speech Studio verwenden.
Netzwerksicherheitseinstellung der Speech-Ressource | Barrierefreiheit des Speech Studio-Projekts |
---|---|
Alle Netzwerke | Keine Einschränkungen |
Ausgewählte Netzwerke und private Endpunkte | Zugriff über zulässige öffentliche IP-Adressen möglich |
Deaktiviert | Nicht zugänglich |
Wenn Sie Ausgewählte Netzwerke und private Endpunkte auswählen, wird die Registerkarte mit Optionen zur Zugriffskonfiguration für Virtuelle Netzwerke und die Firewall angezeigt. Im Abschnitt Firewall müssen Sie mindestens eine öffentliche IP-Adresse erlauben und diese Adresse für die Browserverbindung mit Speech Studio verwenden.
Wenn Sie den Zugriff nur über ein virtuelles Netzwerk zulassen, erlauben Sie tatsächlich keinen Zugriff auf die Speech-Ressource über Speech Studio. Sie können die Speech-Ressource weiterhin außerhalb von Speech Studio verwenden.
Um das Feature „Custom Speech“ zu verwenden, ohne die Netzwerkzugriffseinschränkungen für Ihre Speech-Produktionsressource zu lockern, sollten Sie eine dieser Problemumgehungen in Betracht ziehen.
Wenn Sie Custom Voice verwenden möchten, ohne Netzwerkzugriffseinschränkungen für Ihre Produktions-Speech-Ressource zu lockern, sollten Sie die Custom Voice-REST-API für alle Custom Voice-Vorgänge verwenden.
In diesem Artikel wurde bereits mehrfach angemerkt, dass die Aktivierung einer benutzerdefinierten Domäne für eine KI Services-Ressource für Speech nicht rückgängig gemacht werden kann. Eine solche Ressource kommuniziert auf andere Weise mit dem Speech-Dienst als Ressourcen mit regionalen Endpunktnamen.
In diesem Abschnitt wird erläutert, wie Sie eine KI Services-Ressource für Speech mit einem benutzerdefinierten Domänennamen, aber ohne private Endpunkte, mit den REST-APIs des Speech-Dienstes und dem Speech-SDK verwenden. Dabei kann es sich um eine Ressource handeln, die in einem Szenario mit privaten Endpunkten eingesetzt wurde, deren private Endpunkte jedoch gelöscht wurden.
Rufen Sie sich ins Gedächtnis, wie der DNS-Name einer benutzerdefinierten Domäne der Speech-Ressource mit aktivierten privaten Endpunkten über öffentliche Netzwerke aufgelöst wird. In diesem Fall verweist die aufgelöste IP-Adresse auf einen Proxyendpunkt für ein virtuelles Netzwerk. Dieser Endpunkt wird zum Weiterleiten des Netzwerkdatenverkehrs an die Azure KI Services-Ressource verwendet, für die private Endpunkte aktiviert sind.
Wenn alle privaten Endpunkte einer Ressource entfernt werden (bzw. direkt nach der Aktivierung des benutzerdefinierten Domänennamens), wird der CNAME-Eintrag der Speech-Ressource erneut bereitgestellt. Dieser verweist nun auf die IP-Adresse des zugehörigen regionalen Azure KI Services-Endpunkts.
Die Ausgabe des nslookup
-Befehls sieht daher wie folgt aus:
C:\>nslookup my-private-link-speech.cognitiveservices.azure.com
Server: UnKnown
Address: fe80::1
Non-authoritative answer:
Name: apimgmthskquihpkz6d90kmhvnabrx3ms3pdubscpdfk1tsx3a.cloudapp.net
Address: 13.93.122.1
Aliases: my-private-link-speech.cognitiveservices.azure.com
westeurope.api.cognitive.microsoft.com
cognitiveweprod.trafficmanager.net
cognitiveweprod.azure-api.net
apimgmttmdjylckcx6clmh2isu2wr38uqzm63s8n4ub2y3e6xs.trafficmanager.net
cognitiveweprod-westeurope-01.regional.azure-api.net
Vergleichen Sie diese mit der Ausgabe in diesem Abschnitt.
Die Verwendung der Spracherkennung-REST-API ist völlig gleichwertig mit der Verwendung von Speech-Ressourcen mit aktivierten privaten Endpunkten.
In diesem Fall unterscheiden sich die Verwendung der Spracherkennung-REST API für kurze Audiodaten und die Verwendung der Sprachsynthese-REST API nicht vom allgemeinen Fall, mit einer Ausnahme. (Beachten Sie den folgenden Hinweis.) Sie sollten beide APIs wie in den Dokumentationen Spracherkennung-REST-API für kurze Audiodaten und Sprachsynthese-REST-API beschrieben verwenden.
Hinweis
Wenn Sie die Spracherkennungs-REST-API für kurze Audiodaten und die Sprachsynthese-REST-API in Szenarien mit benutzerdefinierten Domänen verwenden, nutzen Sie einen API-Schlüssel, der über den Ocp-Apim-Subscription-Key
-Header übergeben wird. (Weitere Informationen finden Sie unter Spracherkennung-REST-API für kurze Audiodaten und Sprachsynthese-REST-API)
Das Verwenden eines Autorisierungstokens und dessen Übergabe an den speziellen Endpunkt über den Authorization
-Header funktioniert nur, wenn Sie die Zugriffsoption Alle Netzwerke im Abschnitt Netzwerk Ihrer Speech-Ressource aktiviert haben. In anderen Fällen erhalten Sie entweder den Fehler Forbidden
oder BadRequest
, wenn Sie versuchen, ein Autorisierungstoken abzurufen.
Die Verwendung des Speech SDK mit Speech-Ressourcen mit aktivierter benutzerdefinierter Domäne ohne private Endpunkte entspricht dem allgemeinen Fall, wie er in der Dokumentation zum Speech SDK beschrieben ist.
Falls Sie Ihren Code geändert haben, um ihn mit einer Speech-Ressource mit aktiviertem privaten Endpunkt zu verwenden, beachten Sie Folgendes.
Im Abschnitt zu Speech-Ressourcen mit aktivierten privaten Endpunkten wurde erläutert, wie die Endpunkt-URL bestimmt, geändert und über die Initialisierungen FromEndpoint und WithEndpoint der Klasseninstanz SpeechConfig
funktionsfähig gemacht werden kann.
Wenn Sie diese Anwendung jedoch ausführen, nachdem alle privaten Endpunkte entfernt wurden (mit etwas Zeit für die erneute Bereitstellung des entsprechenden DNS-Eintrags), tritt ein interner Dienstfehler (404) auf. Das liegt daran, dass der DNS-Eintrag jetzt auf den regionalen Azure KI Services-Endpunkt anstatt auf den Proxy des virtuellen Netzwerks verweist. Dort werden URL-Pfade wie /stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
nicht gefunden.
Sie müssen ein Rollback Ihrer Anwendung auf die Standardinstanziierung von SpeechConfig
im Stil des folgenden Codes ausführen:
var config = SpeechConfig.FromSubscription(speechKey, azureRegion);
Sie können private Endpunkte und VNET-Dienstendpunkte für den gleichzeitigen Zugriff auf dieselbe Speech-Ressource verwenden. Für die gleichzeitige Verwendung nutzen Sie die Option Ausgewählte Netzwerke und private Endpunkte in den Netzwerkeinstellungen der Speech-Ressource im Azure-Portal. Andere Optionen werden für dieses Szenario nicht unterstützt.
Ausführliche Preisinformationen finden Sie unter Azure Private Link – Preise.
Ereignisse
Erstellen von KI-Apps und Agents
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenTraining
Lernpfad
Konfigurieren des sicheren Zugriffs auf Ihre Workloads mithilfe virtueller Azure-Netzwerke (AZ-1002)
Dokumentation
Verwenden von VNet-Dienstendpunkten mit dem Speech-Dienst - Azure AI services
In diesem Artikel wird beschrieben, wie Sie den Speech-Dienst mit einem Azure-VNet-Dienstendpunkt verwenden.
Sovereign Clouds: Speech-Dienst - Azure AI services
Erfahren Sie, wie Sie Sovereign Clouds verwenden.
Speech-Dienst – Kontingente und Grenzwerte - Azure AI services
Kurzübersicht, ausführliche Beschreibung und bewährte Methoden zu den Kontingenten und Grenzwerten für den Speech-Dienst in Azure KI Services.