-
Notifications
You must be signed in to change notification settings - Fork 187
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No documentation on how to actually use the S3 backend #442
Comments
We should port over the previous example documentation for the point release, and work on setting up a tutorial style guide for the next release cycle. |
We should also add some code examples. |
Some confusion may arise from the An example combining S3 config setup and bucket write/read would be very helpful. |
Hi @deorbit, hopefully we will have some better documentation and examples soon, but in the meantime here is a sample configuration that may help you get started. Let's assume you are running your TileDB program on an EC2 instance, and you are trying to create a new TileDB array in an existing S3 bucket in the tiledb_config_t *config = NULL;
tiledb_config_t *error = NULL;
tiledb_config_create(&config, &error);
tiledb_config_set(config, "vfs.s3.scheme", "https", &error);
tiledb_config_set(config, "vfs.s3.region", "us-east-1", &error);
tiledb_config_set(config, "vfs.s3.endpoint_override", "", &error);
tiledb_config_set(config, "vfs.s3.use_virtual_addressing", "true", &error);
tiledb_ctx_t *ctx;
tiledb_ctx_create(&ctx, config);
// Create your array schema as normal, defining dimensions, the
// domain, attributes, etc.
tiledb_array_create(ctx, "s3://my-bucket-name/array-name", array_schema);
tiledb_config_free(&config);
tiledb_ctx_free(&ctx); Let me know if this does not work for you, or you have other questions. |
Thanks @tdenniston. I'm using the Python API as follows:
An exception is thrown:
|
Please use:
Sorry about that :). The Python API uses string key/value pairs for the configs. |
Ah, so do I need to explicitly create a tiledb.ArraySchema now? I've been working without it when running an array off the local filesystem. (I'm seeing |
It seems that TileDB cannot find the array you attempt to read. Could you please share the code with which you create the array? |
Here's how, in addition to the above config setup. Works locally. What else do I need for S3? Do I need to explicitly configure a schema when working with S3?
|
No, it should work exactly as it works locally. Can you please check that
|
Keys are set. Does the Homebrew build have S3 enabled? |
Not by default. You need to run:
This is documented here but we need to add it to docs.tiledb.io as well. |
That was it. I ran |
Awesome! Massive S3 performance optimizations are coming up. Please stay tuned! |
Great! We will take full advantage of them. |
Added some S3 documentation. Closes #442
Reopening as we are having some issues building the added S3 documentation on RTD. Will address this very soon. |
does this work with aws sso login? (e.g: if I set someting like |
It seems to work, I just had to run this on top of the existing aws sso setup: https://github.com/victorskl/yawsso |
Hi @deeTEEcee, We support both session tokens and assumerole, please see: https://docs.tiledb.com/main/how-to/backends/s3#aws-security-credentials AWS_PROFILE should work via the SDK defaults if no other credential source is specified. You can also override the order with the tiledb config option
|
How do I setup SSO auth for TileDB? I get the error below when I do soma.Experiment.open(s3_path). I am pretty sure the path exists and works: in Python I can access with s3fs.S3FileSystem(profile=...). Our company setup is through SSO and using s3fs starts up a prompt to authenticate in a browser. With TileDB I get some error about redirecting. I tried setting region, key, secret, etc. with tiledb.default_ctx to no avail. error message: |
Hi @vtrifonov-altos, could you please email |
We have no easy to use guide / docs on how to setup the S3 backend (AWS), connect to a bucket (with correct config settings), write and read back some data.
The text was updated successfully, but these errors were encountered: