Virtual File System

Virtual File System (VFS)

I. Introduction

VFS (acronym for Virtual File System) is an IO component that offers a simple mechanism to access files from remote site or a particular file structure in a same way as native file system from OS.


1. VFS components

  1. Schema

    The component that uniquely identifies VFS from others.
    Example: s3: for Amazon Web Services S3 VFS.

  2. Address

    The component that indicates the location of VFS.
    Example: https://s3.amazonaws.com for Amazon Web Services S3 VFS.

  3. Particular properties

    The specific components that indicate required data necessary for access VFS. Each of them is a pair of Name and Value, where Name is the unique identifier for the property and Value is the data.
    Example: AccessKeyId, SecretAccessKey for Amazon Web Services S3 VFS.

2. Supported Virtual File Systems


  1. S3
  2. HTTP

    Note: Because on HTTP there is not a clearly defined API, such as on Swift or Amazon AWS, the HTTP VFS works only with "Index of" pages from Apache HTTP Server.

  3. Open Stack Swift S3

II. The VFS Remote File Repositories

The VFS Remote File Repositories represents a set of configurations which designate a VFS.

Note: The current VFS implementations (http, swift, s3) allow multiple Remote File Repositories for each type of VFS (schema), with the condition that the configured name is unique.

VFS Remote File Repositories

1. Add a new VFS Remote File Repository

  • From SNAP "Tools" menu select "Options".
    From "Options" window select "General", then select "Remote File Repositories".
Remote File Repositories tab
  • Click on button "Create New Remote File Repository"   Create New Remote File Repository button   from the left of "Remote File Repositories List" table.
    The new VFS Remote File Repository is created and "Remote File Repository Configurations" area will appear.
Remote File Repository Created
  • Enter the "VFS Remote File Repository Name" in the corresponding field (only alpha-numeric characters and "_" (underline) are allowed, the name must be unique).
    The name of VFS Remote File Repository can be changed anytime by entering new one in the corresponding field.
    If name is correct it will be saved, otherwise a warning message will notify what was wrong.
Remote File Repository Name
  • Enter the "VFS Remote File Repository Scheme" in the corresponding field (only lowercase alpha-numeric characters are allowed).
    The scheme of VFS Remote File Repository can be changed anytime by entering new one in the corresponding field.
    If schema is correct it will be saved, otherwise a warning message will notify what was wrong.
Remote File Repository Scheme
  • Enter the "VFS Remote File Repository Address" in the corresponding field (only URL specific characters are allowed).
    The address of VFS Remote File Repository can be changed anytime by entering new one in the corresponding field.
    If address is correct it will be saved, otherwise a warning message will notify what was wrong.
Remote File Repository Address
  • If VFS Remote File Repository requires specific properties such as "username" and "password", these can be created using next guideline.
  • Click on button "Apply"   Apply button   from the bottom of window, for save the changes in SNAP configuration files.

    Note: Please restart the SNAP application to take effect.

Apply changes

2. Add a new VFS Remote File Repository Property

  • From SNAP "Tools" menu select "Options".
    From "Options" window select "General", then select "Remote File Repositories".
Remote File Repositories tab
  • Select VFS Remote File Repository from "Remote File Repositories List" table, and Remote "File Repository Configurations" area will appear.
Remote File Repository Selection
  • Click on button "Create New Remote File Repository Property"   Create New Remote File Repository Property button   from the left of "Properties" table.
    The new VFS Remote File Repository Property is created and an empty row will appear at the end of Properties table.
Remote File Repository Property Created
  • In the new row of "Properties" table, column "Name", enter the name of new VFS Remote File Repository Property (only alpha-numeric characters and "_" (underline) are allowed, the name must be unique) and hit Enter key.
    The name of VFS Remote File Repository Property can be changed anytime by double-clicking on the corresponding cell.
Remote File Repository Property Name
  • In the new row of "Properties" table, column "Value", enter the value of new VFS Remote File Repository Property (must not be empty) and hit Enter key. The value of VFS Remote File Repository Property can be changed anytime by double-clicking on the corresponding cell.
Remote File Repository Property Value
  • Click on button "Apply"   Apply button   from the bottom of window, for save the changes in SNAP configuration files.

    Note: Please restart the SNAP application to take effect.

Apply changes

3. Remove VFS Remote File Repository

  • From SNAP "Tools" menu select "Options".
    From "Options" window select "General", then select "Remote File Repositories".
Remote File Repositories tab
  • Select VFS Remote File Repository from "Remote File Repositories List" table, and Remote "File Repository Configurations" area will appear.
Remote File Repository Selection
  • Click on button "Remove Remote File Repository"   Remove Remote File Repository button   from the left of "Remote File Repositories List" table.
    A confirmation prompt will be shown. Answer with YES to confirm the deletion of Remote File Repository with all Properties.
Remote File Repository Deletion
  • Click on button "Apply"   Apply button   from the bottom of window, for save the changes in SNAP configuration files.

    Note: Please restart the SNAP application to take effect.

Apply changes

4. Remove VFS Remote File Repository Property

  • From SNAP "Tools" menu select "Options".
    From "Options" window select "General", then select "Remote File Repositories".
Remote File Repositories tab
  • Select VFS Remote File Repository from "Remote File Repositories List" table, and Remote "File Repository Configurations" area will appear.
Remote File Repository Selection
  • Select VFS Remote File Repository Property from "Properties" table.
Remote File Repository Property Selection
  • Click on button "Remove Remote File Repository Property"   Remove Remote File Repository Property button   from the left of "Properties" table.
    A confirmation prompt will be shown. Answer with YES to confirm the deletion of Remote File Repository Property.
Remote File Repository Property Deletion
  • Click on button "Apply"   Apply button   from the bottom of window, for save the changes in SNAP configuration files.

    Note: Please restart the SNAP application to take effect.

Apply changes

III. Using the VFS

The VFS provides the possibility to open products from remote locations (e.g. CREODIAS, AWS).

1. Opening a product from VFS

Note: In order to use the VFS for opening a product, the Remote File Repositories must be correctly configured and SNAP Application restarted after saving the VFS configuration.

Note: The following example explains the opening of a Sentinel-2 (S2) product from Swift VFS (CREODIAS).

  • From SNAP "File" menu select "Open Product" or simple click on button "Open Product"   Open Product button   from the File Toolbar.
Open Product
  • From SNAP File Chooser select the VFS (e.g. Swift) on "Look in" combo box. The VFS roots have the icon:   VFS icon  
Select VFS
  • Browse through VFS by double-clicking on VFS directories. The VFS directories have the icon:   VFS icon  
Browse through VFS
  • Select the product file by double-clicking on VFS file or single-click on it and click on "Open" button . The VFS files have the icon:   VFS icon  
Select product file
  • Wait until product is opened in SNAP.
Select product file
  • See the product in SNAP.
Select product file