Last modified by Dennis Segebarth on 2024/10/02 18:38

From version 1.4
edited by Susan Evans
on 2023/07/10 22:18
Change comment: (Autosaved)
To version 1.8
edited by Susan Evans
on 2023/07/10 22:26
Change comment: (Autosaved)

Summary

Details

Page properties
Content
... ... @@ -453,8 +453,178 @@
453 453  * When uploading file to the Project Core, the user must have access to the Core (Project Contributors cannot upload files/folders to the Project Core).
454 454  )))
455 455  
456 +{{code language="none"}}
457 +$ pilotcli file upload --help
458 +Usage: pilotcli file upload [OPTIONS] [PATHS]...
456 456  
460 + Upload files/folders to a given Project path.
457 457  
462 +Options:
463 + -p, --project-path TEXT Project folder path starting from Project code.
464 + (i.e., indoctestproject/user/folder) [required]
465 +
466 + -a, --attribute TEXT File Attribute Template used for annotating files
467 + during upload.
468 +
469 + -t, --tag TEXT Add a tag to the file. This option could be used
470 + multiple times for adding multiple tags.
471 +
472 + -z, --zone TEXT Target Zone (i.e., core/greenroom) [default:
473 + greenroom] [default: greenroom]
474 +
475 + -m, --upload-message TEXT The message used to comment on the purpose of
476 + uploading your processed file [default: ]
477 +
478 + -s, --source-file TEXT The Project path of the source file of your
479 + processed files.
480 +
481 + --zip Upload folder as a compressed zip file.
482 + -td, --thread INTEGER The number of thread for upload a file [default:
483 + 1]
484 +
485 + -o, --output-path TEXT The output path for the manifest file of
486 + resumable upload [default: ./manifest.json]
487 +
488 + --help Show this message and exit.
489 +{{/code}}
490 +
491 +=== Examples ===
492 +
493 +Upload a file (or folder) to a specified directory of a Project’s Green Room, in this case the file located at {{code}}./sample_folder/sample_file1{{/code}} will be uploaded to the folder “admin” in the Project with the Project Code “cli” {{code}}(-p cli/admin){{/code}}:
494 +
495 +{{code language="none"}}
496 +$ pilotcli file upload ./sample_folder/sample_file1 -p cli/admin
497 +Starting upload of: ./sample_folder/sample_file1
498 +Pre-upload complete.
499 +uploader: admin container_id: 18061 total_size: 1048576 total_chunks: 1 uniq_identifier: e958247c-ce05-48b2-9038-78b774836256-1627498771 resumable_relative_path admin/
500 +
501 +Upload job is finalizing, please wait...
502 +Upload job complete.
503 +All files uploaded successfully.
504 +{{/code}}
505 +
506 +In case the specified destination directory does not exist yet, you will be prompted to confirm its creation by entering “y”, or to abort the command by entering “N”:
507 +
508 +{{code language="none"}}
509 +Target folder does not exist. Would you like to create a new folder? [y/N]: y
510 +{{/code}}
511 +
512 +In order to upload a file (or folder) to a destination directory in a Project's Core, core must be specified as corresponding zone {{code}}(-z core){{/code}} and you will be required to provide a message to that should describe the files` content and why you are uploading it directly into the Core {{code}}(-m "sample message"){{/code}}. Moreover, you will be reminded about the Terms of Use of the Platform and additional considerations regarding the direct upload of data into the Core zone, and are prompted to confirm your intention to proceed with the upload by entering “y” or “Yes”:
513 +
514 +{{code language="none"}}
515 +$ pilotcli file upload ./sample_folder/sample_file2 -p cli/admin -z core -m "sample message"
516 +You are about to transfer data directly to the Core! In accordance with the Terms of Use, please confirm that you
517 +have made your best efforts to pseudonymize or anonymize the data and that you have the legal authority to transfer and make this
518 +data available for dissemination and use within the Platform.To review the Terms of Use, please the Portal. If you
519 +need to process the data to remove sensitive identifiers, please cancel this transfer and upload the data to the Green Room to
520 +perform these actions.
521 +To cancel this transfer, enter [n/No]
522 +To confirm and proceed with the data transfer, enter [y/Yes]
523 + [y/N]: y
524 +Starting upload of: ./sample_folder/sample_file2
525 +Pre-upload complete.
526 +uploader: admin container_id: 18061 total_size: 1048576 total_chunks: 1 uniq_identifier: fa807a0f-ceb0-4fff-9c9e-563bdcbb309f-1627498851 resumable_relative_path admin/
527 +
528 +Upload job is finalizing, please wait...
529 +Upload job complete.
530 +All files uploaded successfully.
531 +{{/code}}
532 +
533 +Upload a folder to Project Green Room
534 +
535 +{{code language="none"}}
536 +$ pilotcli file upload ./sample_folder/example_folder -p cli/admin
537 +Starting upload of: ./sample_folder/example_folder
538 +Current version does not support folder tagging, any selected tags will be ignored
539 +Pre-upload complete.
540 +uploader: admin container_id: 18061 total_size: 1048576 total_chunks: 1 uniq_identifier: 4f0eee2e-70f4-4b03-9e72-040544ec7d3a-1627498907 resumable_relative_path admin/example_folder/
541 +
542 +Starting finalization...
543 +uploader: admin container_id: 18061 total_size: 1048576 total_chunks: 1 uniq_identifier: 41ec70e2-0859-4aba-9009-06e700c7c79e-1627498907 resumable_relative_path admin/example_folder/
544 +
545 +Starting finalization...
546 +uploader: admin container_id: 18061 total_size: 1048576 total_chunks: 1 uniq_identifier: 28454c51-ec9a-4dc5-ab3c-0f7e80e3050d-1627498907 resumable_relative_path admin/example_folder/
547 +
548 +Upload job is finalizing, please wait...
549 +Upload job complete.
550 +All files uploaded successfully.
551 +{{/code}}
552 +
553 +Upload file to existing folder in Green Room
554 +
555 +* Specify a target folder to upload files by inputting folder name after the Project code separated by the '/'.
556 +
557 +{{code language="none"}}
558 +$ pilotcli file upload ./sample_folder/sample_file5 -p cli/admin/example_folder
559 +Starting upload of: ./sample_folder/sample_file5
560 +Pre-upload complete.
561 +uploader: admin container_id: 18061 total_size: 1048576 total_chunks: 1 uniq_identifier: 7ef58005-d408-4ad9-a741-fa938f58e67f-1627498977 resumable_relative_path admin/example_folder/
562 +
563 +Upload job is finalizing, please wait...
564 +Upload job complete.
565 +All files uploaded successfully.
566 +{{/code}}
567 +
568 +Upload folder as zip to a specified directory of a Project's Green Room by adding the ~-~-zip option.
569 +
570 +* The specified folder will then be compressed as a zip file and subsequently be uploaded to the specified destination. Once the upload is completed, the compressed zip file will be removed from the directory. Note: pilotcli must have the permission to create and delete zip files in the corresponding directory of your local machine:
571 +
572 +{{code language="none"}}
573 +$ pilotcli file upload ./sample_folder/example_folder -p cli/admin --zip
574 +Starting upload of: ./sample_folder/example_folder
575 +Started zipping files.
576 +Pre-upload complete.
577 +uploader: admin container_id: 18061 total_size: 3595 total_chunks: 1 uniq_identifier: 61a729ce-cdd6-4a87-82b5-3f8ea63e6c4a-1627499012 resumable_relative_path admin/
578 +
579 +Upload job is finalizing, please wait...
580 +Upload job complete.
581 +All files uploaded successfully.
582 +{{/code}}
583 +
584 +Upload a file with tags and/or attributes.
585 +
586 +* When entering the upload command, the user can add a maximum of ten tags to the file. For example, in order to add “sample_tag1” and “sample_tag2” to your file, simply add {{code}}-t sample_tag1{{/code}} {{code}}-t sample_tag2{{/code}} to the command (see example below using {{code}}tag1{{/code}} and {{code}}tag2{{/code}} as tags).
587 +* In addition, you can also use attribute templates for a more enriched annotation of your files. Please note, that the corresponding attribute template file needs to be edited & saved prior to uploading. To get the blank template, see the **attribute-export** instructions above for more details. To attach a attribute JSON-file to your file upon uploading, use {{code}}-a cli_Manifest1_template.json{{/code}}, where “{{code}}cli_Manifest1_template.json{{/code}}" points to the location of the attributes JSON-file on your local machine.
588 +* Upon uploading, pilotcli will also validate the content of the attached attribute JSON-file. Whenever a template is invalid, including missing non-optional fields, non-existing choice in multiple choice attribute, exceeding length text field and so on, pilotcli will raise error to user and user must update the attribute template and upload again:
589 +
590 +{{code language="none"}}
591 +$ pilotcli file upload ./sample_folder/sample_file6 -p cli/admin -t tag1 -t tag2 -a cli_Manifest1_template.json
592 +File attribute validation passed: True
593 +Starting upload of: ./sample_folder/sample_file6
594 +Pre-upload complete.
595 +uploader: admin container_id: 18061 total_size: 1048576 total_chunks: 1 uniq_identifier: bc47ec2a-1a4e-4f71-a37a-7ce6473e415a-1627499273 resumable_relative_path admin/
596 +
597 +Upload job is finalizing, please wait...
598 +Upload job complete.
599 +Attribute attached
600 +All files uploaded successfully.
601 +{{/code}}
602 +
603 +Upload a file with specified number of threads, using the {{code}}-td <thread_number>{{/code}} option.
604 +
605 +* By default, the number of threads is 1. There will no UI difference when using threads. The maximal number of threads depends on your local machine and the recommend thread number is 3:
606 +
607 +{{code language="none"}}
608 +$ pilotcli file upload -p indoctestproject/admin/test20230306_3 /home/color/indoc/script/large_folder_test_data/gentoo_root_100M.img -td 3
609 +Target folder does not exist. Would you like to create a new folder? [y/N]: y
610 +Starting upload of: /home/color/indoc/script/large_folder_test_data/gentoo_root_100M.img
611 +Pre-upload complete.
612 +Uploading gentoo_root_100M.img , resumable_id: c68752372b42c85d, job_id: 56de3632-58df-445c-bcb9-bddfe6be5bf7: |██████████████████████████████ 100% 00:00
613 +Upload Time: 79.77s for 1 files
614 +All uploading jobs have finished.
615 +{{/code}}
616 +
617 +(10) upload with customized manifest name
618 +
619 +When you upload a file using pilotcli, a JSON file with the details of your specific upload job will be created automatically and allows you to resume the upload at a later time, in case the process is aborted due to any reason. By default, this JSON file will be created as “manifest.json” in the current working directory (see //Command: **resume**// below for more details on how to resume the file upload). However, you can use the {{code}}--output-path{{/code}} option to specify the filepath and, thus, the filename of this JSON file:
620 +
621 +{{code language="none"}}
622 +$ pilotcli file upload -p <path> <file> --output-path test_manifest.json
623 +{{/code}}
624 +
625 +
626 +
627 +
458 458  ----
459 459  
460 460  -