GetLexicon
En el código Python siguiente, se utiliza AWS SDK for Python (Boto) para recuperar todos los lexicones almacenados en una región de AWS. El ejemplo acepta el nombre del lexicón como parámetro de línea de comandos y recupera solamente el lexicón, por lo que imprime la ruta de acceso temporal donde se guardó localmente.
En el siguiente ejemplo, se utilizan las credenciales predeterminadas guardadas en el archivo de configuración SDK deAWS. Para obtener más información acerca de cómo crear el archivo de configuración, consulte Configuración de AWS CLI.
Para obtener más información sobre esta operación, consulte la referencia de la API GetLexicon.
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.")