Lần đầu tiên tôi đang thử dịch vụ AWS. Tôi phải tích hợp AWS một cách lịch sự với dấu sao cho văn bản thành lời nói.AWS ví dụ mẫu polly trong python?
đây là mã ví dụ tôi bằng văn bản để chuyển đổi văn bản thành giọng nói
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()
Tôi nhận được lỗi sau.
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
Tôi muốn cung cấp thông tin đăng nhập trực tiếp trong tập lệnh này để tôi có thể sử dụng trong ứng dụng hệ thống dấu hoa thị.
UPDATE: tạo ra một tập tin ~/.aws/thông tin với bên dưới nội dung
[default]
aws_access_key_id=XXXXXXXX
aws_secret_access_key=YYYYYYYYYYY
bây giờ cho người dùng đăng nhập hiện tại của tôi làm việc tốt của nó, nhưng đối với dấu hoa thị PBX nó không được làm việc.
tôi đã tạo tệp ~/.aws/credentials và cung cấp thông tin xác thực trong phần mặc định. hiện đang hoạt động cho người dùng của tôi. Nhưng đối với một dấu hoa thị, nó cho lỗi. – rajesh6115
Bạn có ý gì khi nói "Nhưng đối với dấu hoa thị, nó cho lỗi"? PBX có chạy dưới một tài khoản người dùng khác không. Trong trường hợp đó, hãy tạo tệp thông tin xác thực trong thư mục chính của người dùng đó. Trường hợp xấu nhất bạn có thể đặt thông tin đăng nhập trong mã (sử dụng 'aws_access_key_id = ACCESS_KEY, aws_secret_access_key = SECRET_KEY' khi tạo 'client()'), nhưng đó là một phương pháp rất không an toàn. –
Cảm ơn tôi tập tin cấu hình người dùng bằng Python và giữ thông tin đăng nhập trong tệp cấu hình. Cũng được tích hợp thành công với tổng đài Asterisk. – rajesh6115