Rank 2: Process
Hi –
I'm trying to port my old functions to the new 1.4.5 way.
I manage to get a simple working function that simply sends back a string.
However, I can't manage to make my function list some documents and send them back.
It seems that the appwrite client is able to connect, but as soon as I include code to query the database it just gets a 500 error without any logs except : An internal curl error has occurred within the executor! Error Msg: Http invalid protocol\nError Code: 500
Here is a minimal version of my not working code, maybe I forgot something..
def main(context):
# Setup client
client = Client()
endpoint = "https://devback.banquise.app/v1"
project_id = os.environ['APPWRITE_FUNCTION_PROJECT_ID']
api_key = os.environ["APPWRITE_FUNCTION_API_KEY"]
client.set_endpoint(endpoint).set_project(project_id).set_key(api_key)
# Log environment variables
context.log(project_id)
context.log(api_key)
# Initialize database
database = Databases(client)
# Fetch user ID from header
user_id = context.req.headers["x-appwrite-user-id"]
context.log(user_id)
# Get payload from request body
payload = context.req.body
context.log(payload)
# Fetch and send the feed
try:
final_feed = database.list_documents('62e0fd2xxxxxxx', '62e0fe08axxxxxxxx')["documents"]
context.log(final_feed)
return context.res.send(str(final_feed))
except Exception as e:
context.error(e)
return context.res.send(e, 500)
Thank you by advance!