respondActivityTaskCompleted method
Used by workers to tell the service that the ActivityTask
identified by the taskToken
completed successfully with a
result
(if provided). The result
appears in the
ActivityTaskCompleted
event in the workflow history.
A task is considered open from the time that it is scheduled until it is
closed. Therefore a task is reported as open while a worker is processing
it. A task is closed after it has been specified in a call to
RespondActivityTaskCompleted, RespondActivityTaskCanceled,
RespondActivityTaskFailed, or the task has timed
out.
Access Control
You can use IAM policies to control this action's access to Amazon SWF resources as follows:
-
Use a
Resource
element with the domain name to limit the action to only specified domains. -
Use an
Action
element to allow or deny permission to call this action. - You cannot use an IAM policy to constrain this action's parameters.
cause
parameter is
set to OPERATION_NOT_PERMITTED
. For details and example IAM
policies, see Using
IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF
Developer Guide.
May throw UnknownResourceFault. May throw OperationNotPermittedFault.
Parameter taskToken
:
The taskToken
of the ActivityTask.
Parameter result
:
The result of the activity task. It is a free form string that is
implementation specific.
Implementation
Future<void> respondActivityTaskCompleted({
required String taskToken,
String? result,
}) async {
ArgumentError.checkNotNull(taskToken, 'taskToken');
_s.validateStringLength(
'taskToken',
taskToken,
1,
1024,
isRequired: true,
);
_s.validateStringLength(
'result',
result,
0,
32768,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.0',
'X-Amz-Target': 'SimpleWorkflowService.RespondActivityTaskCompleted'
};
await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'taskToken': taskToken,
if (result != null) 'result': result,
},
);
}