private String getSignedId(ChunkInfo chunkInfo, String uploadSession) {
    Map<String, String> metadata = new HashMap<>(3);
    metadata.put(RestUtils.Headers.BLOB_SIZE, Long.toString(chunkInfo.getChunkSizeInBytes()));
    metadata.put(RestUtils.Headers.SESSION, uploadSession);
    metadata.put(PostBlobHandler.EXPIRATION_TIME_MS_KEY, Long.toString(chunkInfo.getExpirationTimeInMs()));
    try {
      return "/" + idSigningService.getSignedId(chunkInfo.getBlobId(), metadata);
    } catch (RestServiceException e) {
      throw new RuntimeException(e);
    }
  }
Generate a signed ID for a data chunk based on the provided arguments.
@param chunkInfo the {@link ChunkInfo} containing the blob ID and additional metadata.
@param uploadSession the session ID to include in the metadata.
@return the signed ID.
ambry-frontend/src/test/java/com/github/ambry/frontend/NamedBlobPutHandlerTest.java