Hi, I’m trying to use the new cloud function by getting certain data back to the client from the execution, including the execution status, but somehow I’m getting an empty response. I would appreciate any help.
- When you're using
asyncexecution, then you won't get the result from thecreateExecutionfunction. to get the results right away setxasynctofalse - You can use the getExecution function to get the function execution status and results, for that you'll need to use the information you got from the
createExecutionfunction.
Notice: You won't get any results from the getExecution function if the current user is not logged in, as no one will have permission to read the function status.
Thanks, as always.
Let me try it ( I have a concern when you said getExecution does that mean I have to pass the execution id wich I need to get every time from the console? )
Yes,
But if you would change the xasync to false then you'll get the results when the function ended
Going over to the console each time is more stressful, especially when the app is released.
I tried the previous one, just switched xasync to false and voila, I got those data.
But do you know why I couldn't get the default values that are mentioned in the docs while I was setting xasync to true?
This is an example of what you should get when running the function in async
{
"$id": "SomeID",
"$createdAt": "2023-09-12T16:50:31.798+00:00",
"$updatedAt": "2023-09-12T16:50:31.798+00:00",
"$permissions": [
"read(\"user:SomeID\")"
],
"functionId": "SomeID",
"trigger": "http",
"status": "waiting",
"requestMethod": "GET",
"requestPath": "\/",
"requestHeaders": [],
"responseStatusCode": 0,
"responseBody": "",
"responseHeaders": [],
"logs": "",
"errors": "",
"duration": 0
}
What are you getting when you dumping the whole object
false
{$id: 6500999a17d816914c9b, $createdAt: 2023-09-12T17:02:19.537+00:00, $updatedAt: 2023-09-12T17:02:19.537+00:00, $permissions: [read("user:646e517c33abdc84e711")], functionId: 64ff1e03053ba3ee0ee9, trigger: http, status: completed, requestMethod: POST, requestPath: /, requestHeaders: [], responseStatusCode: 200, responseBody: Success, responseHeaders: [{name: x-powered-by, value: Dart with package:shelf}, {name: date, value: Tue, 12 Sep 2023 17:02:19 GMT}, {name: content-length, value: 13}, {name: x-frame-options, value: SAMEORIGIN}, {name: content-type, value: text/plain; charset=utf-8}, {name: x-xss-protection, value: 1; mode=block}, {name: x-content-type-options, value: nosniff}], logs: , errors: , duration: 0.9277000427246094}
Both look like xasync false,
Can you double check
My bad this one is true:
{$id: 6500990a4c82c383df20, $createdAt: 2023-09-12T16:59:54.313+00:00, $updatedAt: 2023-09-12T16:59:54.313+00:00, $permissions: [read("user:646e517c33abdc84e711")], functionId: 64ff1e03053ba3ee0ee9, trigger: http, status: , requestMethod: POST, requestPath: /, requestHeaders: [], responseStatusCode: , responseBody: , responseHeaders: [], logs: , errors: , duration: 0.0}
It's interesting that it's empty
But you do get the functionId back that you can use with the getExecution one.
Yes, I’ll try that.
Recommended threads
- Help
- Python TablesDB Rework
Hi, i starting to rework some older functions to TablesDB list_rows Method. I used list_documents with a resultset with worked fine. Now i tried to get all rows...
- HUGE OUTRAGE IN APPWRITE, I CANNOT ACCES...
I have 2k users trying to access, sending me messages. What am I supposed to do? Please solve this asap.