Regionalen Endpunkt angeben

Speech-to-Text bietet regionale API-Endpunkte für die USA und EU. Wenn Sie einen regionalen Endpunkt verwenden, bleiben Ihre übertragenen und inaktiven Daten innerhalb der kontinentalen Grenzen von Europa oder den USA. Die Angabe eines Endpunkts ist wichtig, wenn der Standort Ihrer Daten lokalen gesetzlichen Anforderungen genügen muss. Das Verhalten der API bleibt unverändert.

Wenn Sie einen regionalen Endpunkt verwenden, müssen Sie den entsprechenden Standort us oder eu in den String parent aufnehmen. Weitere Informationen zum Konfigurieren des Anfragetexts für die Erkennung finden Sie in der Dokumentation zu RecognitionConfig.

Protokoll

Wenn Sie eine Spracherkennung mit einem regionalen Endpunkt ausführen möchten, führen Sie den entsprechenden Befehl in der folgenden Tabelle aus, um den richtigen Endpunkt zu konfigurieren:

Mehrere Regionen Endpunktüberschreibung
EU $ export CLOUD_SPEECH_ENDPOINT=https://eu-speech.googleapis.com
USA $ export CLOUD_SPEECH_ENDPOINT=https://us-speech.googleapis.com

Im folgenden Codebeispiel wird gezeigt, wie Sie ein recognize request senden, der alle Daten in einer angegebenen Region beschränkt. Sie können den regionalen Endpunkt EU oder US durch die Variable CLOUD_SPEECH_ENDPOINT ersetzen.


$ curl   -H "Content-Type: application/json"  \
         -H  "Authorization: Bearer "$(gcloud auth application-default print-access-token)   \
          $CLOUD_SPEECH_ENDPOINT/v1/speech:recognize \
         --data "{
        'config': {
            'encoding': 'LINEAR16',
            'languageCode': 'en-US'
        },
        'audio': {
            'uri':'gs://speech-samples-00/commercial_mono.wav'
        }
    }"

In diesem Beispiel wird das Zugriffstoken für ein Dienstkonto verwendet, das mit dem Cloud SDK von Google Cloud für das Projekt eingerichtet wurde. Wie Sie das Cloud SDK installieren, ein Projekt mit einem Dienstkonto einrichten und ein Zugriffstoken anfordern, können Sie in der Kurzanleitung nachlesen.

Der im Anfragetext bereitgestellte Audioinhalt ist base64-codiert. Weitere Informationen zur base64-Codierung erhalten Sie unter base64-Codierung von Audioinhalten. Weitere Informationen zum Feld content finden Sie unter RecognitionAudio.

gcloud

Mit den folgenden Befehlen wird ein regionaler Endpunkt festgelegt:

Mehrere Regionen Endpunktüberschreibung
EU gcloud config set api_endpoint_overrides/speech https://eu-speech.googleapis.com/
USA gcloud config set api_endpoint_overrides/speech https://us-speech.googleapis.com/

Nachdem Sie den regionalen Endpunkt festgelegt haben, werden alle Daten auf die angegebene Region beschränkt, wenn Sie nachfolgende recognize requests senden. Das folgende Beispiel zeigt eine Erkennungsanfrage.

$ gcloud ml speech recognize gs://cloud-samples-tests/speech/brooklyn.flac \
    --language-code=en-US --log-http

Python


# Imports the Google Cloud client library
from google.cloud import speech
from google.api_core import client_options

# Instantiates a client

# Pass an additional argument, ClientOptions, to specify the new endpoint.
client_options = client_options.ClientOptions(
    api_endpoint="eu-speech.googleapis.com"
)

client = speech.SpeechClient(client_options=client_options)

# The name of the audio file to transcribe
gcs_uri = "gs://cloud-samples-data/speech/brooklyn_bridge.raw"

audio = speech.RecognitionAudio(uri=gcs_uri)

config = speech.RecognitionConfig(
    encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
    sample_rate_hertz=16000,
    language_code="en-US",
)

# Detects speech in the audio file
response = client.recognize(config=config, audio=audio)

for result in response.results:
    print("Transcript: {}".format(result.alternatives[0].transcript))