I realised that the new Callable Cloud Functions can still be called as if they were HTTP events, i.e. they can still be reached under http://us-central1-$projectname.cloudfunctions.net/$functionname
. When doing that I receive an error message in my Cloud Functions Log:
Request has invalid method. GET
This means that HTTP-GET does not work, but is there a way to call the functions? Maybe they are using HTTP-CONNECT.
EDIT: The details of the protocol have been formally documented now.
HTTPS Callable functions must be called using the POST
method, the Content-Type
must be application/json
or application/json; charset=utf-8
, and the body must contain a field called data
for the data to be passed to the method.
Example body:
{
"data": {
"aString": "some string",
"anInt": 57,
"aFloat": 1.23
}
}
If you are calling a function by creating your own http request, you may find it more flexible to use a regular HTTPS function instead.