2017-08-14 16 views
1

私はGoogle Cloudの音声APIにルビーAPIを使用しています。次のコードは、操作オブジェクトを返します。後で長時間実行しているGoogleクラウドの音声APIの操作結果を取得します。

project_id = "xxx" 
speech = Google::Cloud::Speech.new project: project_id 
file_name = "test.flac" 
audio = speech.audio file_name, encoding: :flac, sample_rate: 44100,language: "en-US" 
operation = audio.process words: true 

operation.wait_until_done!私は操作が完了するまでポーリングできました。しかし私のオーディオファイルは約30分です。これにより、プロセスが非常に長くブロックされます。

後で操作の結果を得ることは可能ですか?私はoperation.idと呼んで、操作の一意の識別子を得ることができることを知っています。後でこれを使用して操作の結果を得ることは可能ですか?

+0

REST API経由でルビー以外のソリューションが見つかりました。このURLはhttps://speech.googleapis.com/v1/operations/{name}と呼ばなければなりません.nameはoperation.idの値です。誰も変換の結果がGoogleのサーバーにどれだけ長く保持されているかを知っていますか?上記のURLを例えば1週間後に呼び出すことは可能ですか? – user2415476

答えて

0

同じ問題があります。 基本的には、標準のRestAPI呼び出しを介して操作にアクセスできます。奇妙なやり方だと思うが、うまくいく。

ugly solution here