QlikElixir.REST.DataFiles (qlik_elixir v0.3.5)
View SourceQlik Cloud Data Files REST API client.
Provides functions to manage data files including uploading, listing, updating, and organizing files across spaces.
API Reference: https://qlik.dev/apis/rest/data-files/
Summary
Functions
Moves multiple data files to a different space in a batch.
Deletes multiple data files in a batch.
Changes the owner of a data file.
Moves a data file to a different space.
Deletes a data file.
Finds a data file by name.
Gets details for a specific data file.
Gets storage quotas for data files.
Lists data files.
Lists data file connections.
Updates (replaces) a data file's content.
Uploads content as a new data file.
Uploads a file from a file path.
Functions
@spec batch_change_space([String.t()], String.t(), keyword()) :: {:ok, map()} | {:error, QlikElixir.Error.t()}
Moves multiple data files to a different space in a batch.
Examples
iex> QlikElixir.REST.DataFiles.batch_change_space(["file-1", "file-2"], "space-456")
{:ok, %{"movedIds" => ["file-1", "file-2"]}}
@spec batch_delete( [String.t()], keyword() ) :: {:ok, map()} | {:error, QlikElixir.Error.t()}
Deletes multiple data files in a batch.
Examples
iex> QlikElixir.REST.DataFiles.batch_delete(["file-1", "file-2"])
{:ok, %{"deletedIds" => ["file-1", "file-2"]}}
@spec change_owner(String.t(), String.t(), keyword()) :: {:ok, map()} | {:error, QlikElixir.Error.t()}
Changes the owner of a data file.
Examples
iex> QlikElixir.REST.DataFiles.change_owner("file-123", "user-456")
{:ok, %{"id" => "file-123", "ownerId" => "user-456"}}
@spec change_space(String.t(), String.t(), keyword()) :: {:ok, map()} | {:error, QlikElixir.Error.t()}
Moves a data file to a different space.
Examples
iex> QlikElixir.REST.DataFiles.change_space("file-123", "space-456")
{:ok, %{"id" => "file-123", "spaceId" => "space-456"}}
@spec delete( String.t(), keyword() ) :: :ok | {:error, QlikElixir.Error.t()}
Deletes a data file.
Examples
iex> QlikElixir.REST.DataFiles.delete("file-123")
:ok
@spec find_by_name( String.t(), keyword() ) :: {:ok, map()} | {:error, QlikElixir.Error.t()}
Finds a data file by name.
Options
:connection_id- Filter by connection ID:config- Custom configuration
Examples
iex> QlikElixir.REST.DataFiles.find_by_name("sales.csv")
{:ok, %{"id" => "file-123", "name" => "sales.csv"}}
@spec get( String.t(), keyword() ) :: {:ok, map()} | {:error, QlikElixir.Error.t()}
Gets details for a specific data file.
Examples
iex> QlikElixir.REST.DataFiles.get("file-123")
{:ok, %{"id" => "file-123", "name" => "sales.csv"}}
@spec get_quotas(keyword()) :: {:ok, map()} | {:error, QlikElixir.Error.t()}
Gets storage quotas for data files.
Examples
iex> QlikElixir.REST.DataFiles.get_quotas()
{:ok, %{"maxBytes" => 10737418240, "usedBytes" => 1073741824}}
@spec list(keyword()) :: {:ok, map()} | {:error, QlikElixir.Error.t()}
Lists data files.
Options
:connection_id- Filter by connection ID:limit- Maximum number of files to return:next- Cursor for pagination:config- Custom configuration
Examples
iex> QlikElixir.REST.DataFiles.list(connection_id: "conn-123")
{:ok, %{"data" => [...]}}
@spec list_connections(keyword()) :: {:ok, map()} | {:error, QlikElixir.Error.t()}
Lists data file connections.
Examples
iex> QlikElixir.REST.DataFiles.list_connections()
{:ok, %{"data" => [%{"id" => "conn-1", "name" => "Personal Files"}]}}
@spec update(String.t(), binary(), keyword()) :: {:ok, map()} | {:error, QlikElixir.Error.t()}
Updates (replaces) a data file's content.
Examples
iex> QlikElixir.REST.DataFiles.update("file-123", "new,content")
{:ok, %{"id" => "file-123", "size" => 11}}
@spec upload(binary(), String.t(), keyword()) :: {:ok, map()} | {:error, QlikElixir.Error.t()}
Uploads content as a new data file.
Parameters
content- The file content (binary)filename- Name for the file (must end with .csv)opts- Options including:config,:connection_id
Examples
iex> QlikElixir.REST.DataFiles.upload("col1,col2\nval1,val2", "data.csv")
{:ok, %{"id" => "new-file"}}
@spec upload_file( String.t(), keyword() ) :: {:ok, map()} | {:error, QlikElixir.Error.t()}
Uploads a file from a file path.
Options
:name- Custom filename (defaults to basename of file_path):connection_id- Data connection ID:config- Custom configuration
Examples
iex> QlikElixir.REST.DataFiles.upload_file("/path/to/sales.csv")
{:ok, %{"id" => "file-123"}}