Informs Amazon ECR that the image layer upload is complete for a specified public registry, repository name, and upload ID. You can optionally provide a sha256 digest of the image layer for data validation purposes.

When an image is pushed, the CompleteLayerUpload API is called once for each new image layer to verify that the upload is complete.


This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

See also: AWS API Documentation

Request Syntax

response = client.complete_layer_upload(
  • registryId (string) -- The Amazon Web Services account ID, or registry alias, associated with the registry where layers are uploaded. If you do not specify a registry, the default public registry is assumed.
  • repositoryName (string) --


    The name of the repository in a public registry to associate with the image layer.

  • uploadId (string) --


    The upload ID from a previous InitiateLayerUpload operation to associate with the image layer.

  • layerDigests (list) --


    The sha256 digest of the image layer.

    • (string) --
Return type



Response Syntax

    'registryId': 'string',
    'repositoryName': 'string',
    'uploadId': 'string',
    'layerDigest': 'string'

Response Structure

  • (dict) --

    • registryId (string) --

      The public registry ID that's associated with the request.

    • repositoryName (string) --

      The repository name that's associated with the request.

    • uploadId (string) --

      The upload ID that's associated with the layer.

    • layerDigest (string) --

      The sha256 digest of the image layer.


  • ECRPublic.Client.exceptions.ServerException
  • ECRPublic.Client.exceptions.InvalidParameterException
  • ECRPublic.Client.exceptions.RepositoryNotFoundException
  • ECRPublic.Client.exceptions.UploadNotFoundException
  • ECRPublic.Client.exceptions.InvalidLayerException
  • ECRPublic.Client.exceptions.LayerPartTooSmallException
  • ECRPublic.Client.exceptions.LayerAlreadyExistsException
  • ECRPublic.Client.exceptions.EmptyUploadException
  • ECRPublic.Client.exceptions.RegistryNotFoundException
  • ECRPublic.Client.exceptions.UnsupportedCommandException