נקודות קצה אזוריות נתמכות

‫Cloud Speech-to-Text מציע נקודות קצה אזוריות של API בארה"ב ובאיחוד האירופי. אם משתמשים בנקודת קצה אזורית, הנתונים באחסון ובשימוש יישארו בתוך הגבולות היבשתיים של אירופה או ארה"ב. חשוב לציין נקודת קצה אם אתם צריכים לשלוט במיקום הנתונים כדי לעמוד בדרישות רגולטוריות מקומיות. אין שינוי פונקציונלי בהתנהגות של ה-API.

שימוש בנקודות קצה אזוריות

כשמשתמשים בנקודת קצה אזורית, חשוב לכלול את המיקום התואם us או eu במחרוזת parent. מידע נוסף על הגדרת גוף הבקשה לזיהוי מופיע בתיעוד של RecognitionConfig.

פרוטוקול

כדי לבצע זיהוי דיבור באמצעות נקודת קצה אזורית, מריצים את הפקודה הרלוונטית בטבלה שלמטה כדי להגדיר את נקודת הקצה הנכונה:

במספר אזורים שינוי נקודת הקצה
האיחוד האירופי $ export CLOUD_SPEECH_ENDPOINT=https://eu-speech.googleapis.com
ארה"ב $ export CLOUD_SPEECH_ENDPOINT=https://us-speech.googleapis.com

בדוגמת הקוד הבאה אפשר לראות איך לשלוח בקשת recognize request שבה כל הנתונים מוגבלים לאזור מסוים. אפשר להשתמש בנקודת הקצה האזורית EU או US במקום המשתנה 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'
        }
    }"

בדוגמה הזו נעשה שימוש ב-Google Cloud CLI כדי ליצור פרטי כניסה לחשבון המשתמש. במדריך למתחילים מוסבר איך להתקין ולהפעיל את ה-CLI של gcloud.

תוכן האודיו שמועבר בגוף הבקשה הוא בקידוד Base64. למידע נוסף על קידוד אודיו ב-Base64, אפשר לעיין במאמר בנושא קידוד תוכן אודיו ב-Base64. מידע נוסף על השדה content זמין במאמר RecognitionAudio.

gcloud

הפקודות הבאות מגדירות נקודת קצה אזורית:

במספר אזורים שינוי נקודת הקצה
האיחוד האירופי gcloud config set api_endpoint_overrides/speech https://eu-speech.googleapis.com/
ארה"ב gcloud config set api_endpoint_overrides/speech https://us-speech.googleapis.com/

אחרי שמגדירים את נקודת הקצה האזורית, כל הנתונים מוגבלים לאזור שצוין כששולחים recognize requests בהמשך. בדוגמה הבאה מוצגת בקשת זיהוי.

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

Python

מידע על התקנה ושימוש בספריית הלקוח של Cloud STT מופיע במאמר ספריות הלקוח של Cloud STT. מידע נוסף מופיע במאמרי העזרה של Cloud STT Python API.

כדי לבצע אימות ב-Cloud STT, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.


# 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

הגבלת השימוש בנקודת קצה גלובלית של API

כדי לאכוף את השימוש בנקודות קצה אזוריות, אפשר להשתמש באילוץ constraints/gcp.restrictEndpointUsage של מדיניות הארגון כדי לחסום בקשות לנקודת קצה ל-API הגלובלית. מידע נוסף מופיע במאמר בנושא הגבלת השימוש בנקודות קצה.