初めて初めてAWSサービスを試しています。 AWS pollyとアスタリスクを統合して、テキストを音声に変換する必要があります。ここpythonのAWS pollyサンプルの例ですか?
は私がエラー以下になっていますスピーチ
from boto3 import client
import boto3
import StringIO
from contextlib import closing
polly = client("polly", 'us-east-1')
response = polly.synthesize_speech(
Text="Good Morning. My Name is Rajesh. I am Testing Polly AWS Service For Voice Application.",
OutputFormat="mp3",
VoiceId="Raveena")
print(response)
if "AudioStream" in response:
with closing(response["AudioStream"]) as stream:
data = stream.read()
fo = open("pollytest.mp3", "w+")
fo.write(data)
fo.close()
にテキストを変換するために書かれたコード例です。
Traceback (most recent call last):
File "pollytest.py", line 11, in <module>
VoiceId="Raveena")
File "/usr/local/lib/python2.7/dist-packages/botocore/client.py", line 253, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/usr/local/lib/python2.7/dist-packages/botocore/client.py", line 530, in _make_api_call
operation_model, request_dict)
File "/usr/local/lib/python2.7/dist-packages/botocore/endpoint.py", line 141, in make_request
return self._send_request(request_dict, operation_model)
File "/usr/local/lib/python2.7/dist-packages/botocore/endpoint.py", line 166, in _send_request
request = self.create_request(request_dict, operation_model)
File "/usr/local/lib/python2.7/dist-packages/botocore/endpoint.py", line 150, in create_request
operation_name=operation_model.name)
File "/usr/local/lib/python2.7/dist-packages/botocore/hooks.py", line 227, in emit
return self._emit(event_name, kwargs)
File "/usr/local/lib/python2.7/dist-packages/botocore/hooks.py", line 210, in _emit
response = handler(**kwargs)
File "/usr/local/lib/python2.7/dist-packages/botocore/signers.py", line 90, in handler
return self.sign(operation_name, request)
File "/usr/local/lib/python2.7/dist-packages/botocore/signers.py", line 147, in sign
auth.add_auth(request)
File "/usr/local/lib/python2.7/dist-packages/botocore/auth.py", line 316, in add_auth
raise NoCredentialsError
botocore.exceptions.NoCredentialsError: Unable to locate credentials
私はアスタリスクシステムアプリケーションでこれを使用できるように、このスクリプトで直接資格情報を提供したいと考えています。
UPDATE: はその作業罰金が、アスタリスクのPBXのためにそれが動作していない私の現在のログインユーザのためになりましコンテンツ以下
[default]
aws_access_key_id=XXXXXXXX
aws_secret_access_key=YYYYYYYYYYY
でファイル〜/ .aws /信任状を作成しました。
私は〜/ .aws/credentialsファイルを作成し、デフォルトセクションに提供しました。今私のユーザーのために働いています。しかしアスタリスクPBXのためにそれはエラーを与えている。 – rajesh6115
「アスタリスクPBXでエラーが発生しました」とはどういう意味ですか? PBXは異なるユーザーアカウントで実行されますか。その場合は、そのユーザーのホームディレクトリにも資格情報ファイルを作成します。最悪の場合、コードに資格を入れることができます( 'client()の作成時に' aws_access_key_id = ACCESS_KEY、aws_secret_access_key = SECRET_KEY'を使います)、これは非常に安全な方法です。 –
Pythonのユーザー設定ファイルをおかげで、設定ファイルに資格情報を保存しました。また、アスタリスクPBXとの統合も成功しました。 – rajesh6115