リージョンのエンドポイントを指定する

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Speech-to-Text により、米国と EU のリージョンの API エンドポイントが提供されます。リージョン エンドポイントを使用する場合、保存データと使用中のデータは、ヨーロッパまたは米国の大陸境界内にとどまります。現地の規制要件に合わせてデータのロケーションを制御する必要がある場合は、エンドポイントの指定が重要となります。API の動作に対する機能面の変更はありません。

リージョン エンドポイントを使用する場合は、一致する us または eu のロケーションを parent 文字列に含める必要があります。認識リクエストの本文の構成については、RecognitionConfig のドキュメントをご覧ください。

プロトコル

リージョンのエンドポイントを使用して音声認識を行うには、次の表にあるコマンドを実行して、正しいエンドポイントを構成します。

マルチリージョン エンドポイントのオーバーライド
EU $ export CLOUD_SPEECH_ENDPOINT=https://eu-speech.googleapis.com
US $ export CLOUD_SPEECH_ENDPOINT=https://us-speech.googleapis.com

次のコードサンプルは、すべてのデータを特定のリージョンに制限する recognize request を送信する方法を示しています。CLOUD_SPEECH_ENDPOINT 変数は、EU または US リージョン エンドポイントで置き換えることができます。


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

この例では、Google Cloud の Google Cloud CLI を使用するプロジェクト用に設定されたサービス アカウントのアクセス トークンを使用します。gcloud CLI のインストール、サービス アカウントでのプロジェクトの設定、アクセス トークンの取得を行う手順については、クイックスタートをご覧ください。

リクエスト本文に含まれる音声コンテンツは、Base64 でエンコードされています。音声を Base64 でエンコードする方法については、Base64 エンコード音声コンテンツをご覧ください。content フィールドの詳細については、RecognitionAudio をご覧ください。

gcloud

次のコマンドは、リージョン エンドポイントを設定します。

マルチリージョン エンドポイントのオーバーライド
EU gcloud config set api_endpoint_overrides/speech https://eu-speech.googleapis.com/
US 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


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