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

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

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

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

3697閲覧

Google Cloud FunctionにPythonをデプロイしても上手く実行されない

Nisycon

総合スコア30

Google Cloud Platform

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2021/10/22 09:18

Google Cloud Platformの、Goocle Cloud Functionsを使って、Pythonの自動実行を行いたいと考えております。
まずは手始めにサンプルでprint('hello world')を実行するために以下のような関数を組みました。

python

1def sample(): 2 print('hello world')

この状態で、エントリポイントを「sample」、ランタイムを「python3.7」に設定しています。
デプロイ自体はできているのですが、関数をテストしても以下のようなエラーが表示され、結果が何も返ってきません。

Error: function terminated. Recommended action: inspect logs for termination reason. Additional troubleshooting documentation can be found at https://cloud.google.com/functions/docs/troubleshooting#logging Details:

500 Internal Server Error: The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

調べてもそれらしい情報が出てこず悩んでいます。
アドバイスよろしくお願いいたします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

attakei

2021/10/23 11:26

もし「関数をテストしても」のテストが、関数の詳細内の「テスト中」タブでの「関数をテストする」での実行を指すなら、隣りにある「ログ」のタブに関数実行時のログが出力されています。 一度、ここのログを読んで解決できないか試してみるとよいのではないでしょうか。
Nisycon

2021/10/23 11:35

はい、仰るとおり「テスト中」タブでの「関数をテストする」を指していますが、 出力は完了となっており、ログは「利用できません」となっております。 出力とログの間に、質問内容にあるエラーが表示されています。
attakei

2021/10/23 11:37

> ログは「利用できません」となっております。 これは、「テスト中」タブを表示している状態で見えているものだと思います。 「テスト中」の隣に「ログ」というタブがありませんか?
Nisycon

2021/10/23 11:44

ちなみにログエクスプローラでは TypeError: sample() takes 1 positional argument but 2 were given というエラーが出ています
attakei

2021/10/23 17:31

> TypeError: sample() takes 1 positional argument but 2 were given エラーとしての説明はそのままなので、まずはこれが何を意味するのかを知るべきです。 なお、この内容だとすると、質問文のコードでは起こり得ないエラーです。 CloudFunctions上にデプロイして実行しようとしているコードが本当にこれと全く同じか、 確認したほうがいいのではと感じました。 ※その上で、追記するならデプロイ時の設定などを可能な限り書いたほうがいいと思います
guest

回答1

0

自己解決

トリガータイプをCloud Pub/Subにする場合は(別の場合は検証していません。)

def sample(event, context):

というようにに、「event」「context」という戻り値を設定しなければならないようでした。

投稿2021/11/19 01:39

Nisycon

総合スコア30

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問