earth-mover / community

Community support for Arraylake
7 stars 0 forks source link

Downloading/Plotting array lake dataset #8

Open melioristic opened 2 months ago

melioristic commented 2 months ago

Description

I am currently working with the Arraylake platform associated with my company's dashboard. While I can log in and see the entire folder structure, I am unable to download or plot data using xarray. The error message indicates that credentials are required.

Steps to Reproduce

Log in using arraylake auth login. Connect to the repository using the following Python API code: python Copy code client = Client() client.login() repo = client.get_repo("worldsphereai/cat5") repo.status()

Attempt to access elements inside the file.

Expected Behavior

I should be able to download and plot data using xarray without encountering credential issues.

Actual Behavior

When attempting to plot data using ds.tb.plot(), I receive the following error:

NoCredentialsError: Unable to locate credentials

Screenshot 2024-07-11 at 11 08 43 PM

When I use a command like ds.tb.plot() I see following error NoCredentialsError: Unable to locate credentials

After looking through the documentation I found that I do not have a Service Account API. Do I really need it to access the data? My organization did share the repo with me so that I can have access to it and work with the data, so please let me know what should I do to get this access?

Any help would be greatly appreciated.

rabernat commented 2 months ago

Hello and welcome @melioristic!

I believe the problem is that, while you have credentials for Arraylake, you don't have credentials for the underlying S3 bucket. So you can only read your metadata, not your actual data.

To resolve this, you need to configure your environment with appropriate AWS S3 credentials. See also:

You need to obtain these credentials from whomever is responsible for managing your AWS account.

melioristic commented 2 months ago

Hi @rabernat

The data was directly uploaded to arraylake. Though internally it might be uploaded to S3 bucket. Does that still required an aws credentials details?

rabernat commented 2 months ago

Arraylake only stores the metadata. The chunk data still live in object storage. See the overview documentation for more background. If you can't access S3, you won't be able to use Arraylake.

Screenshot 2024-07-12 at 8 48 44 AM

melioristic commented 2 months ago

Just on that note. So if I have uploaded the data through arraylake from where I can get the credentials for S3? Can the person who uploaded the data through arraylake share the credentials?