AWS Polly를 사용해서 시스템 경고를 해보도록 하겠습니다.
"AWS re: Invent 2016의 Keynote1에서 텍스트 낭독 서비스""Amazon Polly""가 출시되었습니다!"과
그렇기 때문에 어디에 쓸 수 있을지 생각 중이야
어쨌든 경보를 말하면 편할 것 같아서 서둘러 썼어요.
Polly에 관해서는 여기를 보세요↓
http://dev.classmethod.jp/cloud/aws/reinvent2016-new-service-amazon-polly/
프로비저닝
회사 내에 자원도를 표시하는 40인치 모니터가 설치되어 있기 때문이다
거기서부터 얘기하면 될 것 같아서 이런 구성으로 구축했어요.
SQS에서 모두 꺼내서 mp3 재생성으로 변환, 대기열 제거
맥에 놓인 스크립트의 일부분 // 100件ずつ処理する
// sqsから10件ずつしか取得できないのでループして100件取得するようにする
$messageList = array();
for ($i = 0; $i < 10; $i++) {
$start_time = microtime(true);
// キューから10件データ取得
$result = $this->_getSqsMessage();
// 無ければ処理終了
if (!isset($result['Messages'])) {
break;
}
$messageList = array_merge($messageList, $result["Messages"]);
}
// 処理が正常に行えたメッセージのSQS情報を保持
$sqsKeys = array();
// 取れた分全部しゃべらせる
foreach ($messageList as $k => $message) {
$mes = $message['Body'];
p("Speek: ".$mes);
if($mes){
$mes = str_replace('"', "", $mes);
$mes = mb_strimwidth($mes, 0, 140, "・・・以下略");
// Mac通知センターにメッセージ表示
$rs = `osascript -e 'display notification "{$mes}" with title "Polly"'`;
// mp3生成
$rs = `aws polly synthesize-speech --text "{$mes}" --voice-id Mizuki --output-format mp3 speech.mp3`;
// 再生
$rs = `afplay speech.mp3`;
}
$sqsKeys[] = array(
"Id" => $message["MessageId"],
"ReceiptHandle" => $message['ReceiptHandle'],
);
}
// 全部消す(変換失敗とかあってもスルー)
foreach (array_chunk($sqsKeys, 10) as $keys) {
$this->_deleteSqsMessage($keys);
}
이후 슬랙봇과 API 등으로 SQS에 메시지를 주입하면 무엇이든 할 수 있다.
회사 외부에서 슬랙으로 강제로 회사 내에서 소리 메시지를 울려라!
스케줄러:쉬어!
@all
Reference
이 문제에 관하여(AWS Polly를 사용해서 시스템 경고를 해보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yuichi_tr/items/34df28ad32cdb7f7b9e1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
맥에 놓인 스크립트의 일부분
// 100件ずつ処理する
// sqsから10件ずつしか取得できないのでループして100件取得するようにする
$messageList = array();
for ($i = 0; $i < 10; $i++) {
$start_time = microtime(true);
// キューから10件データ取得
$result = $this->_getSqsMessage();
// 無ければ処理終了
if (!isset($result['Messages'])) {
break;
}
$messageList = array_merge($messageList, $result["Messages"]);
}
// 処理が正常に行えたメッセージのSQS情報を保持
$sqsKeys = array();
// 取れた分全部しゃべらせる
foreach ($messageList as $k => $message) {
$mes = $message['Body'];
p("Speek: ".$mes);
if($mes){
$mes = str_replace('"', "", $mes);
$mes = mb_strimwidth($mes, 0, 140, "・・・以下略");
// Mac通知センターにメッセージ表示
$rs = `osascript -e 'display notification "{$mes}" with title "Polly"'`;
// mp3生成
$rs = `aws polly synthesize-speech --text "{$mes}" --voice-id Mizuki --output-format mp3 speech.mp3`;
// 再生
$rs = `afplay speech.mp3`;
}
$sqsKeys[] = array(
"Id" => $message["MessageId"],
"ReceiptHandle" => $message['ReceiptHandle'],
);
}
// 全部消す(変換失敗とかあってもスルー)
foreach (array_chunk($sqsKeys, 10) as $keys) {
$this->_deleteSqsMessage($keys);
}
이후 슬랙봇과 API 등으로 SQS에 메시지를 주입하면 무엇이든 할 수 있다.회사 외부에서 슬랙으로 강제로 회사 내에서 소리 메시지를 울려라!
스케줄러:쉬어!
@all
Reference
이 문제에 관하여(AWS Polly를 사용해서 시스템 경고를 해보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuichi_tr/items/34df28ad32cdb7f7b9e1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)