GoogleCloudFunctions – takes 0 positional arguments but 2 were givenの解決方法

GoogleCloudFunctionsを使って関数を作成するとデプロイは成功するが実際に実行すると下記のエラーがでてプログラムが動作しないことがあります。

takes 0 positional arguments but 2 were given

ちなみに関数のテストはCloudFunctionsの画面で行うことができ、エラーの内容も確認することができます。

スポンサーリンク

実行する関数にdataとcontextの2つの引数を追加する

理由はよくわからないのですがCloud StorageなどによってトリガーされるバックグラウンドのCloud Functionには、次の関数シグネチャが必要だそうです。

たとえばmain関数を実行する関数にしている場合(pythonの場合)は

def main(data, context):

のようにします。

これでデプロイして関数をテストすると無事にプログラムは動作しました。

コメント

タイトルとURLをコピーしました