Sorties d’Azure Stream AnalyticsOutputs from Azure Stream Analytics

Un travail Azure Stream Analytics se compose d’une entrée, d’une requête et d’une sortie.An Azure Stream Analytics job consists of an input, query, and an output. Plusieurs types de sorties vous permettent d’envoyer des données transformées.There are several output types to which you can send transformed data. Cet article répertorie les sorties de Stream Analytics prises en charge.This article lists the supported Stream Analytics outputs. Lorsque vous concevez votre requête Stream Analytics, faites référence au nom de la sortie à l’aide de la clause INTO.When you design your Stream Analytics query, refer to the name of the output by using the INTO clause. Vous pouvez utiliser une seule sortie par travail ou, si nécessaire, plusieurs sorties par travail de diffusion en continu en ajoutant plusieurs clauses INTO à la requête.You can use a single output per job, or multiple outputs per streaming job (if you need them) by adding multiple INTO clauses to the query.

Pour créer, modifier et tester des sorties de travaux Stream Analytics, vous pouvez utiliser le portail Microsoft Azure, Azure PowerShell, l’API .NET, l’API REST et Visual Studio.To create, edit, and test Stream Analytics job outputs, you can use the Azure portal, Azure PowerShell, .NET API, REST API, and Visual Studio.

Certains types de sorties prennent en charge le partitionnement, et les tailles de lots de sortie varient afin d’optimiser le débit.Some outputs types support partitioning, and output batch sizes vary to optimize throughput. Le tableau suivant répertorie les fonctionnalités prises en charge pour chaque type de sortie.The following table shows features that are supported for each output type:

Type de sortieOutput type PartitionnementPartitioning SécuritéSecurity
Azure Data Lake Storage Gen 1Azure Data Lake Storage Gen 1 OuiYes Utilisateur Azure Active DirectoryAzure Active Directory user
, Identité managée, Managed Identity
Azure SQL DatabaseAzure SQL Database Oui, facultatif.Yes, optional. Authentification utilisateur SQL,SQL user auth,
Identité managée (préversion)Managed Identity (preview)
Azure Synapse AnalyticsAzure Synapse Analytics OuiYes Authentification utilisateur SQL,SQL user auth,
Identité managée (préversion)Managed Identity (preview)
Stockage Blob et Azure Data Lake Gen 2Blob storage and Azure Data Lake Gen 2 OuiYes Clé d’accès,Access key,
Identité managée (préversion)Managed Identity (preview)
Azure Event HubsAzure Event Hubs Oui, vous devez définir la colonne clé de partition dans la configuration de sortie.Yes, need to set the partition key column in output configuration. Clé d’accès,Access key,
Identité managée (préversion)Managed Identity (preview)
Power BIPower BI NonNo Utilisateur Azure Active Directory,Azure Active Directory user,
Identité managéeManaged Identity
Stockage Table AzureAzure Table storage OuiYes Clé de compteAccount key
Files d’attente Azure Service BusAzure Service Bus queues OuiYes Clé d’accèsAccess key
Rubriques Azure Service BusAzure Service Bus topics OuiYes Clé d’accèsAccess key
Azure Cosmos DBAzure Cosmos DB OuiYes Clé d’accèsAccess key
Azure FunctionsAzure Functions OuiYes Clé d’accèsAccess key

PartitionnementPartitioning

Stream Analytics prend en charge les partitions pour toutes les sorties, à l’exception de Power BI.Stream Analytics supports partitions for all outputs except for Power BI. Pour plus d’informations sur les clés de partition et le nombre de générateurs de sortie, consultez l’article correspondant au type de sortie spécifique qui vous intéresse.For more information on partition keys and the number of output writers, see the article for the specific output type you're interested in. Tous les articles de sortie sont liés dans la section précédente.All output articles are linked in the previous section.

