Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Um trabalho do Azure Stream Analytics consiste em uma entrada, consulta e saída. Pode enviar dados transformados para vários tipos de saída. Este artigo lista as saídas suportadas pelo Stream Analytics. Ao desenhar a sua consulta de Stream Analytics, consulte o nome da saída usando a cláusula INTO. Pode usar uma única saída por trabalho, ou múltiplas saídas por trabalho de streaming adicionando múltiplas cláusulas INTO à consulta.
Para criar, editar e testar os resultados de trabalhos do Stream Analytics, pode usar o portal Azure, Azure PowerShell, .NET API, REST API, Visual Studio e Visual Studio Code.
Observação
Para a melhor experiência de desenvolvimento local, utilize ferramentas de Stream Analytics para o Visual Studio Code. As ferramentas Stream Analytics para Visual Studio 2019 (versão 2.6.3000.0) apresentam lacunas de funcionalidades conhecidas e não serão melhoradas daqui para a frente.
Alguns tipos de saída suportam particionamento , conforme mostrado na tabela seguinte.
Todas as saídas suportam loteamento, mas apenas algumas suportam definir explicitamente o tamanho do lote de saída. Para mais informações, consulte a secção de tamanhos dos lotes de saída .
| Tipo de saída | Partitioning | Segurança |
|---|---|---|
| Azure Data Explorer | Yes | Identidade gerenciada |
| Funções do Azure | Yes | Chave de acesso |
| Azure Synapse Analytics | Yes | Autenticação de utilizador SQL, Identidade Gerida |
| Armazenamento Blob e Azure Data Lake Gen 2 | Yes | chave de acesso, identidade gerida |
| Azure Cosmos DB | Yes | chave de acesso, identidade gerida |
| Azure Data Lake Storage Gen2 | Yes | Identidade gerida do utilizador Microsoft Entra |
| Hubs de Eventos do Azure | Sim, é preciso definir a coluna da chave de partição na configuração de saída. | chave de acesso, identidade gerida |
| Kafka (pré-visualização) | Sim, é preciso definir a coluna da chave de partição na configuração de saída. | chave de acesso, identidade gerida |
| Base de Dados do Azure para PostgreSQL | Yes | Autorização de nome de utilizador e palavra-passe |
| Power BI | Não | Utilizador do Microsoft Entra, Identidade Gerida |
| Azure Service Bus queues | Yes | chave de acesso, identidade gerida |
| Azure Service Bus topics | Yes | chave de acesso, identidade gerida |
| Banco de Dados SQL do Azure | Sim, opcional. | Autenticação de utilizador SQL, Identidade Gerida |
| Armazenamento de tabelas do Azure | Yes | Chave da conta |
Importante
O Azure Stream Analytics utiliza a API Insert or Replace por padrão. Esta operação substitui uma entidade existente ou insere uma nova entidade se esta não existir na tabela.
Partitioning
O Stream Analytics suporta partições para todas as saídas, exceto para o Power BI. Para mais informações sobre chaves de partição e o número de escritores de saída, consulte o artigo para o tipo de saída específico que lhe interessa. Os artigos para tipos de saída estão interligados na secção anterior.
Para uma afinação mais avançada das partições, pode controlar o número de gravadores de saída usando uma INTO <partition count> cláusula (ver INTO) na sua consulta. Este controlo pode ajudá-lo a alcançar a topologia de trabalho desejada. Se o teu adaptador de saída não estiver particionado, a falta de dados numa partição de entrada pode causar um atraso equivalente ao tempo máximo de chegada tardia. Nesses casos, a saída é fundida para um único escritor, o que pode causar gargalos no seu pipeline. Para saber mais sobre a política de chegada tardia, consulte Azure Stream Analytics: considerações sobre a ordem de eventos.
Tamanho do lote de saída
Todas as saídas suportam batching, mas apenas algumas suportam definir explicitamente o tamanho do lote. O Azure Stream Analytics utiliza lotes de tamanho variável para processar eventos e escrever em saídas. Normalmente, o motor de Stream Analytics não escreve uma mensagem de cada vez e usa lotes para maior eficiência. Quando a taxa de eventos de entrada e saída é elevada, a Análise de Fluxos utiliza lotes maiores. Quando a taxa de saída é baixa, usa lotes mais pequenos para manter a latência baixa.
Comportamento de partição de ficheiros Avro e Parquet
Uma consulta de Análise de Fluxos pode gerar múltiplos esquemas para uma determinada saída. A lista de colunas projetadas, e o seu tipo, podem mudar linha a linha. Por design, os formatos Avro e Parquet não suportam esquemas variáveis num único ficheiro.
Os seguintes comportamentos podem ocorrer ao direcionar um fluxo com esquemas variáveis para uma saída usando estes formatos:
- Se a alteração do esquema for detetada, o ficheiro de saída atual é encerrado e um novo inicializado no novo esquema. Dividir ficheiros por si só atrasa muito a saída quando as alterações de esquema acontecem frequentemente. Este comportamento pode afetar gravemente o desempenho global do trabalho.
- Se a alteração do esquema não for detetada, a linha é muito provavelmente rejeitada e a tarefa fica bloqueada porque a linha não pode ser emitida. Colunas aninhadas, ou arrays de tipos múltiplos, são situações que não são identificadas nem rejeitadas.
Considere as saídas que utilizam os formatos Avro ou Parquet como bem tipificadas, ou como esquema no momento da escrita, e escreva consultas direcionadas a esses formatos, utilizando conversões e projeções explícitas para um esquema uniforme.
Se precisar de gerar múltiplos esquemas, considere criar múltiplas saídas e dividir os registos em cada destino usando uma cláusula WHERE.
Propriedades de janelas de saída em parquet
Quando utiliza a implementação de templates com o Azure Resource Manager ou a API REST, define duas propriedades da janela de agrupamento:
Janela temporal
O tempo máximo de espera por lote. Defina o valor como uma cadeia de
Timespan. Por exemplo, usa00:02:00durante dois minutos. Depois deste tempo, o lote é escrito na saída, mesmo que o requisito mínimo de linhas não seja cumprido. O valor padrão é um minuto e o máximo permitido é de duas horas. Se a saída do seu blob tiver um padrão de frequência de caminhos, o tempo de espera não pode ser superior ao intervalo de tempo da partição.WindowTamanho
O número mínimo de linhas por lote. Para Parquet, cada lote cria um novo arquivo. O valor padrão atual é 2.000 linhas e o máximo permitido é 10.000 linhas.
A versão da API 2017-04-01-preview ou superior suporta estas propriedades de janela de batch. Aqui está um exemplo do payload JSON para uma chamada API REST:
"type": "stream",
"serialization": {
"type": "Parquet",
"properties": {}
},
"timeWindow": "00:02:00",
"sizeWindow": "2000",
"datasource": {
"type": "Microsoft.Storage/Blob",
"properties": {
"storageAccounts" : [
{
"accountName": "{accountName}",
"accountKey": "{accountKey}",
}
],