質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Google Cloud Platform

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

解決済

GCP Cloud Functionsの'connection error'の原因が不明

komicool
komicool

総合スコア24

Google Cloud Platform

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

1回答

0評価

1クリップ

3929閲覧

投稿2018/05/04 23:49

編集2018/05/05 01:06

Cloud Functionsで特定のGCSバケットへのファイルアップロードをトリガーとして
そのファイルがflacファイルであれば、Speech APIを使って翻訳テキストを同じGCSバケットに
返すような処理を書こうとしています。

ただ、Function execution took 10764 ms, finished with status: 'connection error'の
ようなエラーが出てしまい、原因が全く検討がつきません。

考えうる原因についてご教示いただけますと幸いです。コードは以下の通りです。

node.js

/** * Triggered from a message on a Cloud Storage bucket. * * @param {!Object} event The Cloud Functions event. * @param {!Function} The callback function. */ exports.processFile = (event, callback) => { // Imports the Google Cloud client library const speech = require('@google-cloud/speech'); const storage = require('@google-cloud/storage')(); // Instantiates a client const client = new speech.SpeechClient(); // Get Information about put object of Cloud Storage const uploadedObject = event.data; // The Cloud Storage object. const gcsUri = 'gs://' + uploadedObject.bucket + '/' + uploadedObject.name; // Uploaded object's URI. const contentType = uploadedObject.contentType; // Object's content type. console.log('URI of processing file : ' + gcsUri); console.log('Type of processing file : ' + contentType); // Except for audio file, expire function. if(contentType === undefined){ console.log('Content-type of uploaded file is unclear. This function does nothing.'); process.exit(0); } else if(contentType.indexOf(/audio/) === -1){ console.log('Uploaded file is not audio file. This function does nothing.'); process.exit(0); } // Configure about GCE object which is saved translated text. // TODO: Now, the Quality of naming file is slipshod. const textObject = storage.bucket(object.bucket).file('translated.txt'); // The encoding of the audio file, e.g. 'LINEAR16' const encoding = 'FLAC'; // This param is optional for flac. The sample rate of the audio file in hertz, e.g. 16000. // const sampleRateHertz = 44100; // The BCP-47 language code to use, e.g. 'en-US' const languageCode = 'ja-JP'; const config = { encoding: encoding, // sampleRateHertz: sampleRateHertz, languageCode: languageCode }; const audio = { uri: gcsUri }; const request = { config: config, audio: audio }; // Detects speech in the audio file. This creates a recognition job that you // can wait for now, or get its result later. client.longRunningRecognize(request) .then((data) => { const operation = data[0]; // Get a Promise representation of the final result of the job return operation.promise(); }) .then((data) => { const response = data[0]; const transcription = response.results.map(result => result.alternatives[0].transcript).join('\n'); console.log('Transcription: ${transcription}'); return textObject.save(transcription) }) .then(() => { console.log('File saved.'); }) .catch((err) => { console.error('ERROR:', err); }); // callback(); };

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Google Cloud Platform

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。