code: def _set_blob_properties(self, ud):
          # type: (Uploader, blobxfer.models.upload.Descriptor) -> None
          
          if ud.requires_non_encrypted_md5_put:
              digest = blobxfer.util.base64_encode_as_string(ud.md5.digest())
          else:
              digest = None
          blobxfer.operations.azure.blob.set_blob_properties(ud.entity, digest)
          if blobxfer.util.is_not_empty(ud.entity.replica_targets):
              for ase in ud.entity.replica_targets:
                  blobxfer.operations.azure.blob.set_blob_properties(ase, digest)
docs: Set blob properties (md5, cache control)
          :param Uploader self: this
          :param blobxfer.models.upload.Descriptor ud: upload descriptor