De plus, pour un réglage avancé des partitions, vous pouvez contrôler le nombre d’enregistreurs de sortie à l’aide d’une clause INTO <partition count> (voir INTO) dans votre requête, ce qui peut ête utile pour atteindre la topologie de travail souhaitée.Additionally, for more advanced tuning of the partitions, the number of output writers can be controlled using an INTO <partition count> (see INTO) clause in your query, which can be helpful in achieving a desired job topology. Si votre adaptateur de sortie n'est pas partitionné, l'absence de données dans une partition d'entrée entraîne un retard pouvant aller jusqu'au délai d'arrivée tardive.If your output adapter is not partitioned, lack of data in one input partition causes a delay up to the late arrival amount of time. Dans ce cas, la sortie est fusionnée dans un seul enregistreur, ce qui peut créer des goulots d’étranglement dans votre pipeline.In such cases, the output is merged to a single writer, which might cause bottlenecks in your pipeline. Pour en savoir plus sur la stratégie d’arrivée tardive, consultez l’article Considérations relatives à l’ordre des événements Azure Stream Analytics.To learn more about late arrival policy, see Azure Stream Analytics event order considerations.

Taille de lot de sortieOutput batch size

Toutes les sorties prennent en charge le traitement par lot, mais seule une certaine taille de lot de prise en charge est explicite.All outputs support batching, but only some support batch size explicitly. Azure Stream Analytics utilise des lots de taille variable pour traiter les événements et générer les sorties.Azure Stream Analytics uses variable-size batches to process events and write to outputs. En général, le moteur Stream Analytics n’écrit pas les messages un par un ; il utilise des lots pour plus d’efficacité.Typically the Stream Analytics engine doesn't write one message at a time, and uses batches for efficiency. Lorsque le taux des événements entrants et sortants est élevé, Stream Analytics utilise des lots plus volumineux.When the rate of both the incoming and outgoing events is high, Stream Analytics uses larger batches. Lorsque le taux de sortie est faible, il utilise des lots plus petits pour maintenir une faible latence.When the egress rate is low, it uses smaller batches to keep latency low.

Propriétés de la fenêtre de traitement par lot de la sortie ParquetParquet output batching window properties

Lorsque vous utilisez le déploiement de modèle Azure Resource Manager ou l’API REST, les deux propriétés de la fenêtre de traitement par lot sont les suivantes :When using Azure Resource Manager template deployment or the REST API, the two batching window properties are:

  1. timeWindowtimeWindow

    Le délai d’attente maximum par lot.The maximum wait time per batch. La valeur doit être une chaîne TimeSpan.The value should be a string of Timespan. Par exemple, « 00:02:00 » pour deux minutes.For example, "00:02:00" for two minutes. À l’issue de cette période, le lot est écrit dans la sortie même si l’exigence de lignes minimum n’est pas remplie.After this time, the batch is written to the output even if the minimum rows requirement is not met. La valeur par défaut est de 1 minute et la valeur maximum autorisée est de 2 heures.The default value is 1 minute and the allowed maximum is 2 hours. Si la sortie de votre objet BLOB a une fréquence de modèle de chemin d’accès, le délai d’attente ne peut pas être supérieur à l’intervalle de temps de la partition.If your blob output has path pattern frequency, the wait time cannot be higher than the partition time range.

  2. sizeWindowsizeWindow

    Le nombre minimum de lignes par lot.The number of minimum rows per batch. Pour Parquet, chaque lot crée un fichier.For Parquet, every batch creates a new file. La valeur par défaut actuelle est de 2 000 lignes et la valeur maximum autorisée est de 10 000 lignes.The current default value is 2,000 rows and the allowed maximum is 10,000 rows.

Ces propriétés de fenêtre de traitement par lot sont uniquement prises en charge par la version d’API 2017-04-01-preview.These batching window properties are only supported by API version 2017-04-01-preview. Voici un exemple de la charge utile JSON pour un appel d’API REST :Below is an example of the JSON payload for a REST API call:

"type": "stream",
      "serialization": {
        "type": "Parquet",
        "properties": {}
      },
      "timeWindow": "00:02:00",
      "sizeWindow": "2000",
      "datasource": {
        "type": "Microsoft.Storage/Blob",
        "properties": {
          "storageAccounts" : [
          {
            "accountName": "{accountName}",
            "accountKey": "{accountKey}",
          }
          ],

Étapes suivantesNext steps