GoogleCloudFunctionsを使って関数を作成するとデプロイは成功するが実際に実行すると下記のエラーがでてプログラムが動作しないことがあります。
takes 0 positional arguments but 2 were given
ちなみに関数のテストはCloudFunctionsの画面で行うことができ、エラーの内容も確認することができます。
実行する関数にdataとcontextの2つの引数を追加する
理由はよくわからないのですがCloud StorageなどによってトリガーされるバックグラウンドのCloud Functionには、次の関数シグネチャが必要だそうです。
たとえばmain関数を実行する関数にしている場合(pythonの場合)は
def main(data, context):
のようにします。
これでデプロイして関数をテストすると無事にプログラムは動作しました。
コメント