# Create a VFS connection

Perform the following steps to create a VFS connection in PDI:

1. Start the PDI client (Spoon) and create a new [transformation](https://github.com/pentaho/documentation/blob/main/PDIA/10.2/PDI/Data%20Integration%20Perspective/Data%20Integration%20perspective%20in%20the%20PDI%20client/Work%20with%20transformations%20cp=GUID-1B9C8573-4C71-47FD-AF03-E9A0A43EDCD4=4=en=.md) or [job](/pdia-data-integration/10.2-data-integration/data-integration-perspective-in-the-pdi-client/work-with-jobs.md).
2. In the **View** tab of the Explorer pane, right-click on the **VFS Connections** folder, and then click **New**.

   The New VFS connection dialog box opens.

   ![New VFS Connection dialog box](/files/Q0JBGzucR8LF0AVDR3Hq)
3. In the **Connection Name** field, enter a name that uniquely describes this connection. Optionally, add a **Description**.

   The name can contain spaces, but cannot include special characters, such as `#`, `$`, `/`, `\`, `%`, and `%`.
4. In the **Connection Type** field, select from one of the following types:
   * **Amazon S3/Minio/HCP**
   * **Azure Data Lake Gen 1**
   * **Azure Data Lake Gen 2 / Blob**
   * **Google Cloud Storage**
   * **HCP REST**
   * **Local**
   * **SMB/UNC Provider**
   * **Snowflake Staging**
5. In the connection details panel of New VFS Connection dialog box, select the connection type details and options. Choose from the following connection types and options:

   **Note:** You can add a predefined variable file to the fields that have the ![Insert Variable Icon](https://github.com/pentaho/documentation/blob/main/PDIA/10.2/PDI/Data%20Integration%20Perspective/Data%20Integration%20perspective%20in%20the%20PDI%20client/Connecting%20to%20Virtual%20File%20Systems%20cp/VFS_Variable%20Insert_Icon=GUID-FF2B54CF-F37F-4C16-9544-36743357AE6D=1=en=Low.png)icon. Place the cursor in the required field and enter `Ctrl+Space`. Select the required file from the list of files available. The variable must be a predefined variable and not a runtime variable. The variables are defined in the Kettle.properties. For more information on variables, see [Kettle Variables](/pdia-data-integration/10.2-data-integration/data-integration-perspective-in-the-pdi-client/advanced-topics-pdi-perspective/pdi-run-modifiers/variables/kettle-variables.md).

| Connection type                  | Options                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Amazon**                       | <p>Click <strong>S3 Connection Type</strong> and select <strong>Amazon</strong> from the list to use an Amazon S3 connection.</p><p>Simple Storage Service (S3) accesses the resources on Amazon Web Services. See <a href="https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html">Working with AWS Credentials</a> for Amazon S3 setup instructions.</p><ul><li>Select the <strong>Authentication Type</strong>:<br>- <strong>Access Key/Secret Key</strong><br>- <strong>Credentials File</strong></li><li>Select the <strong>Region</strong>.</li><li><p>When <strong>Authentication Type</strong> is:</p><ul><li><strong>Access Key/Secret Key</strong>, then enter the <strong>Access Key</strong> and <strong>Secret Key</strong>, and optionally enter the <strong>Session Token</strong>.</li><li><strong>Credentials File</strong>, then enter the <strong>Profile Name</strong> and the <strong>File Location</strong>.</li></ul></li><li>Select the <strong>Default S3 Connection</strong> checkbox to make <strong>Amazon</strong> the default S3 connection.</li></ul>                                                                                                                                                                                                                                                                                                                          |
| **Minio/HCP**                    | <p>Click <strong>S3 Connection Type</strong> and select <strong>Minio/HCP</strong> from the list to use a Minio/HCP S3 connection.</p><p>Minio accesses data objects on an Amazon compatible storage server. See the <a href="https://docs.min.io/docs/">Minio Quickstart Guide</a> for Minio setup instructions.</p><ul><li>Enter the <strong>Access Key</strong>.</li><li>Enter the <strong>Secret Key</strong>.</li><li>Enter the <strong>Endpoint</strong>.</li><li>Enter the <strong>Signature Version</strong>.</li><li>Select the <strong>PathStyle Access</strong> checkbox to use path-style requests. Otherwise, Amazon S3 bucket-style access is used.</li><li>Select the <strong>Default S3 Connection</strong> checkbox to make <strong>Minio/HCP</strong> the default S3 connection.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **Azure Data Lake Gen 1**        | <p>Accesses data objects on Microsoft Azure Gen 1 storage services. You must create an Azure account and configure Azure Data Lake Storage Gen 1. See <a href="https://docs.hitachivantara.com/r/W5Oy5NghPggWbWs_8gNJXw/bVcEnW6Cj5aOLgChBPiz5w">Access to Microsoft Azure</a> for more information.</p><ul><li>The <strong>Authentication Type</strong> is <strong>Service-to-service authentication</strong>, only.</li><li>Enter the <strong>Account Fully Qualified Domain Name</strong>.</li><li>Enter the <strong>Application (client) ID</strong>.</li><li>Enter the <strong>Client Secret.</strong></li><li>Enter the <strong>OAuth 2.0 token endpoint</strong>.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **Azure Data Lake Gen 2 / Blob** | <p>Accesses data objects on Microsoft Azure Gen 2 and Blob storage services. You must create an Azure account and configure Azure Data Lake Storage Gen 2 and Blob Storage. See <a href="https://docs.hitachivantara.com/r/W5Oy5NghPggWbWs_8gNJXw/bVcEnW6Cj5aOLgChBPiz5w">Access to Microsoft Azure</a> for more information.</p><ul><li>Select the <strong>Authentication Type</strong>:<br>- <strong>Account Shared Key</strong><br>- <strong>Azure Active Directory</strong><br>- <strong>Shared Access Signature</strong></li><li>Enter the <strong>Service Account Name</strong>.</li><li>Enter the <strong>Block Size (Min 1 MB to Max 100 MB)</strong>.The default is 50.</li><li>Enter the <strong>Buffer Count (Min 2)</strong>. The default is 5.</li><li>Enter the <strong>Max Block Upload Size (Min 1 MB to 900 MB)</strong>. The default is 100.</li><li>Select the <strong>Access Tier</strong>. The default value is Hot.</li><li><p>When <strong>Authentication Type</strong> is:</p><ul><li><strong>Account Shared Key</strong>, then enter the <strong>Service Account Shared Key</strong>.</li><li><strong>Azure Active Directory</strong>, then enter the <strong>Application (client) ID</strong>, <strong>Client Secret</strong>, and <strong>Directory (tenant) ID</strong>.</li><li><strong>Shared Access Signature</strong>, then enter the <strong>Shared Access Signature</strong>.</li></ul></li></ul> |
| **Google Cloud Storage**         | <p>Accesses data objects on the Google Cloud Storage file system. See <a href="https://cloud.google.com/storage/docs">Google Cloud Storage</a> for more information on this protocol.</p><ul><li>Enter the <strong>Service Account Key Location</strong>.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **HCP REST**                     | <p>Accesses data objects on the Hitachi Content Platform. You must configure HCP and PDI before accessing the platform. You must also configure object versioning in HCP Namespaces. See <a href="https://docs.hitachivantara.com/r/W5Oy5NghPggWbWs_8gNJXw/U4R_swcuWATRSshT9TM1bw">Access to HCP</a> for more information.</p><ul><li>Enter the <strong>Host</strong> and <strong>Port</strong> number.</li><li>Enter the <strong>Tenant</strong>, <strong>Namespace</strong>, <strong>Username</strong>, and <strong>Password</strong>.</li><li>Click <strong>More options</strong> then enter the <strong>Proxy Host</strong> and <strong>Proxy Port</strong> number.</li><li>Select whether to use <strong>Accept self-signed certificate</strong>. The default is No.</li><li>Select whether the <strong>Proxy is secure</strong>. The default is No.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **Local**                        | <p>Accesses a file system on your local machine.</p><ul><li>Enter the <strong>Root Folder Path</strong> or click <strong>Browse</strong> to set a folder connection in the local physical file system of the machine. Optionally, use an empty path to allow the selected roles to access the root directory and its folders.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **SMB/UNC Provider**             | <p>Accesses Server Message Block data using a Universal Naming Convention string to specify the file location.</p><ul><li>Enter the <strong>Domain</strong>. The domain name of the target machine hosting the resource. If the machine has no domain name (for example, a home computer), then use the name of the machine.</li><li>Enter the <strong>Port Number</strong>. The default is 445.</li><li>Enter the <strong>Server</strong>, <strong>User Name</strong>, and <strong>Password</strong>.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Snowflake Staging**            | <p>Accesses a staging area used by Snowflake to load files. See <a href="https://docs.snowflake.net/">Snowflake staging area</a> for more information on this protocol.</p><ul><li>Enter the <strong>Host Name</strong>.</li><li>Enter the <strong>Port Number</strong>. The default is 443.</li><li>Enter the <strong>Database</strong>.</li><li>Enter the <strong>Namespace</strong>, <strong>User Name</strong>, and <strong>Password</strong>.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |

6\. For all connection types except \*\*Local\*\* which is selected in step 5, enter the \*\*Root Folder Path\*\* for your VFS connection. Enter the full path to set a connection to a specific folder. Optionally, use an empty path to allow access to all folders in the root.

```
The default is to the root and its folders in your local physical file system.
```

7\. (Optional) Click **Test** to verify your connection.

8. Click **OK** to complete the setup.

You can now use your connection to specify VFS information in your transformation steps or job entries, such as the Snowflake entries or HCP steps. See [PDI and Snowflake](https://github.com/pentaho/documentation/blob/main/PDIA/10.2/PDI/Advanced%20Pentaho%20Data%20Integration%20topics/Advanced%20topics%20\(Pentaho%20Data%20Integration%20overview\)/PDI%20and%20Snowflake%20cp=GUID-75EACA27-8EEE-4543-BD57-99A2697F1839=4=en=.md) and [PDI and Hitachi Content Platform (HCP)](https://github.com/pentaho/documentation/blob/main/PDIA/10.2/PDI/Advanced%20Pentaho%20Data%20Integration%20topics/Advanced%20topics%20\(Pentaho%20Data%20Integration%20overview\)/PDI%20and%20Hitachi%20Content%20Platform%20\(HCP\)=GUID-F4977458-2FA6-4D2C-8991-1391D0849655=6=en=.md) for more information about these entries and steps, and see [Access files with the VFS browser](/pdia-data-integration/10.2-data-integration/data-integration-perspective-in-the-pdi-client/virtual-file-system-browser/vfs-browser-connecting-to-virtual-file-systems/use-the-vfs-browser-in-the-pdi-client.md) for general VFS connection details.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pentaho.com/pdia-data-integration/10.2-data-integration/data-integration-perspective-in-the-pdi-client/virtual-file-system-browser/create-a-vfs-connection-in-pdi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
