public class BlobArtifactRequest extends Object
Request a list of requests in a generalized format which can be run to upload an artifact to storage managed by the queue.
See https://schemas.taskcluster.net/queue/v1/post-artifact-request.json#/oneOf[0]
Modifier and Type | Class and Description |
---|---|
class |
BlobArtifactRequest.MultipartPart |
Modifier and Type | Field and Description |
---|---|
String |
contentEncoding
Optionally provide an encoding type which should be set as the HTTP Content-Encoding header for this artifact.
|
int |
contentLength
The number of bytes of the entire artifact.
|
String |
contentSha256
The complete SHA256 value of the entire artifact.
|
String |
contentType
Artifact mime-type, when uploading artifact to the signed
PUT URL returned from this request this must given with the ContentType header. |
Date |
expires
Date-time after which the artifact should be deleted.
|
BlobArtifactRequest.MultipartPart[] |
parts
A list of parts for a multipart upload.
|
String |
storageType
Artifact storage type, in this case
'blob' Possible values: * “blob”See https://schemas.taskcluster.net/queue/v1/post-artifact-request.json#/oneOf[0]/properties/storageType |
int |
transferLength
The number of bytes transfered across the wire to the backing datastore.
|
String |
transferSha256
This is the sha256 of the bytes transfered across the wire to the backing datastore.
|
Constructor and Description |
---|
BlobArtifactRequest() |
public String contentEncoding
Optionally provide an encoding type which should be set as the HTTP Content-Encoding header for this artifact.
Max length: 255
public int contentLength
The number of bytes of the entire artifact. This must be the number of bytes in the file to be uploaded. For single part uploads, the upload will fail if the number of bytes uploaded does not match this value. A single part upload (e.g. no parts list) may be at most 5GB. This limit is enforced in the code because it is not possible to represent all of the restrictions in a json-schema. A multipart upload may be at most 5TB, with each part other than the last being between 5MB and 5GB in size.
Mininum: 0
public String contentSha256
The complete SHA256 value of the entire artifact. This must be the SHA256 of the file which is to be uploaded. For single part uploads, the upload will fail if the SHA256 value of what is uploaded does not match this value
Syntax: ^[a-fA-F0-9]{64}$
public String contentType
Artifact mime-type, when uploading artifact to the signed PUT
URL returned from this request this must given with the ContentType
header. Please, provide correct mime-type, this make tooling a lot easier, specifically, always using application/json
for JSON artifacts.
Max length: 255
See https://schemas.taskcluster.net/queue/v1/post-artifact-request.json#/oneOf[0]/properties/contentType
public Date expires
Date-time after which the artifact should be deleted. Note, that these will be collected over time, and artifacts may remain available after expiration. S3 based artifacts are identified in azure table storage and explicitly deleted on S3 after expiration.
See https://schemas.taskcluster.net/queue/v1/post-artifact-request.json#/oneOf[0]/properties/expires
public BlobArtifactRequest.MultipartPart[] parts
A list of parts for a multipart upload. The presence of this list is how a multipart upload is differentiated from a single part upload. The items in this list represent individual parts for upload. For a multipart upload, the sha256 values provided here must match the sha256 value that S3 internally computes for the upload to be considered a success. The overall sha256 value is not checked explicitly because the S3 API does not allow for that, but the same code that is responsible for generating the parts hashes would also be generating the overall hash, which makes this less of a concern. The worst case is that we have artifacts which incorrectly do not validate, which is not as big of a security concern.
Min length: 1
See https://schemas.taskcluster.net/queue/v1/post-artifact-request.json#/oneOf[0]/properties/parts
public String storageType
Artifact storage type, in this case 'blob'
Possible values: * “blob”
See https://schemas.taskcluster.net/queue/v1/post-artifact-request.json#/oneOf[0]/properties/storageType
public int transferLength
The number of bytes transfered across the wire to the backing datastore. If specified, it represents the post-content-encoding byte count
Mininum: 0
public String transferSha256
This is the sha256 of the bytes transfered across the wire to the backing datastore. If specified, it represents the post-content-encoding sha256 value
Syntax: ^[a-fA-F0-9]{64}$
Copyright © 2014–2018 Mozilla. All rights reserved.