Spécifier un point de terminaison régional

Speech-to-Text propose des points de terminaison d'API régionaux aux États-Unis et dans l'UE. Si vous utilisez un point de terminaison régional, vos données en transit et au repos resteront dans les limites continentales de l'Europe ou des États-Unis. La spécification d'un point de terminaison est importante si l'emplacement de vos données doit être contrôlé afin de respecter les exigences réglementaires locales. Il n'y a aucune modification fonctionnelle du comportement de l'API.

Lorsque vous utilisez un point de terminaison régional, assurez-vous d'inclure l'emplacement us ou eu correspondant dans la chaîne parent. Pour en savoir plus sur la configuration du corps de la requête de reconnaissance, consultez la documentation sur RecognitionConfig.

Protocole

Pour effectuer une reconnaissance vocale à l'aide d'un point de terminaison régional, exécutez la commande applicable décrite dans le tableau ci-dessous afin de configurer le point de terminaison approprié :

Multirégional Remplacement de point de terminaison
UE $ export CLOUD_SPEECH_ENDPOINT=https://eu-speech.googleapis.com
États-Unis $ export CLOUD_SPEECH_ENDPOINT=https://us-speech.googleapis.com

L'exemple de code suivant montre comment envoyer une requête de reconnaissance recognize request qui conserve toutes les données confinées dans une région spécifiée. Vous pouvez remplacer le point de terminaison régional EU ou US par la variable CLOUD_SPEECH_ENDPOINT.


$ 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'
        }
    }"

Cet exemple fait intervenir un jeton d'accès associé à un compte de service configuré pour le projet à l'aide de Google Cloud CLI. Pour obtenir des instructions sur l'installation de la CLI gcloud, la configuration d'un projet avec un compte de service et l'obtention d'un jeton d'accès, consultez le guide de démarrage rapide.

Le contenu audio fourni dans le corps de la requête est encodé en base64. Pour obtenir plus d'informations sur l'encodage de contenus audio en base64, consultez la page Encoder du contenu audio en base64. Pour en savoir plus sur le champ content, consultez la documentation sur RecognitionAudio.

gcloud

Les commandes suivantes définissent un point de terminaison régional :

Multirégional Remplacement de point de terminaison
UE gcloud config set api_endpoint_overrides/speech https://eu-speech.googleapis.com/
États-Unis gcloud config set api_endpoint_overrides/speech https://us-speech.googleapis.com/

Une fois que vous avez défini le point de terminaison régional, toutes les données sont limitées à la région spécifiée lorsque vous envoyez des requêtes recognize requests. L'exemple suivant illustre une requête de reconnaissance.

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