<div dir="ltr">Hi Even,<br><br><div class="gmail_quote"><div dir="ltr">On Wed, 10 Oct 2018 at 15:42, Even Rouault <<a href="mailto:even.rouault@spatialys.com">even.rouault@spatialys.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">> eg. gdal.Open("/vsis3?ext=.tif/mybucket/mypath/my.tif", ...)<br>
<br>
Hum, we should treat the path to the object as a real URL argument then, so something like<br>
<br>
/vsis3?ext=.tif&object=mybucket/path/to/my.tif<br></blockquote><div><br></div><div>If we're splitting it out, should bucket and the object key (S3 uses the term "key" in it's documentation) be separate parameters?</div><div><br></div><div>ie.</div><div>/vsis3?bucket=mybucket&key=path/to/my.tif&ext=.tif</div><div><div>/vsis3?bucket=mybucket&key=path/to/my.tif&ext=.tif&ext=.tif.aux.xml</div>/vsis3?bucket=mybucket&key=path/to/my.tif&ext<br class="gmail-Apple-interchange-newline"></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
with the path value being URL-encoded if needed (like the similar syntax added in 2.3 for /vsicurl/: <br>
<a href="https://gdal.org/gdal_virtual_file_systems.html#gdal_virtual_file_systems_vsicurl" rel="noreferrer" target="_blank">https://gdal.org/gdal_virtual_file_systems.html#gdal_virtual_file_systems_vsicurl</a> )<br>
<br></blockquote><div><br></div><div>Sure.</div><div><br></div><div>Are there other options that would be useful per-dataset? GDAL_READDIR_ON_OPEN is exposed as ?list_dir=yes|no for vsicurl, maybe that should be added here too?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
> <br>
> Another alternative would be to have it as an Open Option to pass to<br>
> gdal.OpenEx(), though they seem designed for driver-specific options rather<br>
> than access-method.<br>
<br>
That one would be nice, but tricky. Basically, the config option must be set at the time a<br>
Open() or Stat() action is done, but GDALOpen() has no control on when the driver will<br>
performs such actions. One could presume they will be done by the open code of the driver, but<br>
who knows if a driver might not do deferred access, after the Open() method has been<br>
completed. </blockquote><div><br></div><div>Makes sense.</div><div><br></div><div>Cheers,</div><div><br></div><div>Rob :)</div></div></div>