Je suis très nouveau sur Python. J'essaie le module Text to speech d'Amazon Polly. Je cours ceci sur Windows 10. Avoir lu la documentation d'amazon mais je suis tout à fait perdu en ce moment. Désolé mon anglais n'est pas très bon.Amazon Polly ProfileNotFound: Le profil de configuration (adminuser) est introuvable
Mon code est le suivant.
"""Getting Started Example for Python 2.7+/3.3+"""
from boto3 import Session
from botocore.exceptions import BotoCoreError, ClientError
from contextlib import closing
import os
import sys
import subprocess
from tempfile import gettempdir
# Create a client using the credentials and region defined in the [adminuser]
# section of the AWS credentials file (~/.aws/credentials).
session = Session(profile_name="adminuser")
polly = session.client("polly")
try:
# Request speech synthesis
response = polly.synthesize_speech(Text="Hello world!", OutputFormat="mp3",
VoiceId="Joanna")
except (BotoCoreError, ClientError) as error:
# The service returned an error, exit gracefully
print(error)
sys.exit(-1)
# Access the audio stream from the response
if "AudioStream" in response:
# Note: Closing the stream is important as the service throttles on the
# number of parallel connections. Here we are using contextlib.closing to
# ensure the close method of the stream object will be called automatically
# at the end of the with statement's scope.
with closing(response["AudioStream"]) as stream:
output = os.path.join(gettempdir(), "speech.mp3")
try:
# Open a file for writing the output as a binary stream
with open(output, "wb") as file:
file.write(stream.read())
except IOError as error:
print(error)
sys.exit(-1)
else:
# The response didn't contain audio data, exit gracefully
print("Could not stream audio")
sys.exit(-1)
# Play the audio using the platform's default player
if sys.platform == "win32":
os.startfile(output)
else:
# the following works on Mac and Linux. (Darwin = mac, xdg-open = linux).
opener = "open" if sys.platform == "darwin" else "xdg-open"
subprocess.call([opener, output])
et j'ai mes fichiers d'identification ici. (Edité ceci donc ce n'est pas de vraies informations d'identification). Dans le même dossier, il est enregistré en tant que configuration. J'en ai également fait des copies appelées config, et boto.config dans le même dossier, dans l'espoir d'avoir mal compris le nom. Mais en vain.
[Credentials]
aws_access_key_id = AKIAIO4GAFVCGZMTZ6WQ
aws_secret_access_key = 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
[adminuser]
aws_access_key_id = AKIAIO4GAFVCGZMTZ6WQ
aws_secret_access_key = /7KVymkCQbGKI5/E1ifdafsuVCciwOd1WiIImxA
Ceci est le message d'erreur que je reçois.
Traceback (most recent call last):
File "C:/Users/joel/Desktop/New folder/test.py", line 11, in <module>
session = Session(profile_name="adminuser")
File "C:\Python27\lib\site-packages\boto3\session.py", line 80, in __init__
self._setup_loader()
File "C:\Python27\lib\site-packages\boto3\session.py", line 120, in _setup_loader
self._loader = self._session.get_component('data_loader')
File "C:\Python27\lib\site-packages\botocore\session.py", line 701, in get_component
return self._components.get_component(name)
File "C:\Python27\lib\site-packages\botocore\session.py", line 897, in get_component
self._components[name] = factory()
File "C:\Python27\lib\site-packages\botocore\session.py", line 181, in <lambda>
lambda: create_loader(self.get_config_variable('data_path')))
File "C:\Python27\lib\site-packages\botocore\session.py", line 265, in get_config_variable
elif self._found_in_config_file(methods, var_config):
File "C:\Python27\lib\site-packages\botocore\session.py", line 286, in _found_in_config_file
return var_config[0] in self.get_scoped_config()
File "C:\Python27\lib\site-packages\botocore\session.py", line 358, in get_scoped_config
raise ProfileNotFound(profile=profile_name)
ProfileNotFound: The config profile (adminuser) could not be found
>>>
des experts là-bas pour me dire ce que je devrais faire à peu près?