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
async
execution, then you won't get the result from thecreateExecution
function. to get the results right away setxasync
tofalse
- 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
createExecution
function.
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
- How to Avoid Double Requests in function...
I'm currently using Appwrite's `functions.createExecution` in my project. I want to avoid double requests when multiple actions (like searching or pagination) a...
- Project in AppWrite Cloud doesn't allow ...
I have a collection where the data can't be opened. When I check the functions, there are three instances of a function still running that can't be deleted. The...
- Get team fail in appwrite function
I try to get team of a user inside appwrite function, but i get this error: `AppwriteException: User (role: guests) missing scope (teams.read)` If i try on cl...