Associações de saída de Armazenamento de Fila do Azure para o Azure Functions

O Azure Functions pode criar novas mensagens de armazenamento de Fila do Azure configurando uma associação de saída.

Para obter informações sobre a instalação e detalhes de configuração, confira a visão geral.

Exemplo

O exemplo a seguir mostra uma função C# que cria uma mensagem da fila para cada solicitação HTTP recebida.

[StorageAccount("MyStorageConnectionAppSetting")]
public static class QueueFunctions
{
    [FunctionName("QueueOutput")]
    [return: Queue("myqueue-items")]
    public static string QueueOutput([HttpTrigger] dynamic input,  ILogger log)
    {
        log.LogInformation($"C# function processed: {input.Text}");
        return input.Text;
    }
}

Atributos e anotações

Em bibliotecas de classes do C#, use o QueueAttribute.

O atributo se aplica a um out parâmetro ou o valor de retorno da função. O construtor do atributo usa o nome da fila, conforme mostrado no exemplo a seguir:

[FunctionName("QueueOutput")]
[return: Queue("myqueue-items")]
public static string Run([HttpTrigger] dynamic input,  ILogger log)
{
    ...
}

Você pode definir a Connection propriedade para especificar a conta de armazenamento para usar, conforme mostrado no exemplo a seguir:

[FunctionName("QueueOutput")]
[return: Queue("myqueue-items", Connection = "StorageConnectionAppSetting")]
public static string Run([HttpTrigger] dynamic input,  ILogger log)
{
    ...
}

Para ver um exemplo completo, confira o Exemplo de saída.

Você pode usar o StorageAccount atributo para especificar a conta de armazenamento no nível de classe, método ou parâmetro. Para obter mais informações, confira Gatilho – atributos.

Configuração

A tabela a seguir explica as propriedades de configuração de associação que você define no arquivo function.json e no atributo Queue.

Propriedade function.json Propriedade de atributo Descrição
tipo n/d Deve ser definido como queue. Essa propriedade é definida automaticamente quando você cria o gatilho no portal do Azure.
direction n/d Deve ser definido como out. Essa propriedade é definida automaticamente quando você cria o gatilho no portal do Azure.
name n/d O nome da variável que representa a fila no código de função. Definido como $return para referenciar o valor de retorno da função.
queueName QueueName O nome da fila.
connection Conexão O nome de uma configuração de aplicativo que contém uma cadeia de conexão de Armazenamento para usar para essa associação. Se o nome de configuração do aplicativo começar com "AzureWebJobs", você pode especificar apenas o resto do nome aqui.

Por exemplo, se você configurar connection para "MyStorage", o runtime do Functions procurará por uma configuração de aplicativo chamada "MyStorage". Se você deixar connection vazio, o runtime de Functions usa a cadeia de caracteres de conexão de Armazenamento padrão na configuração de aplicativo chamada AzureWebJobsStorage.

Caso esteja usando a versão 5.x ou posterior da extensão, em vez de uma cadeia de conexão, será possível fornecer uma referência a uma seção de configuração que definirá a conexão. Confira a opção Conexões.

Quando você estiver desenvolvendo localmente, as configurações de aplicativo serão adicionadas ao arquivo local.settings.json.

Uso

Padrão

Grave uma mensagem de fila única usando um parâmetro de método como o out T paramName. Você pode usar o tipo de retorno de método em vez de um out parâmetro, e T pode ser qualquer um dos seguintes tipos:

Se você tentar associar CloudQueueMessage e receber uma mensagem de erro, certifique-se de ter uma referência para a versão correta do SDK do Armazenamento.

Em C# e script C#, grave várias mensagens de fila usando um dos seguintes tipos:

Tipos adicionais

Os aplicativos que usam a versão 5.0.0 ou posterior da extensão de Armazenamento também poderão usar tipos do SDK do Azure para .NET. Essa versão remove o suporte dos tipos herdados CloudQueue e CloudQueueMessage para beneficiar os seguintes tipos:

Para obter exemplos de como usar esses tipos, confira o repositório GitHub da extensão.

Exceções e códigos de retorno

Associação Referência
Fila Fila de códigos de erro
Blob, tabela, fila Códigos de erro de armazenamento
Blob, tabela, fila Solução de problemas

Próximas etapas