Especificar um endpoint regional

O Speech-to-Text oferece endpoints de API regionais nos EUA e na UE. Se você usar um endpoint regional, os dados em trânsito e em repouso permanecerão dentro dos limites continental da Europa ou dos EUA. É necessário especificar um endpoint se a localização dos seus dados precisar ser controlada para obedecer aos requisitos regulamentares locais. Não há alteração funcional no comportamento da API.

Protocolo

Para realizar o reconhecimento de fala usando um endpoint regional, execute o comando aplicável na tabela abaixo para configurar o endpoint correto:

Multirregional Modificação do endpoint
UE $ export CLOUD_SPEECH_ENDPOINT=https://eu-speech.googleapis.com
EUA $ export CLOUD_SPEECH_ENDPOINT=https://us-speech.googleapis.com

Ao enviar uma solicitação recognize (abaixo), todos os dados ficarão restritos à região especificada.


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

Nele, é usado o token de acesso de uma conta de serviço configurada para o projeto usando o SDK do Cloud do Google Cloud. Consulte o guia de início rápido para ver instruções de como instalar o SDK do Cloud, configurar um projeto com uma conta de serviço e conseguir um token de acesso.

Consulte a documentação de referência RecognitionConfig para mais informações sobre como configurar o corpo da solicitação.

O conteúdo de áudio fornecido no corpo da solicitação está codificado em base64. Para mais informações sobre como codificar áudio em base64, consulte Como codificar conteúdo de áudio em Base64. Para mais informações sobre o campo content, consulte RecognitionAudio.

gcloud

Para realizar o reconhecimento de fala usando um endpoint regional, execute o comando aplicável na tabela abaixo para configurar o endpoint correto:

Multirregional Modificação do endpoint
UE gcloud config set api_endpoint_overrides/speech https://eu-speech.googleapis.com/
EUA gcloud config set api_endpoint_overrides/speech https://us-speech.googleapis.com/

Ao enviar uma solicitação recognize (abaixo), todos os dados ficarão restritos à região especificada.

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