Invoke a Supabase Function.
Blob, ArrayBuffer, File, FormData and String. If it doesn't match any of these types we assume the payload is json, serialise it and attach the Content-Type header as application/json. You can override this behaviour by passing in a Content-Type header of your own.response = supabase.functions.invoke(
"hello-world",
invoke_options={
"body": {"name": "Functions"},
},
)
from supafunc.errors import FunctionsRelayError, FunctionsHttpError
try:
response = supabase.functions.invoke(
"hello-world",
invoke_options={
"body": {"foo": "bar"},
"headers": {"my-custom-header": "my-custom-header-value"},
},
)
except FunctionsHttpError as exception:
err = exception.to_dict()
print(f'Function returned an error {err.get("message")}')
except FunctionsRelayError as exception:
err = exception.to_dict()
print(f'Relay error: {err.get("message")}')
response = supabase.functions.invoke(
"hello-world",
invoke_options={
"headers": {
"my-custom-header": "my-custom-header-value",
},
"body": {"foo": "bar"},
},
)