Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions examples/TileDB.CSharp.Example/ExampleVFS.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
using System;
using System.IO;
using System.Collections.Generic;

using TileDB.CSharp;
using TileDB.CSharp.Examples;

public class ExampleVFS
{
private readonly string _array_path;
private readonly Context _ctx;
private readonly VFS _vfs;

public ExampleVFS()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer the class to be static, the fields to be local variables, the constructor to be merged with Run, and CreateFiles and ListFiles to be local functions inside Run.

Feel free to make the adjustments or I will on Wednesday when I return.

{
var config = new Config();

// To use S3, set a path starting with `s3://` here:
_array_path = "test-example-vfs";

// To use S3, set credentials here (or in AWS_ environment variables)
//config.Set("vfs.s3.aws_access_key_id", "...");

// To use S3 custom headers, set key-value pairs here:
config.Set("vfs.s3.custom_headers.my_test_header", "test-test-1234");


_ctx = new Context(config);
_vfs = new VFS(_ctx);

if (_vfs.IsDir(_array_path))
{
_vfs.RemoveDir(_array_path);
}
_vfs.CreateDir(_array_path);
}

public void CreateFiles()
{
_vfs.Touch(_array_path + "/f1");
}

public void ListFiles()
{
var files = _vfs.GetChildren(_array_path);
files.ForEach(Console.WriteLine);
}

public static void Run()
{
var exampleVFS = new ExampleVFS();

exampleVFS.CreateFiles();
exampleVFS.ListFiles();
}
}