Skip to main content

PUT to Stage

Overview

Uploads data files from a local file system directory/folder on a client machine to Databend named internal stages.

REST API

  • A POST to /v1/upload_to_stage uploads the file to the server stage with stream in the POST body, and returns a JSON containing the query status.
ParametersDescriptionRequired
stage_name:<your-stage-name>The client header of the internal stage nameYES
update=@<your-file-path>The file path which will be upload to the stageYES

Quick Example

This example show how we update a file to a named internal stage.

  1. Create a named internal stage from MySQL client:
mysql>
create stage my_internal_stage;
  1. Download sample data and PUT to stage

Download books.parquet

Put books.parquet to stage
curl  -H "stage_name:my_internal_stage" -F "upload=@books.parquet" -XPUT "http://localhost:8000/v1/upload_to_stage"
Response
{"id":"a3b21915-b3a3-477f-8e31-b676074539ea","stage_name":"my_internal_stage","state":"SUCCESS","files":["books.parquet"]}

Then check the stage files with:

mysql>
list @my_internal_stage;
Result
+---------------+
| file_name |
+---------------+
| books.parquet |
+---------------+

The file books.parquet has PUT to your named internal stage.