Amazon web services 使用Boto3放置json数据管道定义
我有一个json格式的数据管道定义,我想用Python中的Boto3来“放置”它 我知道您可以通过AWS CLI使用来实现这一点,但Boto3(和)都使用a,将定义拆分为Amazon web services 使用Boto3放置json数据管道定义,amazon-web-services,boto3,amazon-data-pipeline,Amazon Web Services,Boto3,Amazon Data Pipeline,我有一个json格式的数据管道定义,我想用Python中的Boto3来“放置”它 我知道您可以通过AWS CLI使用来实现这一点,但Boto3(和)都使用a,将定义拆分为pipelineObjects、parameterObjects和parameterValues 我是否需要编写代码将json定义转换为API/Boto所期望的定义?如果是这样的话,有没有这样的库?AWS CLI有,所以我可以借用它 AWS CLI有,所以我可以借用一下 您可以使用以下形式的python函数将数据管道导出的JSO
pipelineObjects
、parameterObjects
和parameterValues
我是否需要编写代码将json定义转换为API/Boto所期望的定义?如果是这样的话,有没有这样的库?AWS CLI有,所以我可以借用它 AWS CLI有,所以我可以借用一下 您可以使用以下形式的python函数将数据管道导出的JSON格式转换为boto3所期望的pipelineObjects格式
def convert_to_pipeline_objects(pipeline_definition_dict):
objects_list = []
for def_object in pipeline_definition_dict['objects']:
new_object = {
'id': def_object['id'],
'name': def_object['name'],
'fields': []
}
for key in def_object.keys():
if key in ('id', 'name'):
continue
if type(def_object[key]) == dict:
new_object['fields'].append(
{
'key': key,
'refValue': def_object[key]['ref']
}
)
else:
new_object['fields'].append(
{
'key': key,
'stringValue': def_object[key]
}
)
objects_list.append(new_object)
您可以使用以下形式的python函数将数据管道导出的JSON格式转换为boto3所期望的pipelineObjects格式
def convert_to_pipeline_objects(pipeline_definition_dict):
objects_list = []
for def_object in pipeline_definition_dict['objects']:
new_object = {
'id': def_object['id'],
'name': def_object['name'],
'fields': []
}
for key in def_object.keys():
if key in ('id', 'name'):
continue
if type(def_object[key]) == dict:
new_object['fields'].append(
{
'key': key,
'refValue': def_object[key]['ref']
}
)
else:
new_object['fields'].append(
{
'key': key,
'stringValue': def_object[key]
}
)
objects_list.append(new_object)