BlobInput Interface

Definition

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.

@FunctionName("getBlobSize")
@StorageAccount("AzureWebJobsStorage")
 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
Implements
java.lang.annotation.Annotation

Methods

connection()

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

dataType()

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[]
name()

The variable name used in function.json.

path()

Defines the path of the blob to which to bind.

Applies to