本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
GetLexicon
以下 Python 代码使用 AWS SDK for Python (Boto) 来检索存储在某个 AWS 区域中的所有词典。该示例接受词典名称作为命令行参数,并仅获取该词典,打印出词典在本地保存的 tmp 路径。
以下代码示例使用存储在 AWS SDK配置文件中的默认凭据。有关创建配置文件的信息,请参阅 设置 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.")