Class ContainerRegistryBlobClient

java.lang.Object
com.azure.containers.containerregistry.specialized.ContainerRegistryBlobClient

public class ContainerRegistryBlobClient extends Object
This class provides a client that exposes operations to push and pull images into container registry. It exposes methods that upload, download and delete artifacts from the registry i.e. images and manifests.

View this for additional ways to construct the client.

See Also:
  • Method Details

    • getRepositoryName

      public String getRepositoryName()
      This method returns the registry's repository on which operations are being performed.
      Returns:
      The name of the repository
    • getEndpoint

      public String getEndpoint()
      This method returns the complete registry endpoint.
      Returns:
      The registry endpoint including the authority.
    • uploadManifest

      public UploadManifestResult uploadManifest(OciManifest manifest)
      Upload the Oci manifest to the repository. The upload is done as a single operation.
      Parameters:
      manifest - The OciManifest that needs to be updated.
      Returns:
      operation result.
      Throws:
      ClientAuthenticationException - thrown if the client's credentials do not have access to modify the namespace.
      NullPointerException - thrown if the manifest is null.
      See Also:
    • uploadManifest

      public UploadManifestResult uploadManifest(UploadManifestOptions options)
      Uploads a manifest to the repository. The client currently only supports uploading OciManifests to the repository. And this operation makes the assumption that the data provided is a valid OCI manifest.

      Also, the data is read into memory and then an upload operation is performed as a single operation.

      Parameters:
      options - The options for the upload manifest operation.
      Returns:
      The operation result.
      Throws:
      ClientAuthenticationException - thrown if the client's credentials do not have access to modify the namespace.
      NullPointerException - thrown if the data is null.
      See Also:
    • uploadManifestWithResponse

      public Response<UploadManifestResult> uploadManifestWithResponse(UploadManifestOptions options, Context context)
      Uploads a manifest to the repository. The client currently only supports uploading OciManifests to the repository. And this operation makes the assumption that the data provided is a valid OCI manifest.

      Also, the data is read into memory and then an upload operation is performed as a single operation.

      Parameters:
      options - The options for the upload manifest operation.
      context - Additional context that is passed through the Http pipeline during the service call.
      Returns:
      The rest response containing the operation result.
      Throws:
      ClientAuthenticationException - thrown if the client's credentials do not have access to modify the namespace.
      NullPointerException - thrown if the data is null.
      See Also:
    • uploadBlob

      public UploadBlobResult uploadBlob(BinaryData data)
      Uploads a blob to the repository. The client currently uploads the entire blob\layer as a single unit.

      Also, the blob is read into memory and then an upload operation is performed as a single operation. We currently do not support breaking the layer into multiple chunks and uploading them one at a time

      Parameters:
      data - The blob\image content that needs to be uploaded.
      Returns:
      The operation result.
      Throws:
      ClientAuthenticationException - thrown if the client's credentials do not have access to modify the namespace.
      NullPointerException - thrown if the data is null.
    • uploadBlobWithResponse

      public Response<UploadBlobResult> uploadBlobWithResponse(BinaryData data, Context context)
      Uploads a blob to the repository. The client currently uploads the entire blob\layer as a single unit.

      Also, the blob is read into memory and then an upload operation is performed as a single operation. We currently do not support breaking the layer into multiple chunks and uploading them one at a time The service does support this via range header.

      Parameters:
      data - The blob\image content that needs to be uploaded.
      context - Additional context that is passed through the Http pipeline during the service call.
      Returns:
      The rest response containing the operation result.
      Throws:
      ClientAuthenticationException - thrown if the client's credentials do not have access to modify the namespace.
      NullPointerException - thrown if the data is null.
    • downloadManifest

      public DownloadManifestResult downloadManifest(DownloadManifestOptions options)
      Download the manifest associated with the given tag or digest. We currently only support downloading OCI manifests.
      Parameters:
      options - Options for the operation.
      Returns:
      The manifest associated with the given tag or digest.
      Throws:
      ClientAuthenticationException - thrown if the client's credentials do not have access to modify the namespace.
      NullPointerException - thrown if the tagOrDigest is null.
      See Also:
    • downloadManifestWithResponse

      public Response<DownloadManifestResult> downloadManifestWithResponse(DownloadManifestOptions options, Context context)
      Download the manifest associated with the given tag or digest. We currently only support downloading OCI manifests.
      Parameters:
      options - Options for the operation.
      context - Additional context that is passed through the Http pipeline during the service call.
      Returns:
      The response for the manifest associated with the given tag or digest.
      Throws:
      ClientAuthenticationException - thrown if the client's credentials do not have access to modify the namespace.
      NullPointerException - thrown if the tagOrDigest is null.
      See Also:
    • downloadBlob

      public DownloadBlobResult downloadBlob(String digest)
      Download the blob associated with the given digest.
      Parameters:
      digest - The digest for the given image layer.
      Returns:
      The image associated with the given digest.
      Throws:
      ClientAuthenticationException - thrown if the client's credentials do not have access to modify the namespace.
      NullPointerException - thrown if the digest is null.
    • downloadBlobWithResponse

      public Response<DownloadBlobResult> downloadBlobWithResponse(String digest, Context context)
      Download the blob\layer associated with the given digest.
      Parameters:
      digest - The digest for the given image layer.
      context - Additional context that is passed through the Http pipeline during the service call.
      Returns:
      The image associated with the given digest.
      Throws:
      ClientAuthenticationException - thrown if the client's credentials do not have access to modify the namespace.
      NullPointerException - thrown if the digest is null.
    • deleteBlob

      public void deleteBlob(String digest)
      Delete the image associated with the given digest
      Parameters:
      digest - The digest for the given image layer.
      Throws:
      ClientAuthenticationException - thrown if the client's credentials do not have access to modify the namespace.
      NullPointerException - thrown if the digest is null.
    • deleteBlobWithResponse

      public Response<Void> deleteBlobWithResponse(String digest, Context context)
      Delete the image associated with the given digest
      Parameters:
      digest - The digest for the given image layer.
      context - Additional context that is passed through the Http pipeline during the service call.
      Returns:
      The REST response for the completion.
      Throws:
      ClientAuthenticationException - thrown if the client's credentials do not have access to modify the namespace.
      NullPointerException - thrown if the digest is null.
    • deleteManifest

      public void deleteManifest(String digest)
      Delete the manifest associated with the given digest. We currently only support downloading OCI manifests.
      Parameters:
      digest - The digest of the manifest.
      Throws:
      ClientAuthenticationException - thrown if the client's credentials do not have access to modify the namespace.
      NullPointerException - thrown if the digest is null.
      See Also:
    • deleteManifestWithResponse

      public Response<Void> deleteManifestWithResponse(String digest, Context context)
      Delete the manifest associated with the given digest. We currently only support downloading OCI manifests.
      Parameters:
      digest - The digest of the manifest.
      context - Additional context that is passed through the Http pipeline during the service call.
      Returns:
      The REST response for completion.
      Throws:
      ClientAuthenticationException - thrown if the client's credentials do not have access to modify the namespace.
      NullPointerException - thrown if the digest is null.
      See Also: