BlobInput Interface


Place this on a parameter whose value would come from a blob. The parameter type can be one of the following:

  • Any native Java types such as int, String, byte[]
  • Nullable values using Optional
  • Any POJO type

The following example is a Java function that uses a queue trigger and an input blob binding. The queue message contains the name of the blob, and the function logs the size of the blob.

 public void blobSize(
    @QueueTrigger(name = "filename",
                   queueName = "myqueue-items") String filename,
    @BlobInput(name = "file",
                dataType = "binary",
                path = "samples-workitems/{queueTrigger}") byte[] content,
     final ExecutionContext context
 ) {
     context.getLogger().info("The size of \"" + filename + "\" is: " + content.length + " bytes");
public interface BlobInput implements Annotation



Defines the app setting name that contains the Azure Storage connection string.


Defines how Functions runtime should treat the parameter value. Possible values are:

  • "": get the value as a string, and try to deserialize to actual parameter type like POJO
  • string: always get the value as a string
  • binary: get the value as a binary data, and try to deserialize to actual parameter type byte[]

The variable name used in function.json.


Defines the path of the blob to which to bind.

Applies to