Azure ML中的参数化SQL查询

Azure ML中的参数化SQL查询,azure,azure-sql-database,azureml,azureml-python-sdk,Azure,Azure Sql Database,Azureml,Azureml Python Sdk,背景:似乎有一种方法可以使用PipelineParameter 但是我想用PipelineParameter参数化我的SQL查询,例如,用这个查询 sql_query = """ SELECT id, foo, bar FROM baz WHERE baz.id BETWEEN 10 AND 20 """ dataset = Dataset.Tabular.from_sql_query((sql_datastore, sql_quer

背景:似乎有一种方法可以使用
PipelineParameter

但是我想用PipelineParameter参数化我的SQL查询,例如,用这个查询

sql_query = """
SELECT id, foo, bar FROM baz
WHERE baz.id BETWEEN 10 AND 20
"""
dataset = Dataset.Tabular.from_sql_query((sql_datastore, sql_query))

我想使用PipelineParameter将
10
20
参数化为
param_1
param_2
。这可能吗?

找到了一种方法:

将参数传递给PythonScriptStep

param_1 = PipelineParameter(name='min_id', default_value=5)
param_2 = PipelineParameter(name='max_id', default_value=10)
sql_datastore = "sql_datastore"
step = PythonScriptStep(script_name='script.py', arguments=[param_1, param_2, 
sql_datastore])
在script.py中

min_id_param = sys.argv[1]
max_id_param = sys.argv[2]
sql_datastore_name = sys.argv[3]
query = """
SELECT id, foo, bar FROM baz
WHERE baz.id BETWEEN {} AND {}
""".format(min_id_param, max_id_param)
run = Run.get_context()
sql_datastore = Datastore.get(run.experiment.workspace, sql_datastore_name)
dataset = Dataset.Tabular.from_sql_query((sql_datastore, query))