Menentukan endpoint regional

Speech-to-Text menawarkan endpoint API regional AS dan Uni Eropa. Jika Anda menggunakan endpoint regional, data dalam penyimpanan dan yang sedang digunakan akan tetap berada dalam batas benua Eropa atau AS. Menentukan endpoint penting jika lokasi data Anda harus dikontrol untuk mematuhi persyaratan peraturan setempat. Tidak ada perubahan fungsional pada perilaku API.

Saat Anda menggunakan endpoint regional, pastikan untuk menyertakan lokasi us atau eu yang cocok dalam string parent. Lihat dokumentasi RecognitionConfig untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi isi permintaan pengenalan.

Protocol

Untuk melakukan pengenalan ucapan menggunakan endpoint regional, jalankan perintah yang berlaku pada tabel di bawah untuk mengonfigurasi endpoint yang benar:

Multi-region Penggantian endpoint
Uni Eropa - EU $ export CLOUD_SPEECH_ENDPOINT=https://eu-speech.googleapis.com
AS $ export CLOUD_SPEECH_ENDPOINT=https://us-speech.googleapis.com

Contoh kode berikut menunjukkan cara mengirim recognize request yang menyimpan semua data hanya untuk region yang ditentukan. Anda dapat mengganti endpoint regional EU atau US untuk variabel 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'
        }
    }"

Contoh ini menggunakan Google Cloud CLI untuk membuat kredensial untuk akun pengguna Anda. Untuk mempelajari cara menginstal dan menginisialisasi gcloud CLI, lihat quickstart.

Konten audio yang disediakan dalam isi permintaan berenkode base64. Untuk informasi selengkapnya tentang cara mengenkode audio dengan base64, lihat Mengenkode Konten Audio Base64. Untuk mengetahui informasi selengkapnya tentang kolom content, lihat RecognitionAudio.

gcloud

Perintah berikut menetapkan endpoint regional:

Multi-region Penggantian endpoint
Uni Eropa - EU gcloud config set api_endpoint_overrides/speech https://eu-speech.googleapis.com/
AS gcloud config set api_endpoint_overrides/speech https://us-speech.googleapis.com/

Setelah Anda menetapkan endpoint regional, semua data akan dibatasi ke region yang ditentukan saat Anda mengirim recognize requests berikutnya. Contoh berikut menunjukkan permintaan pengenalan.

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

Python

Untuk mempelajari cara menginstal dan menggunakan library klien untuk Speech-to-Text, lihat library klien Speech-to-Text. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Speech-to-Text.

Untuk mengautentikasi ke Speech-to-Text, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.


# 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