GetLexicon - Amazon Polly

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

GetLexicon

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

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

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

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.")