J'ai une fonction Google Cloud sur Python 3.7 qui ne prend aucun argument d'entrée. Lorsque j'essaie de l'exécuter, l'erreur suivante s'affiche :

TypeError: google_cloud_function() takes 0 positional arguments but 2 were given

Le code de fonction réel ressemble à ceci (avec différentes fonctions bash appelées):

import subprocess

def google_cloud_function():
    subprocess.call(["ls"], shell=True)
    subprocess.call(["pwd"], shell=True)

Pourquoi serait-ce le cas ?

11
Balkan 5 oct. 2018 à 04:36

1 réponse

Meilleure réponse

Une fonction Cloud en arrière-plan déclenchée par quelque chose comme Cloud Storage doit avoir la signature de fonction suivante :

def function(data, context):
    ...

Les arguments doivent être inclus même si vous ne les utilisez pas.

16
Dustin Ingram 21 janv. 2020 à 23:52