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 us- oder eu-Standort in den parent-String aufnehmen. Weitere Informationen zum Konfigurieren des Texts der Erkennungsanfrage finden Sie in der RecognitionConfig-Dokumentation.

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, das alle Daten auf eine bestimmte Region beschränkt. Sie können den regionalen EU- oder US-Endpunkt durch die CLOUD_SPEECH_ENDPOINT-Variable 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 Google Cloud CLI für das Projekt eingerichtet wurde. Anleitungen zur Installation der gcloud CLI, zur Einrichtung eines Dienstkontos für ein Projekt und zur Anforderung eines Zugriffstokens finden Sie in der Kurzanleitung.

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 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))