Yes, you can retrieve message metadata by adding a @BindingName("Properties")
annotation to a method parameter like below for example. Things to note here you can bind to any metadata of an event using binding expression. In this case, it's "Properties". Also, Cardinality should be ONE.
@FunctionName("EventHubExample")
public void logEventHubMessage(
@EventHubTrigger(name = "message", eventHubName = "test", connection = "AzureEventHubConnection", consumerGroup = "$Default", cardinality = Cardinality.ONE, dataType = "string")
String message,
final ExecutionContext context,
@BindingName("Properties")
Map<String, Object> properties) {
context.getLogger().info("Event hub message received: " + message + ", properties: " + properties);
}
I used Service Bus Explorer as Event Sender to set metadata of the event as below and was able to see those in the consumer side using above code in "Properties" binding.

N.B. C# function SDK has a benefit here over Java. In C#, you can get the whole Event object which is easier to navigate for metadata directly while getting multiple events in input. But unfortunately, that's not possible in Java SDK as of now where you have to bind separately with single cardinality.