Support PutBlockFromURL API with arbitrary source URL support for synccopy operations.
[x] Restrict dest mode to block only. Forbid all other dest modes. auto may still be used, but must derive to block (i.e., source mode is block).
[x] Allow --remote-path with arbitrary URL support
[x] Generic HEAD on URL to fetch content length
[x] Add --server-side-copy option for synccopy that is applicable for container level support and automatically uses PutBlockFromURL for all object copies.
[x] Make server side copy default, add --no-server-side-copy option toggle
[x] Add test coverage
[x] Amend CLI usage doc and provide a sample commandline
Support
PutBlockFromURL
API with arbitrary source URL support forsynccopy
operations.block
only. Forbid all other dest modes.auto
may still be used, but must derive toblock
(i.e., source mode is block).--remote-path
with arbitrary URL supportHEAD
on URL to fetch content length--server-side-copy
option forsynccopy
that is applicable for container level support and automatically usesPutBlockFromURL
for all object copies.--no-server-side-copy
option toggle