Struct taskcluster::Object[][src]

pub struct Object(_);

Object Service

The object service provides HTTP-accessible storage for large blobs of data.

Objects can be uploaded and downloaded, with the object data flowing directly from the storage “backend” to the caller, and not directly via this service. Once uploaded, objects are immutable until their expiration time.

Implementations

impl Object[src]

pub fn new<CB: Into<ClientBuilder>>(client_builder: CB) -> Result<Self, Error>[src]

Create a new undefined instance, based on the given client.

pub async fn ping(&self) -> Result<(), Error>[src]

Ping Server

Respond without doing anything. This endpoint is used to check that the service is up.

pub fn ping_url(&self) -> Result<String, Error>[src]

Generate an unsigned URL for the ping endpoint

pub fn ping_signed_url(&self, ttl: Duration) -> Result<String, Error>[src]

Generate a signed URL for the ping endpoint

pub async fn createUpload(
    &self,
    name: &str,
    payload: &Value
) -> Result<Value, Error>
[src]

Begin upload of a new object

Create a new object by initiating upload of its data.

This endpoint implements negotiation of upload methods. It can be called multiple times if necessary, either to propose new upload methods or to renew credentials for an already-agreed upload.

The name parameter can contain any printable ASCII character (0x20 - 0x7e). The uploadId must be supplied by the caller, and any attempts to upload an object with the same name but a different uploadId will fail. Thus the first call to this method establishes the uploadId for the object, and as long as that value is kept secret, no other caller can upload an object of that name, regardless of scopes. Object expiration cannot be changed after the initial call, either. It is possible to call this method with no proposed upload methods, which has the effect of “locking in” the expiration, projectId, and uploadId properties and any supplied hashes.

Unfinished uploads expire after 1 day.

pub async fn finishUpload(
    &self,
    name: &str,
    payload: &Value
) -> Result<(), Error>
[src]

Mark an upload as complete.

This endpoint marks an upload as complete. This indicates that all data has been transmitted to the backend. After this call, no further calls to uploadObject are allowed, and downloads of the object may begin. This method is idempotent, but will fail if given an incorrect uploadId for an unfinished upload.

Note that, once finishUpload is complete, the object is considered immutable.

pub async fn startDownload(
    &self,
    name: &str,
    payload: &Value
) -> Result<Value, Error>
[src]

Download object data

Start the process of downloading an object’s data. Call this endpoint with a list of acceptable download methods, and the server will select a method and return the corresponding payload.

Returns a 406 error if none of the given download methods are available.

See Download Methods for more detail.

pub async fn object(&self, name: &str) -> Result<Value, Error>[src]

Get an object’s metadata

Get the metadata for the named object. This metadata is not sufficient to get the object’s content; for that use startDownload.

pub fn object_url(&self, name: &str) -> Result<String, Error>[src]

Generate an unsigned URL for the object endpoint

pub fn object_signed_url(
    &self,
    name: &str,
    ttl: Duration
) -> Result<String, Error>
[src]

Generate a signed URL for the object endpoint

pub async fn download(&self, name: &str) -> Result<(), Error>[src]

Get an object’s data

Get the data in an object directly. This method does not return a JSON body, but redirects to a location that will serve the object content directly.

URLs for this endpoint, perhaps with attached authentication (?bewit=..), are typically used for downloads of objects by simple HTTP clients such as web browsers, curl, or wget.

This method is limited by the common capabilities of HTTP, so it may not be the most efficient, resilient, or featureful way to retrieve an artifact. Situations where such functionality is required should ues the startDownload API endpoint.

See Simple Downloads for more detail.

pub fn download_url(&self, name: &str) -> Result<String, Error>[src]

Generate an unsigned URL for the download endpoint

pub fn download_signed_url(
    &self,
    name: &str,
    ttl: Duration
) -> Result<String, Error>
[src]

Generate a signed URL for the download endpoint

Auto Trait Implementations

impl !RefUnwindSafe for Object

impl Send for Object

impl Sync for Object

impl Unpin for Object

impl !UnwindSafe for Object

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.