startFlow method
Activates an existing flow. For on-demand flows, this operation runs the flow immediately. For schedule and event-triggered flows, this operation activates the flow.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ServiceQuotaExceededException.
Parameter flowName :
The specified name of the flow. Spaces are not allowed. Use underscores
(_) or hyphens (-) only.
Parameter clientToken :
The clientToken parameter is an idempotency token. It ensures
that your StartFlow request completes only once. You choose
the value to pass. For example, if you don't receive a response from your
request, you can safely retry the request with the same
clientToken parameter value.
If you omit a clientToken value, the Amazon Web Services SDK
that you are using inserts a value for you. This way, the SDK can safely
retry requests multiple times after a network error. You must provide your
own value for other use cases.
If you specify input parameters that differ from your first request, an
error occurs for flows that run on a schedule or based on an event.
However, the error doesn't occur for flows that run on demand. You set the
conditions that initiate your flow for the triggerConfig
parameter.
If you use a different value for clientToken, Amazon AppFlow
considers it a new call to StartFlow. The token is active for
8 hours.
Implementation
Future<StartFlowResponse> startFlow({
required String flowName,
String? clientToken,
}) async {
final $payload = <String, dynamic>{
'flowName': flowName,
'clientToken': clientToken ?? _s.generateIdempotencyToken(),
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/start-flow',
exceptionFnMap: _exceptionFns,
);
return StartFlowResponse.fromJson(response);
}