-
Notifications
You must be signed in to change notification settings - Fork 772
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AWS Step Functions Integration #204
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Initial review of changed files. I haven't looked at the new files yet (that will take a bit more time :)).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Leaving comments.
"that currently doesn't support AWS Step Functions. ") | ||
obj.echo("For more information on how to upgrade your " | ||
"service to a compatible version (>= 2.0), visit:") | ||
obj.echo(" [url]", fg='green') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just putting a TODO here :). So easy to forget.
) | ||
|
||
def list_executions(self, state_machine_arn, states): | ||
if len(states) > 0: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit, check for uniqueness.
Please see #211 instead.
Integrates Metaflow with AWS Step Functions.
Introduces a new command
step-functions
:python my_flow.py step-functions create
will compile and export the user-defined Metaflow flow into an AWS Step Functions state machine. This will allow users of Metaflow to move their flows into production seamlessly with AWS.@schedule
, allows users to optionally schedule the execution of their flows by integrating with AWS Event Bridge.@batch
, dependency management via@conda
, retrying mechanisms through@retry
,@catch
and@timeout
, parameters, branches, and for-eaches are now available within AWS Step Functions through this integration.production token
to ensure flow deployments to AWS Step Functions have proper safeguards against unintended production deploymentspython my_flow.py step-functions trigger
will trigger a deployed workflow on AWS Step FunctionsRequirements:
METAFLOW_SFN_IAM_ROLE
: IAM role that allows AWS Step Functions to interact with AWS Batch and AWS Dynamo DBMETAFLOW_EVENTS_SFN_ACCESS_IAM_ROLE
: IAM role that allows AWS Event Bridge to send notifications to AWS Step FunctionsMETAFLOW_SFN_DYNAMO_DB_TABLE
: AWS Dynamo DB Table which allows AWS Step Functions to keep track of the necessary state for foreachesNotes:
DEFAULT_METADATA
is set toservice
. A subsequent update to the service will fix that issue. For testing, please use -DEFAULT_METADATA=local
.Instructions and detailed docs are on their way.
Links: