- Activities
- Alarms
- Audit
- Buckets
- Clearance
- Commands
- COP-1
- Database
- Events
- File Transfer
- IAM
- Indexes
- Instances
- Links
- MDB Override
- MDB
- Packets
- Parameter Archive
- Parameter Lists
- Parameter Values
- Processing
- Queues
- Replication
- RocksDB
- Server
- Services
- Sessions
- Stream Archive
- Table
- Time Correlation
- Time
- Timeline
Yamcs Release Notes
Yamcs Server Manual
Source Code Documentation
Upload ObjectΒΆ
Upload an object
Simple upload
In case of simple upload, the objectName has to be specified as part of the URL
and the Content-Type header
has to be set to the type of the object. The body
of the request is the object data.
Form upload
The form based upload can be used to upload an object from an HTML form. In this
case the Content-Type of the request is set to multipart/form-data
, and the
body will contain at least one part which is the object data. This part includes
a filename which is used as the object name as well as a Content-Type
header.
The name attribute for the file part is ignored.
Additional parts (which do not specify a filename) will be used as metadata: the
name is specified as part of the Content-Disposition
and the value is the body
of the part.
This can be tested with curl using the -F
option.
Example
POST /api/storage/buckets/my_bucket/objects HTTP/1.1
Host: localhost:8090
User-Agent: curl/7.58.0
Accept: */*
Content-Length: 1090
Content-Type: multipart/form-data; boundary=------------------------7109c709802f7ae4
--------------------------7109c709802f7ae4
Content-Disposition: form-data; name="file"; filename="object/name"
Content-Type: text/plain
[object data]
--------------------------7109c709802f7ae4
Content-Disposition: form-data; name="name1"
value1
--------------------------7109c709802f7ae4
Content-Disposition: form-data; name="name2"
value2
--------------------------7109c709802f7ae4--
This will create an object named object/name
with two metadata properties:
{
"name1": "value1",
"name2": "value2"
}
URI Template
POST /api/storage/buckets/{bucketName}/objects/{objectName**}
{bucketName}
Bucket name. If the bucketName is ``user.username`` the bucket will be created automatically if it does not exist. Otherwise the bucket must exist before being used.
{objectName**}
Object name
Request Body
interface HttpBody {
// The Content-Type header value for this body.
// If unspecified, defaults to application/octet-stream
contentType: string;
// If set, a Content-Disposition header is added
// to the response. Weg agents use this to trigger
// a download.
filename: string;
// The body as raw binary
data: string; // Base64
// Any other metadata (used in multipart/form)
metadata: {[key: string]: string};
}