level0.md 4.71 KB
Newer Older
Wei Shoulin's avatar
docs  
Wei Shoulin committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# 0级数据接口使用说明

## 概述

0级数据接口模块是 `csst_dfs_client.level0`。该模块包含了搜索0级数据文件记录、将本地文件写入DFS等功能的函数。

## 函数列表

1. **find**
   - 功能:根据给定的参数搜索0级数据文件记录。
   - 参数:包括项目ID、观测ID、模块ID、探测器编号、文件类型、滤光片、观测时间范围、创建时间范围等。
   - 返回值:搜索结果对象。

2. **get_by_id**
   - 功能:通过0级数据内部ID获取对应的0级数据文件记录。
   - 参数:0级数据内部ID。
   - 返回值:查询结果对象。

3. **find_by_level0_id**
   - 功能:通过0级数据ID获取对应的0级数据文件记录。
   - 参数:0级数据ID。
   - 返回值:查询结果对象。

4. **update_qc0_status**
   - 功能:更新0级数据的QC0状态。
   - 参数:0级数据ID、文件类型、QC0状态、数据集名称(可选)。
   - 返回值:操作结果对象,包含操作是否成功以及相关的错误信息。
  
5. **update_prc_status**
   - 功能:更新0级数据的处理状态。
   - 参数:0级数据ID、文件类型、处理状态、数据集名称(可选)。
   - 返回值:操作结果对象,包含操作是否成功以及相关的错误信息。

6. **write**
   - 功能:将本地文件写入DFS中。
   - 参数:本地文件路径、数据集名称(可选)、其他可选的关键字参数。
   - 返回值:操作结果对象,包含操作是否成功以及相关的错误信息。

7. **write_cat**
   - 功能:将主巡天仿真数据的星表本地文件写入DFS中。
   - 参数:本地文件路径、数据集名称(可选)、其他可选的关键字参数。
   - 返回值:操作结果对象,包含操作是否成功以及相关的错误信息。

8. **process_list**
   - 功能:通过0级数据ID获取对应的0级数据处理记录。
   - 参数:0级数据ID。
   - 返回值:查询结果对象。
  
9. **add_process**
   - 功能:添加0级数据处理记录。
   - 参数:0级数据ID、管线ID、运行ID、数据集名称(可选)
   - 返回值:操作结果对象,包含操作是否成功以及相关的错误信息。

## 使用示例

### 1.搜索0级数据文件记录

```python
from csst_dfs_client import level0

# 搜索0级数据文件记录
result = level0.find(obs_id='some_obs_id', module_id='MSC', page=1, limit=10)
print(result) # result.data为list类型,包含0级数据文件记录列表
```

### 2. 通过0级数据内部ID获取对应的0级数据文件记录

```python
from csst_dfs_client import level0
result = level0.get_by_id(_id='some_internal_id')
print(result) # result.data为0级数据文件单条记录
```

### 3. 通过0级数据ID获取对应的0级数据

```python

from csst_dfs_client import level0
result = level0.find_by_level0_id(level0_id='some_level0_id')
print(result) # result.data为list类型,包含0级数据的列表
```

### 4. 更新0级数据的QC0状态 

```python
from csst_dfs_client import level0
Wei Shoulin's avatar
Wei Shoulin committed
87
result = level0.update_qc0_status(level0_id='some_level0_id', file_type='SCI', qc0_status=1)
Wei Shoulin's avatar
docs  
Wei Shoulin committed
88
89
90
91
92
93
94
print(result)
```

### 5. 更新0级数据的处理状态

```python
from csst_dfs_client import level0
Wei Shoulin's avatar
Wei Shoulin committed
95
result = level0.update_prc_status(level0_id='some_level0_id', file_type='SCI', prc_status=1, dag_run_id='some_dag_run_id', dataset='dataset_name')
Wei Shoulin's avatar
docs  
Wei Shoulin committed
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
print(result)
```

### 6.将本地文件写入DFS

```python
from csst_dfs_client import level0

# 将本地文件写入DFS
local_file_path = 'path/to/your/level0_data.fits'
dataset = 'default_dataset'  # 可选参数,默认为None
result = level0.write(local_file_path, dataset=dataset)
print(result)
```

### 7.将主巡天仿真数据的星表本地文件写入DFS

```python
from csst_dfs_client import level0

# 将主巡天仿真数据的星表本地文件写入DFS
local_catalog_file_path = 'path/to/your/catalog.cat'
dataset = 'default_dataset'  # 可选参数,默认为None
result = level0.write_cat(local_catalog_file_path, dataset=dataset)
print(result)
```

### 8. 通过0级数据ID获取对应的0级数据处理记录

```python
from csst_dfs_client import level0
result = level0.process_list(level0_id='some_level0_id')
print(result)# result.data为list类型,包含0级数据处理记录列表

```

### 9. 添加0级数据处理记录

```python

from csst_dfs_client import level0
result = level0.add_process(
      level0_id='some_level0_id', 
139
140
      dag_id='some_dag_id', 
      dag_run_id='some_dag_run_id', 
Wei Shoulin's avatar
docs  
Wei Shoulin committed
141
142
143
144
145
146
147
148
149
150
      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)