Bug #19382
Updated by Peter Amstutz over 2 years ago
<pre>
# curl http://www.google.com | arv-put --update-collection xxxxx-4zz18-m934edwa42cyvak --filename google_index_html
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 14744 0 14744 0 0 95740 0 --:--:-- --:--:-- --:--:-- 98953
usage: arv-put [-h] [--version] [--normalize | --dry-run] [--as-stream | --stream | --as-manifest | --in-manifest | --manifest | --as-raw | --raw] [--update-collection UUID]
[--use-filename FILENAME] [--filename FILENAME] [--portable-data-hash] [--replication N] [--storage-classes STORAGE_CLASSES] [--threads N] [--exclude PATTERN]
[--follow-links | --no-follow-links] [--trash-at YYYY-MM-DDTHH:MM | --trash-after DAYS] [--project-uuid UUID] [--name NAME]
[--progress | --no-progress | --batch-progress] [--silent] [--batch] [--resume | --no-resume] [--cache | --no-cache] [--retries RETRIES]
[path ...]
arv-put: error:
--update-collection cannot be used when reading from stdin.
</pre>
I think this was done to avoid dealing with the interaction between the "put cache" and the fact that stdin isn't a file -- I don't think there's any reason it can't work, we just chose to avoid the corner case by disallowing it.
A customer tried to do this and was confused that it didn't work. The use case is facilitating transfer from another storage system to Keep by piping to arv-put, where multiple files need to be placed into the collection. We should support it.