Skip to content

Instantly share code, notes, and snippets.

@recursivecodes
Created August 12, 2019 16:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save recursivecodes/17ba75334effaba2d3accc6fac68c7f8 to your computer and use it in GitHub Desktop.
Save recursivecodes/17ba75334effaba2d3accc6fac68c7f8 to your computer and use it in GitHub Desktop.
HelloFunction.java
package com.example.fn;
import com.drew.imaging.ImageMetadataReader;
import com.drew.imaging.ImageProcessingException;
import com.drew.metadata.Metadata;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.cloudevents.CloudEvent;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Map;
public class HelloFunction {
    public Metadata handleRequest(CloudEvent event) throws IOException, ImageProcessingException {
        ObjectMapper objectMapper = new ObjectMapper();
        Map data = objectMapper.convertValue(event.getData().get(), Map.class);
        Map additionalDetails = objectMapper.convertValue(data.get("additionalDetails"), Map.class);
        String imageUrl = "https://objectstorage.us-phoenix-1.oraclecloud.com/n/" +
                additionalDetails.get("namespace") +
                "/b/" +
                additionalDetails.get("bucketName") +
                "/o/" +
                data.get("resourceName");
        InputStream imageStream = new URL(imageUrl).openStream();
        Metadata metadata = ImageMetadataReader.readMetadata(imageStream);
        System.out.println(objectMapper.writeValueAsString(metadata));
        //todo: do something with the metadata
        return metadata;
    }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment