Especifique um ponto final regional

O Speech-to-Text oferece pontos finais da API regionais dos EUA e da UE. Se usar um ponto final regional, os seus dados em repouso e em utilização permanecem dentro dos limites continentais da Europa ou dos EUA. A especificação de um ponto final é importante se a localização dos seus dados tiver de ser controlada para estar em conformidade com os requisitos regulamentares locais. Não existe nenhuma alteração funcional ao comportamento da API.

Use pontos finais regionais

Quando usa um ponto final regional, certifique-se de que inclui a localização us ou eu correspondente na string parent. Consulte a RecognitionConfig documentação para mais informações sobre a configuração do corpo do pedido de reconhecimento.

Protocolo

Para realizar o reconhecimento de voz através de um ponto final regional, execute o comando aplicável na tabela abaixo para configurar o ponto final correto:

Multirregião Substituição do ponto final
UE $ export CLOUD_SPEECH_ENDPOINT=https://eu-speech.googleapis.com
EUA $ export CLOUD_SPEECH_ENDPOINT=https://us-speech.googleapis.com

O exemplo de código seguinte demonstra como enviar um recognize request que mantém todos os dados confinados a uma região especificada. Pode substituir o ponto final regional EU ou US pela variável CLOUD_SPEECH_ENDPOINT.

$ curl   -H "Content-Type: application/json"  \
         -H  "Authorization: Bearer "$(gcloud auth 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'
        }
    }"

Este exemplo usa a CLI Google Cloud para gerar credenciais para a sua conta de utilizador. Para saber como instalar e inicializar a CLI gcloud, consulte o início rápido.

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

gcloud

Os seguintes comandos definem um ponto final regional:

Multirregião Substituição do ponto final
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/

Depois de definir o ponto final regional, todos os dados ficam confinados à região especificada quando envia recognize requests subsequentes. O exemplo seguinte demonstra um pedido de reconhecimento.

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

Python

Para saber como instalar e usar a biblioteca cliente do Speech-to-Text, consulte o artigo Bibliotecas cliente do Speech-to-Text. Para mais informações, consulte a documentação de referência da API Python Speech-to-Text.

Para se autenticar no Speech-to-Text, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


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


def sync_recognize_with_multi_region_gcs() -> speech.RecognizeResponse:
    """Recognizes speech synchronously in the GCS bucket."""

    # 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(f"Transcript: {result.alternatives[0].transcript}")

    return response.results

Restrinja a utilização do ponto final da API global

Para ajudar a aplicar a utilização de pontos finais regionais, use a restrição da política da organização constraints/gcp.restrictEndpointUsage para bloquear pedidos ao ponto final da API global. Para mais informações, consulte o artigo Restringir a utilização de pontos finais.