-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathremove_source_folders.py
More file actions
80 lines (65 loc) · 2.09 KB
/
Copy pathremove_source_folders.py
File metadata and controls
80 lines (65 loc) · 2.09 KB
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
"""
WARNING: This deletes raw data. Please use caution.
This example demonstrates how to remove the source folders after the data
has been uploaded to S3.
"""
from datetime import datetime
import requests
from aind_data_schema_models.modalities import Modality
from aind_data_schema_models.platforms import Platform
from aind_data_transfer_service.models.core import (
SubmitJobRequestV2,
Task,
UploadJobConfigsV2,
)
# The job_type contains the default settings for compression and Code Ocean
# pipelines.
job_type = "ecephys"
acq_datetime = datetime(2023, 4, 3, 18, 17, 7)
remove_source_folders = Task(skip_task=False)
ecephys_task = Task(
job_settings={
"input_source": (
"/allen/aind/scratch/svc_aind_upload/test_data_sets/"
"ecephys/655019_2023-04-03_18-17-07"
)
}
)
modality_transformation_settings = {"ecephys": ecephys_task}
gather_preliminary_metadata = Task(
job_settings={
"metadata_dir": (
"/allen/aind/scratch/svc_aind_upload/test_data_sets/"
"ecephys/655019_2023-04-03_18-17-07"
)
}
)
upload_job_configs_v2 = UploadJobConfigsV2(
job_type=job_type,
project_name="Ephys Platform",
platform=Platform.ECEPHYS,
modalities=[Modality.ECEPHYS],
subject_id="655019",
acq_datetime=acq_datetime,
tasks={
"modality_transformation_settings": modality_transformation_settings,
"gather_preliminary_metadata": gather_preliminary_metadata,
"remove_source_folders": remove_source_folders
},
)
submit_request_v2 = SubmitJobRequestV2(
upload_jobs=[upload_job_configs_v2],
)
post_request_content = submit_request_v2.model_dump(
mode="json", exclude_none=True
)
# Please use the production endpoint for submitting jobs and the dev endpoint
# for running tests.
# endpoint = "http://aind-data-transfer-service"
endpoint = "http://aind-data-transfer-service-dev" # For testing
submit_job_response = requests.post(
url=f"{endpoint}/api/v2/submit_jobs",
json=post_request_content,
)
print(submit_job_response.status_code)
print(submit_job_response.json())