# 1级数据接口使用说明 ## 概述 1级数据接口模块是 `csst_dfs_client.level1`。该模块包含了搜索1级数据文件记录、更新1级数据状态、将本地文件写入DFS以及管理1级数据处理记录等功能的函数。 ## 函数列表 1. **find** - 功能:根据给定的参数搜索1级数据文件记录。 - 参数:包括项目ID、观测ID、模块ID、探测器编号、文件类型、滤光片、观测时间范围、创建时间范围、QC1状态、处理状态、文件名、目标赤经、目标赤纬、搜索半径、天体名称、RSS ID、Cube ID、数据集名称、批次ID、页码、每页数量等。 - 返回值:搜索结果对象。 2. **find_by_level1_id** - 功能:通过1级数据的ID查询1级数据。 - 参数:1级数据的ID。 - 返回值:查询结果对象。 3. **find_by_brick_id** - 功能:通过brick的ID查询1级数据。 - 参数:brick的ID。 - 返回值:查询结果对象。 4. **sls_find_by_qc1_status** - 功能:通过QC1状态查询1级数据。 - 参数:QC1状态、查询结果数量限制、批次ID。 - 返回值:查询结果对象。 5. **update_qc1_status** - 功能:更新1级数据的QC1状态。 - 参数:1级数据的ID、文件类型、QC1状态、批次ID。 - 返回值:更新结果对象。 6. **update_prc_status** - 功能:更新1级数据的处理状态。 - 参数:1级数据的ID、文件类型、处理状态、批次ID。 - 返回值:操作结果对象。 7. **write** - 功能:将本地的1级数据文件写入到DFS中。 - 参数:本地文件路径或文件对象、模块ID、1级数据的ID、文件类型、文件名、管线ID、CCDS pmap名称、构建号、0级数据的ID、数据集名称、批次ID、QC1状态等。 - 返回值:操作的结果对象。 8. **generate_prc_msg** - 功能:生成流水线的处理消息。 - 参数:模块ID、1级数据的ID、数据集、批次ID。 - 返回值:处理消息生成的结果对象。 9. **process_list** - 功能:通过1级数据的ID查询1级数据处理记录。 - 参数:1级数据的ID。 - 返回值:查询结果对象。 10. **add_process** - 功能:添加1级数据处理记录。 - 参数:1级数据的ID、管线ID、运行ID、数据集、批次ID、处理时间、处理状态、处理模块、处理消息。 - 返回值:操作结果对象。 ## 使用示例 ### 1. 搜索1级数据文件记录 ```python # 搜索1级数据文件记录 result = level1.find(obs_id='some_obs_id', module_id='MSC', page=1, limit=10) print(result) # result.data为list类型,包含1级数据文件记录列表 ``` ### 2. 通过1级数据的ID查询1级数据 ```python from csst_dfs_client import level1 result = level1.find_by_level1_id(level1_id='some_level1_id') print(result) # result.data为list类型,包含1级数据文件记录列表 ``` ### 3. 通过brick的ID查询1级数据 ```python from csst_dfs_client import level1 result = level1.find_by_brick_id(brick_id=123456) print(result) # result.data为list类型,包含1级数据文件记录列表 ``` ### 4. 通过QC1状态查询1级数据(SLS专用) ```python from csst_dfs_client import level1 result = level1.sls_find_by_qc1_status(qc1_status='GOOD', limit=5) print(result) # result.data为list类型,包含1级数据文件记录列表 ``` ### 5. 更新1级数据的QC1状态 ```python from csst_dfs_client import level1 result = level1.update_qc1_status(level1_id='some_level1_id', filetype='SCI', qc1_status=1, batch_id='some_batch_id') print(result) ``` ### 6. 更新1级数据的处理状态 ```python from csst_dfs_client import level1 result = level1.update_prc_status(level1_id='some_level1_id', filetype='SCI', prc_status=1, batch_id='some_batch_id') print(result) ``` ### 7. 将本地文件写入DFS ```python from csst_dfs_client import level1 # 将本地的1级数据文件写入到DFS中 local_file_path = '/path/to/your/level1_data.fits' module_id = 'MSC' level1_id = 'some_level1_id' file_type = 'SCI' file_name = 'level1_data.fits' pipeline_id = 'some_pipeline_id' pmapname = 'some_pmapname' build = 1 level0_id = 'some_level0_id' dataset = 'default_dataset' batch_id = 'default_batch_id' qc1_status = 0 result = level1.write(local_file_path, module_id, level1_id, file_type, file_name, pipeline_id, pmapname, build, level0_id, dataset, batch_id, qc1_status) print(result) ``` ### 8. 生成流水线的处理消息 ```python from csst_dfs_client import level1 result = level1.generate_prc_msg(module_id='some_module_id', level1_id='some_level1_id', dataset='some_dataset', batch_id='some_batch_id') print(result) ``` ### 9. 通过1级数据的ID查询1级数据处理记录 ```python from csst_dfs_client import level1 result = level1.process_list(level1_id='some_level1_id') print(result) # result.data为list类型,包含1级数据处理记录列表 ``` ### 10. 添加1级数据处理记录 ```python from csst_dfs_client import level1 result = level1.add_process( level1_id='some_level1_id', pipeline_id='some_pipeline_id', run_id='some_run_id', batch_id='some_batch_id', dataset='default_dataset', prc_status=1, prc_time='2024-11-07 10:24:12', prc_module='some_function_name', message='some_message') print(result) ``` - [其他接口](./usage.md)