GetLexicon - Amazon Polly

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

GetLexicon

次の Python コードは、 AWS SDK for Python (Boto) を使用して、 AWS リージョンに保存されているすべてのレキシコンを取得します。例では、レキシコン名をコマンドラインのパラメーターとして受け入れて、そのレキシコンのみを取得し、ローカルに保存された場所の tmp パスを印刷します。

次のコード例では、 AWS SDK 設定ファイルに保存されているデフォルトの認証情報を使用しています。設定ファイルを作成する方法については、「ステップ 2.1: をセットアップする AWS CLI」を参照してください。

このオペレーションの詳細については、GetLexicon API リファレンスを参照してください。

from argparse import ArgumentParser from os import path from tempfile import gettempdir from boto3 import Session from botocore.exceptions import BotoCoreError, ClientError # Define and parse the command line arguments cli = ArgumentParser(description="GetLexicon example") cli.add_argument("name", type=str, metavar="LEXICON_NAME") arguments = cli.parse_args() # Create a client using the credentials and region defined in the adminuser # section of the AWS credentials and configuration files session = Session(profile_name="adminuser") polly = session.client("polly") print(u"Fetching {0}...".format(arguments.name)) try: # Fetch lexicon by name response = polly.get_lexicon(Name=arguments.name) except (BotoCoreError, ClientError) as error: # The service returned an error, exit gracefully cli.error(error) # Get the lexicon data from the response lexicon = response.get("Lexicon", {}) # Access the lexicon's content if "Content" in lexicon: output = path.join(gettempdir(), u"%s.pls" % arguments.name) print(u"Saving to %s..." % output) try: # Save the lexicon contents to a local file with open(output, "w") as pls_file: pls_file.write(lexicon["Content"]) except IOError as error: # Could not write to file, exit gracefully cli.error(error) else: # The response didn't contain lexicon data, exit gracefully cli.error("Could not fetch lexicons contents") print("Done.")