trigger
Usage
prism create trigger
is used to create and update the triggers YML configuration file.
Usage: prism create trigger [OPTIONS]
Create a triggers YML file at the TRIGGERS_YML_PATH in prism_project.py.
Examples:
• prism create trigger
• prism create trigger -v TRIGGERS_YML_PATH=/Users/.prism/triggers.yml
• prism create trigger --context '{"TRIGGERS_YML_PATH": "/Users/.prism/triggers.yml"}'
â•─ Options ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --type -t [function] Trigger type. Default is function │
│ --log-level -l [info|warn|error|debug] Set the log level │
│ --full-tb Show the full traceback when an error occurs │
│ --vars -v TEXT Variables as key value pairs. These overwrite variables in prism_project.py. All values │
│ are intepreted as strings. │
│ --context TEXT Context as a dictionary. Must be a valid JSON. These overwrite variables in │
│ prism_project.py │
│ --help Show this message and exit. │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Here's what prism create trigger
does under the hood:
Parses the
prism_project.py
file and gets theTRIGGERS_YML_PATH
value. If this value isn't specified, then it defaults to the project directory.It checks to see if
TRIGGERS_YML_PATH
existsIf it doesn't, it creates a file at
TRIGGERS_YML_PATH
and populates it with a trigger of type--type
If it does, it then adds a profile of type
--type
to the existing file
Example
Here's what the output will look like in Terminal (if there are no errors in the project):
$ prism create trigger --type function
--------------------------------------------------------------------------------
<HH:MM:SS> | INFO | Running with prism v0.2.2...
<HH:MM:SS> | INFO | Found project directory at /Users/my_first_project
<HH:MM:SS> | INFO | RUNNING EVENT 'parsing prism_project.py'................................................ [RUN]
<HH:MM:SS> | INFO | FINISHED EVENT 'parsing prism_project.py'............................................... [DONE in 0.03s]
<HH:MM:SS> | INFO | Setting up triggers...
<HH:MM:SS> | INFO | Done!
--------------------------------------------------------------------------------
$
Here's what the triggers.yml
file looks like after running the above command:
# triggers.yml
triggers:
<trigger name here>:
type: function
function: <import path to function> # make sure your project has access to this import path via SYS_PATH_CONF!
kwargs: # this is optional!
arg1: value1
Required arguments
Here are the required arguments you must specify with trigger
:
--type
: Trigger type. As of now, only typefunction
is supported.
Optional arguments
Here are the optional arguments you can run with trigger
:
--full-tb
: Display full traceback if errors arise at any stage of the pipeline--log-level
: Log level, one ofinfo
,warn
,error
, orcritical
.--vars
: Prism variables as key-value pairskey=value
. These overwrite any variable definitions inprism_project.py
. All values are read as strings.--context
: Prism variables as JSON. Cannot co-exist with--vars
. These overwrite any variable definitions inprism_project.py
.
Last updated