The assignTasks() GraphQL mutation is
used to assign node tasks.
For more information on common node tasks, see the
LogScale Logical Architecture page in the Training
section.
Below is the syntax for the
assignTasks() mutation field:
assignTasks(
nodeID : integer!
tasks : [ NodeTaskEnum! ] !
) : [ NodeTaskEnum! ] !
Below is an example of how this mutation field might be used:
Show:
Raw Mac OS or Linux (curl) Mac OS or Linux (curl) One-line Windows Cmd and curl Windows Powershell and curl Perl Python Node.js
Raw mutation {
assignTasks( nodeID : 1 , tasks : [ query ,storage] )
}
Mac OS or Linux (curl) curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d @- << EOF
{"query" : "mutation {
assignTasks(nodeID: 1, tasks: [query,storage])
}"
}
EOF
Mac OS or Linux (curl) One-line curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d @- << EOF
{"query" : "mutation {
assignTasks(nodeID: 1, tasks: [query,storage])
}"
}
EOF
Windows Cmd and curl curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
-H "Authorization: Bearer $TOKEN" ^
-H "Content-Type: application/json" ^
-d @'{"query" : "mutation { ^
assignTasks(nodeID: 1, tasks: [query,storage]) ^
}" ^
} '
Windows Powershell and curl curl.exe -X POST
-H "Authorization: Bearer $TOKEN "
-H "Content-Type: application/json"
-d '{"query" : "mutation {
assignTasks(nodeID: 1, tasks: [query,storage])
}"
}'
"$YOUR_LOGSCALE_URL /graphql"
Perl
use HTTP::Request;
use LWP;
my $INGEST_TOKEN = "TOKEN" ;
my $uri = '$YOUR_LOGSCALE_URL/graphql' ;
my $json = '{"query" : "mutation {
assignTasks(nodeID: 1, tasks: [query,storage])
}"
}' ;
my $req = HTTP::Request->new("POST" , $uri );
$req->header("Authorization" => "Bearer $TOKEN" );
$req->header("Content-Type" => "application/json" );
$req->content( $json );
my $lwp = LWP::UserAgent->new;
my $result = $lwp->request( $req );
print $result->{"_content" },"\n" ;
Python
import requests
url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "mutation {
assignTasks(nodeID: 1, tasks: [query,storage])
}"
}'''
resp = requests.post(url,
data = mydata,
headers = {
"Authorization" : "Bearer $TOKEN" ,
"Content-Type" : "application/json"
}
)
print (resp.text)
Node.js const https = require ('https' );
const data = JSON .stringify (
{"query" : "mutation {
assignTasks(nodeID: 1, tasks: [query,storage])
}"
}
);
const options = {
hostname : '$YOUR_LOGSCALE_URL/graphql' ,
path : '/graphql' ,
port : 443 ,
method : 'POST' ,
headers : {
'Content-Type' : 'application/json' ,
'Content-Length' : data.length ,
Authorization : 'BEARER ' + process.env .TOKEN ,
'User-Agent' : 'Node' ,
},
};
const req = https.request (options, (res ) => {
let data = '' ;
console .log (`statusCode: ${res.statusCode} ` );
res.on ('data' , (d ) => {
data += d;
});
res.on ('end' , () => {
console .log (JSON .parse (data).data );
});
});
req.on ('error' , (error ) => {
console .error (error);
});
req.write (data);
req.end ();
Example Responses Show:
Success (HTTP Response Code 200 OK)
Success (HTTP Response Code 200 OK) {
"data" : {
"assignTasks" : [
"storage" ,
"digest" ,
"query"
]
}
}
Given and Returned Datatypes
For nodeID
, give the unique identifier of
the node to which to assign tasks.
NodeTaskEnum
has
only a few choices from an enumerated list:
Table: AssignSystemRoleToGroupInput
Parameter Type Required Default Stability Description Some arguments may be required, as indicated in the Required column. For some fields, this column indicates that a result will always be returned for this column. Table last updated: Sep 16, 2024 digest
boolean Short-Term
Indicates a digest task. query
boolean Short-Term
Represents a query task. storage
boolean Short-Term
Indicates a storage task. This choice is deprecated and scheduled to be removed in version 1.185.