Manage files in tenant object store
You can use the SDK's FileClient to manage your files
within Atlan's tenant object store by leveraging presigned URLs.
Upload file to object store
To upload a file to the tenant object store:
- Atlan CLI
- Java
- Python
- Kotlin
- Go
- Raw REST API
atlan upload -f user/some-folder/my-file.txt -r atlan/object/store/file.txt # (1)
-
To upload the file to the object store, you must specify the following flags:
-f or --file: path to the file to be uploaded to the object store.--r or --remote: actual object name where you want to upload the file (e.g:prefix/object_name).
Make sure you have the CLI configured before running the above command.
from pyatlan.client.atlan import AtlanClient
from pyatlan.model.file import PresignedURLRequest
client = AtlanClient()
presigned_url = client.files.generate_presigned_url(
request=PresignedURLRequest( # (1)
key="my-folder/my-file.txt",
expiry="30s",
method=PresignedURLRequest.Method.PUT,
)
)
client.files.upload_file( # (2)
presigned_url=presigned_url,
file_path="user/some-folder/upload-file.txt"
)
-
Begin by generating a presigned URL for the object store. You need to specify:
- actual object name where you want to upload the file (e.g:
prefix/object_name). - expiration time interval for the presigned URL.
- presigned URL method (
PUTfor upload).
- actual object name where you want to upload the file (e.g:
-
Finally, upload the file to the object store by providing:
- any valid presigned URL.
- path to the file to be uploaded to the object store.
package main
import (
"fmt"
"github.com/atlanhq/atlan-go/atlan/assets"
"github.com/atlanhq/atlan-go/atlan/model"
)
func main(),
)
if err != nil {
fmt.Println("Error while generating url:", err)
}
uploadFilePath := "user/some-folder/upload-file.txt"
err = client.UploadFile(presignedUrl, uploadFilePath) // (2)
if err != nil {
fmt.Println("Error while uploading file:", err)
}
}
-
Begin by generating a presigned URL for the object store. You need to specify:
- actual object name where you want to upload the file (e.g:
prefix/object_name). - expiration time interval for the presigned URL.
- presigned URL method (
PUTfor upload).
- actual object name where you want to upload the file (e.g:
-
Finally, upload the file to the object store by providing:
- any valid presigned URL.
- path to the file to be uploaded to the object store.
{
"method": "PUT", // (1)
"key": "my-folder/my-file.txt", // (2)
"expiry": "30s" // (3)
}
- The presigned URL method (
PUTfor upload). - The actual object name where you want to upload the file (e.g:
prefix/object_name). - An expiration time interval for the presigned URL.
Download file from object store
To download a file from the tenant object store:
- Atlan CLI
- Java
- Python
- Kotlin
- Go
- Raw REST API
atlan download -r atlan/object/store/file.txt -o user/some-folder/my_file.txt # (1)
-
To download the file from the object store, you must specify the following flags:
-r or --remote: actual object name you want to download (e.g:prefix/object_name).--o or --output: path to the location where you want to save the downloaded file.
Make sure you have the CLI configured before running the above command.
from pyatlan.client.atlan import AtlanClient
from pyatlan.model.file import PresignedURLRequest
client = AtlanClient()
presigned_url = client.files.generate_presigned_url(
request=PresignedURLRequest( # (1)
key="my-folder/my-file.txt",
expiry="30s",
method=PresignedURLRequest.Method.GET,
)
)
client.files.download_file( # (2)
presigned_url=presigned_url,
file_path="user/some-folder/download-file.txt"
)
-
Begin by generating a presigned URL for the object store. You need to specify:
- actual object name you want to download (e.g:
prefix/object_name). - expiration time interval for the presigned URL.
- presigned URL method (
GETfor download).
- actual object name you want to download (e.g:
-
Finally, download the file from the object store by providing:
- any valid presigned URL.
- path to the location where you want to save the downloaded file.
package main
import (
"fmt"
"github.com/atlanhq/atlan-go/atlan/assets"
"github.com/atlanhq/atlan-go/atlan/model"
)
func main(),
)
if err != nil {
fmt.Println("Error while generating url:", err)
}
downloadFilePath := "user/some-folder/download-file.txt"
err = client.DownloadFile(presignedUrl, downloadFilePath) // (2)
if err != nil {
fmt.Println("Error while downloading file:", err)
}
}
-
Begin by generating a presigned URL for the object store. You need to specify:
- actual object name you want to download (e.g:
prefix/object_name). - expiration time interval for the presigned URL.
- presigned URL method (
GETfor download).
- actual object name you want to download (e.g:
-
Finally, download the file from the object store by providing:
- any valid presigned URL.
- path to the location where you want to save the downloaded file.
{
"method": "GET", // (1)
"key": "my-folder/my-file.txt", // (2)
"expiry": "30s" // (3)
}
- The presigned URL method (
GETfor download). - The actual object name you want to download (e.g:
prefix/object_name). - An expiration time interval for the presigned URL.