Package com.github.ambry.frontend
Class NamedBlobPutHandler
- java.lang.Object
-
- com.github.ambry.frontend.NamedBlobPutHandler
-
public class NamedBlobPutHandler extends java.lang.Object
Handler for put named blob requests. The following request types are handled byNamedBlobPutHandler
:Direct uploads
Direct upload requests treat the body of the request as the content to upload to Ambry. The request path should be "/named/account_name/container_name/blob_name". In these requests, the blob properties and user metadata are supplied as headers. SeeRestUtils.buildBlobProperties(Map)
andRestUtils.buildBlobProperties(Map)
for more details.Stitched uploads
Stitched upload requests allow clients to stitch together previously uploaded data chunks into a single logical blob. The request path should be "/named/account_name/container_name/blob_name", This request accepts the same headers as direct upload requests for supplying the blob properties and user metadata of the stitched blob, but, instead of the actual blob content, accepts a UTF-8 JSON object that includes the signed IDs for the chunks to stitch, and header x-ambry-put-mode should set as "STITCH".Request body format
The body of the request should be a JSON object that conforms to the format described inStitchRequestSerDe
.