Hi, Guys!
Let´s try a more simple example. Please, take a look at this small piece of code:
---------------------------------------------------------------------------
from prefect import task, flow, get_run_logger
import sys
@task
def log_name(job_name):
logger = get_run_logger()
logger.info(f'*** MY NAME IS - {job_name} ***')
@flow
def test_parameter(job_name : str):
log_name(job_name)
if
name == "__main__":
test_parameter(sys.argv[1])
---------------------------------------------------------------------------
Now that's all the results using the params option in CLI:
1) JSON parameter with no scapes delimited by single quotation marks
prefect deployment build testparameter.py:test_parameter --name test_parameter_deploy --apply --params='{"job_name": "HELLO!"}' ->
Error (json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1))
2) JSON parameter with no scapes delimited by double quotation marks
prefect deployment build testparameter.py:test_parameter --name test_parameter_deploy --apply --params=""{"job_name": "HELLO!"}"" ->
Error (Unexpected token ':' in expression or statement)
3) JSON parameter using scapes delimited by single quotation marks
prefect deployment build testparameter.py:test_parameter --name test_parameter_deploy --apply --params='{\"job_name\": \"HELLO!\"}' ->
It works!!!