Especificar um endpoint regional

A Speech-to-Text oferece endpoints de API regionais dos EUA e da UE. Se você usar um endpoint regional, os dados em trânsito e em repouso permanecerão dentro dos limites continentais da Europa ou dos EUA. Especificar um endpoint é importante se o local dos dados precisar ser controlado para cumprir os 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

Quando você envia uma solicitação recognize (abaixo), todos os dados são limitados à 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 que usa o SDK do Cloud do Google Cloud. Consulte o Guia de início rápido para 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/

Quando você envia uma solicitação recognize (abaixo), todos os dados são limitados à 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))