Azure Stream Analytics からの出力を理解するUnderstand outputs from Azure Stream Analytics

この記事では、Azure Stream Analytics ジョブで使用できる出力の種類について説明します。This article describes the types of outputs available for an Azure Stream Analytics job. 出力を使用すると、Stream Analytics ジョブの結果を格納したり保存したりできます。Outputs let you store and save the results of the Stream Analytics job. 出力データを使用して、お手元のデータのビジネス分析をさらに進めたり、データ ウェアハウスを使用したりできます。By using the output data, you can do further business analytics and data warehousing of your data.

Stream Analytics のクエリを自分で作成するときは、INTO 句を使用して出力の名前を参照します。When you design your Stream Analytics query, refer to the name of the output by using the INTO clause. ジョブごとに 1 つの出力を使用できます。または、必要に応じて、クエリ内で複数の INTO 句を指定することによって、ストリーミング ジョブごとに複数の出力を使用できます。You can use a single output per job, or multiple outputs per streaming job (if you need them) by providing multiple INTO clauses in the query.

Stream Analytics ジョブの出力を作成、編集、テストするには、Azure portalAzure PowerShell.NET APIREST API、および 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.

一部の出力の種類では、パーティション分割がサポートされています。Some outputs types support partitioning. スループットを最適化するために、出力のバッチ サイズは異なります。Output batch sizes vary to optimize throughput.

Azure Data Lake Storage Gen 1Azure Data Lake Storage Gen 1

Stream Analytics は、Azure Data Lake Storage Gen 1 をサポートしています。Stream Analytics supports Azure Data Lake Storage Gen 1. Azure Data Lake Storage は、ビッグ データの分析ワークロードのためのエンタープライズ レベルのハイパースケール リポジトリです。Azure Data Lake Storage is an enterprise-wide, hyperscale repository for big data analytic workloads. Data Lake Storage を使用すると、運用分析や調査分析のために任意のサイズ、種類、および取り込み速度のデータを格納できます。You can use Data Lake Storage to store data of any size, type, and ingestion speed for operational and exploratory analytics. Data Lake Storage にアクセスするには、Stream Analytics を承認する必要があります。Stream Analytics needs to be authorized to access Data Lake Storage.

Stream Analytics からの Azure Data Lake Storage 出力は現在、Azure China 21Vianet および Azure Germany (T-Systems International) リージョンでは使用できません。Azure Data Lake Storage output from Stream Analytics is currently not available in the Azure China 21Vianet and Azure Germany (T-Systems International) regions.

次の表は、Data Lake Storage Gen 1 出力を構成するためのプロパティ名とその説明の一覧を示しています。The following table lists property names and their descriptions to configure your Data Lake Storage Gen 1 output.

プロパティ名Property name 説明Description
出力エイリアスOutput alias クエリの出力を Data Lake Store に出力するためにクエリ内で使用されるフレンドリ名です。A friendly name used in queries to direct the query output to Data Lake Store.
SubscriptionSubscription Azure Data Lake Storage アカウントを含むサブスクリプション。The subscription that contains your Azure Data Lake Storage account.
アカウント名Account name ご自分の出力を送信する Data Lake Store アカウントの名前です。The name of the Data Lake Store account where you're sending your output. ご自分のサブスクリプション内で利用できる Data Lake Store アカウントのドロップダウン リストが表示されます。You're presented with a drop-down list of Data Lake Store accounts that are available in your subscription.
パスのプレフィックス パターンPath prefix pattern 指定した Data Lake Store アカウント内にご自分のファイルを書き込むために使用されるファイル パスです。The file path that's used to write your files within the specified Data Lake Store account. {date} および {time} 変数のインスタンスを 1 つ以上指定できます。You can specify one or more instances of the {date} and {time} variables:
  • 例 1: folder1/logs/{date}/{time}Example 1: folder1/logs/{date}/{time}
  • 例 2: folder1/logs/{date}Example 2: folder1/logs/{date}

作成されたフォルダー構造のタイム スタンプは、ローカル時間ではなく、UTC に従います。The time stamp of the created folder structure follows UTC and not local time.

ファイル パス パターンの末尾にスラッシュ (/) が含まれていない場合、ファイル パスの最後のパターンがファイル名のプレフィックスとして扱われます。If the file path pattern doesn't contain a trailing slash (/), the last pattern in the file path is treated as a file name prefix.

次の状況では新しいファイルが作成されます。New files are created in these circumstances:
  • 出力スキーマの変更Change in output schema
  • ジョブの外部または内部再起動External or internal restart of a job
日付の形式Date format 省略可能。Optional. 日付トークンがプレフィックス パスで使用されている場合、ファイルを編成する日付形式を選択できます。If the date token is used in the prefix path, you can select the date format in which your files are organized. 例:YYYY/MM/DDExample: YYYY/MM/DD
時刻の形式Time format 省略可能。Optional. 時刻トークンがプレフィックス パスで使用されている場合、ファイルを編成する時刻形式を指定します。If the time token is used in the prefix path, specify the time format in which your files are organized. 現在唯一サポートされている値は HH です。Currently the only supported value is HH.
イベントのシリアル化の形式Event serialization format 出力データのシリアル化形式です。The serialization format for output data. JSON、CSV、Avro がサポートされています。JSON, CSV, and Avro are supported.
エンコードEncoding CSV または JSON 形式を使用する場合は、エンコードを指定する必要があります。If you're using CSV or JSON format, an encoding must be specified. 現時点でサポートされているエンコード形式は UTF-8 だけです。UTF-8 is the only supported encoding format at this time.
区切り記号Delimiter CSV のシリアル化のみに適用されます。Applicable only for CSV serialization. Stream Analytics は、CSV データをシリアル化するために、一般的な区切り記号をサポートしています。Stream Analytics supports a number of common delimiters for serializing CSV data. サポートしている値は、コンマ、セミコロン、スペース、タブ、および縦棒です。Supported values are comma, semicolon, space, tab, and vertical bar.
形式Format JSON のシリアル化のみに適用されます。Applicable only for JSON serialization. [改行区切り] を指定すると、各 JSON オブジェクトを改行で区切って、出力が書式設定されます。Line separated specifies that the output is formatted by having each JSON object separated by a new line. [配列] を指定すると、JSON オブジェクトの配列として出力が書式設定されます。Array specifies that the output is formatted as an array of JSON objects. この配列が閉じられるのは、ジョブが停止したとき、または Stream Analytics が次の時間枠に移動したときだけです。This array is closed only when the job stops or Stream Analytics has moved on to the next time window. 一般に、改行区切りの JSON を使うことが推奨されます。そうすれば、出力ファイルがまだ書き込まれている間に、特別な処理は必要ありません。In general, it's preferable to use line-separated JSON, because it doesn't require any special handling while the output file is still being written to.
認証モードAuthentication mode マネージド ID またはユーザー トークンを使用して、Data Lake Storage アカウントへのアクセスを承認できます。You can authorize access to your Data Lake Storage account using Managed Identity or User token. アクセス権を付与した後は、ユーザー アカウントのパスワードを変更するか、このジョブの Data Lake Storage 出力を削除するか、または Stream Analytics ジョブを削除することによってアクセスを取り消すことができます。Once you grant access, you can revoke access by changing the user account password, deleting the Data Lake Storage output for this job, or deleting the Stream Analytics job.

SQL DatabaseSQL Database

Azure SQL Database は、本質的にリレーショナルであるデータや、リレーショナル データベースにホストされているコンテンツに依存するアプリケーションの出力として使用できます。You can use Azure SQL Database as an output for data that's relational in nature or for applications that depend on content being hosted in a relational database. Stream Analytics ジョブは、SQL Database の既存のテーブルに書き込みます。Stream Analytics jobs write to an existing table in SQL Database. テーブル スキーマは、ご自分のジョブの出力内のフィールドとその型に正確に一致する必要があります。The table schema must exactly match the fields and their types in your job's output. また、SQL Database 出力オプションを使用して、Azure SQL Data Warehouse を出力として指定することもできます。You can also specify Azure SQL Data Warehouse as an output via the SQL Database output option. 書き込みのスループットを向上させる方法については、Azure SQL Database を出力として使用する Stream Analytics に関する記事を参照してください。To learn about ways to improve write throughput, see the Stream Analytics with Azure SQL Database as output article.

次の表に、SQL Database の出力を作成するためのプロパティの名前とその説明を示します。The following table lists the property names and their description for creating a SQL Database output.

プロパティ名Property name 説明Description
出力エイリアスOutput alias クエリの出力をこのデータベースに出力するためにクエリで使用されるわかりやすい名前です。A friendly name used in queries to direct the query output to this database.
DatabaseDatabase ご自分の出力を送信するデータベースの名前です。The name of the database where you're sending your output.
サーバー名Server name SQL Database サーバー名です。The SQL Database server name.
ユーザー名Username データベースに書き込むためのアクセス権が割り当てられているユーザー名です。The username that has write access to the database. Stream Analytics では、SQL 認証のみがサポートされます。Stream Analytics supports only SQL authentication.
パスワードPassword データベースに接続するためのパスワード。The password to connect to the database.
テーブルTable 出力の書き込み先のテーブル名です。The table name where the output is written. テーブル名は、大文字と小文字が区別されます。The table name is case-sensitive. このテーブルのスキーマは、ご自分のジョブの出力によって生成されるフィールドの数とその型に正確に一致する必要があります。The schema of this table should exactly match the number of fields and their types that your job output generates.
パーティション構成を継承するInherit partition scheme ご自分の以前のクエリ ステップのパーティション構成を継承し、テーブルへの複数のライターによる完全な並列トポロジを有効にするためのオプションです。An option for inheriting the partitioning scheme of your previous query step, to enable fully parallel topology with multiple writers to the table. 詳細については、「Azure SQL Database への Azure Stream Analytics の出力」を参照してください。For more information, see Azure Stream Analytics output to Azure SQL Database.
最大バッチ カウントMax batch count 各一括挿入トランザクションで送信されるレコード数の推奨される上限です。The recommended upper limit on the number of records sent with every bulk insert transaction.

注意

Stream Analytics のジョブ出力では Azure SQL Database サービスがサポートされていますが、データベースが接続された SQL Server を実行している Azure 仮想マシンまたは SQL Azure マネージド インスタンス上の Azure 仮想マシンはサポートされていません。The Azure SQL Database offering is supported for a job output in Stream Analytics, but an Azure virtual machine running SQL Server with a database attached or in a SQL Azure Managed Instance is not supported yet. これは、今後のリリースで変更されることがあります。This is subject to change in future releases.

BLOB ストレージと Azure Data Lake Gen2Blob storage and Azure Data Lake Gen2

Azure Data Lake Gen2 へのエグレスは、世界中の限られたリージョンでパブリック プレビュー機能として提供されています。Egress to Azure Data Lake Gen2 is offered as a preview feature in limited regions worldwide. 要求フォームに追加の詳細情報を入力することで、プレビューへのアクセスを要求することができます。You may request access to the preview by providing additional details in our request form.

Azure Blob Storage を使用すると、大量の非構造化データをクラウドに保存する場合に、コスト効果の高いスケーラブルなソリューションを実現できます。Azure Blob storage offers a cost-effective and scalable solution for storing large amounts of unstructured data in the cloud. BLOB ストレージとその使用法の概要については、Azure Portal を使用した BLOB のアップロード、ダウンロード、および一覧表示に関するページを参照してください。For an introduction on Blob storage and its usage, see Upload, download, and list blobs with the Azure portal.

次の表に、BLOB 出力を作成するためのプロパティの名前とその説明を示します。The following table lists the property names and their descriptions for creating a blob output.

プロパティ名Property name 説明Description
出力エイリアスOutput alias クエリの出力をこの BLOB ストレージに出力するためにクエリで使用されるわかりやすい名前です。A friendly name used in queries to direct the query output to this blob storage.
ストレージ アカウントStorage account ご自分の出力を送信するストレージ アカウントの名前です。The name of the storage account where you're sending your output.
ストレージ アカウント キーStorage account key ストレージ アカウントに関連付けられている秘密キー。The secret key associated with the storage account.
ストレージ コンテナーStorage container Azure Blob service に格納される BLOB の論理グループです。A logical grouping for blobs stored in the Azure Blob service. BLOB を Blob service にアップロードするとき、その BLOB のコンテナーを指定する必要があります。When you upload a blob to the Blob service, you must specify a container for that blob.
パスのパターンPath pattern 省略可能。Optional. 指定したコンテナー内のご自分の BLOB を書き込むために使用されるファイル パス パターンです。The file path pattern that's used to write your blobs within the specified container.

パス パターン内では、BLOB が書き込まれる頻度を指定するために、日付と時刻の変数のインスタンスを 1 つまたは複数使用できます。In the path pattern, you can choose to use one or more instances of the date and time variables to specify the frequency that blobs are written:
{date}、{time}{date}, {time}

カスタム BLOB パーティション分割を使用して、イベント データの 1 つのカスタム {field} 名を指定することで、BLOB をパーティション分割できます。You can use custom blob partitioning to specify one custom {field} name from your event data to partition blobs. このフィールド名は英数字であり、スペース、ハイフン、およびアンダースコアを含めることができます。The field name is alphanumeric and can include spaces, hyphens, and underscores. カスタム フィールドには次の制限事項が含まれます。Restrictions on custom fields include the following:
  • フィールド名は大文字小文字が区別されません。Field names aren't case-sensitive. たとえば、このサービスでは列 "ID" と列 "id" を区別できません。For example, the service can't differentiate between column "ID" and column "id."
  • 入れ子になったフィールドは使用できません。Nested fields are not permitted. 代わりに、ジョブ クエリ内で別名を使用して、フィールドを "フラット化" します。Instead, use an alias in the job query to "flatten" the field.
  • 式はフィールド名として使用できません。Expressions can't be used as a field name.

この機能により、パスでカスタム日付/時刻書式指定子の構成を使用できるようになります。This feature enables the use of custom date/time format specifier configurations in the path. カスタム日時書式は、一度に 1 つを {datetime:<specifier>} キーワードで囲んで指定する必要があります。Custom date and time formats must be specified one at a time, enclosed by the {datetime:<specifier>} keyword. <specifier> の使用可能な入力は、yyyy、MM、M、dd、d、HH、H、mm、m、ss、または s です。Allowable inputs for <specifier> are yyyy, MM, M, dd, d, HH, H, mm, m, ss, or s. {datetime:<specifier>} キーワードは、カスタムの日付/時刻の構成を形成するために、パス内で複数回使用できます。The {datetime:<specifier>} keyword can be used multiple times in the path to form custom date/time configurations.

次に例を示します。Examples:
  • 例 1: cluster1/logs/{date}/{time}Example 1: cluster1/logs/{date}/{time}
  • 例 2: cluster1/logs/{date}Example 2: cluster1/logs/{date}
  • 例 3: cluster1/{client_id}/{date}/{time}Example 3: cluster1/{client_id}/{date}/{time}
  • 例 4: cluster1/{datetime:ss}/{myField}。この場合、クエリは次のようになります。SELECT data.myField AS myField FROM Input;Example 4: cluster1/{datetime:ss}/{myField} where the query is: SELECT data.myField AS myField FROM Input;
  • 例 5: cluster1/year={datetime:yyyy}/month={datetime:MM}/day={datetime:dd}Example 5: cluster1/year={datetime:yyyy}/month={datetime:MM}/day={datetime:dd}

作成されたフォルダー構造のタイム スタンプは、ローカル時間ではなく、UTC に従います。The time stamp of the created folder structure follows UTC and not local time.

ファイルの名前付けでは、次の規則を使用します。File naming uses the following convention:

{Path Prefix Pattern}/schemaHashcode_Guid_Number.extension{Path Prefix Pattern}/schemaHashcode_Guid_Number.extension

出力ファイル例:Example output files:
  • Myoutput/20170901/00/45434_gguid_1.csvMyoutput/20170901/00/45434_gguid_1.csv
  • Myoutput/20170901/01/45434_gguid_1.csvMyoutput/20170901/01/45434_gguid_1.csv

この機能の詳細については、「Azure Stream Analytics でのカスタム BLOB 出力のパーティション分割」を参照してください。For more information about this feature, see Azure Stream Analytics custom blob output partitioning.
日付の形式Date format 省略可能。Optional. 日付トークンがプレフィックス パスで使用されている場合、ファイルを編成する日付形式を選択できます。If the date token is used in the prefix path, you can select the date format in which your files are organized. 例:YYYY/MM/DDExample: YYYY/MM/DD
時刻の形式Time format 省略可能。Optional. 時刻トークンがプレフィックス パスで使用されている場合、ファイルを編成する時刻形式を指定します。If the time token is used in the prefix path, specify the time format in which your files are organized. 現在唯一サポートされている値は HH です。Currently the only supported value is HH.
イベントのシリアル化の形式Event serialization format 出力データのシリアル化形式。Serialization format for output data. JSON、CSV、Avro、Parquet がサポートされています。JSON, CSV, Avro, and Parquet are supported.
最小行数 (Parquet のみ)Minimum rows (Parquet only) バッチあたりの最小行数。The number of minimum rows per batch. Parquet では、バッチごとに新しいファイルが作成されます。For Parquet, every batch will create a new file. 現在の既定値は 2,000 行であり、最大許容値は 10,000 行です。The current default value is 2,000 rows and the allowed maximum is 10,000 rows.
最大時間 (Parquet のみ)Maximum time (Parquet only) バッチあたりの最大待機時間。The maximum wait time per batch. この時間が経過すると、最小行数の要件が満たされていなくても、バッチは出力に書き込まれます。After this time, the batch will be written to the output even if the minimum rows requirement is not met. 現在の既定値は 1 分であり、最大許容値は 2 時間です。The current default value is 1 minute and the allowed maximum is 2 hours. BLOB 出力にパス パターンの頻度がある場合は、待機時間をパーティションの時間の範囲より長くすることはできません。If your blob output has path pattern frequency, the wait time cannot be higher than the partition time range.
エンコードEncoding CSV または JSON 形式を使用する場合は、エンコードを指定する必要があります。If you're using CSV or JSON format, an encoding must be specified. 現時点でサポートされているエンコード形式は UTF-8 だけです。UTF-8 is the only supported encoding format at this time.
区切り記号Delimiter CSV のシリアル化のみに適用されます。Applicable only for CSV serialization. Stream Analytics は、CSV データをシリアル化するために、一般的な区切り記号をサポートしています。Stream Analytics supports a number of common delimiters for serializing CSV data. サポートしている値は、コンマ、セミコロン、スペース、タブ、および縦棒です。Supported values are comma, semicolon, space, tab, and vertical bar.
形式Format JSON のシリアル化のみに適用されます。Applicable only for JSON serialization. [改行区切り] を指定すると、各 JSON オブジェクトを改行で区切って、出力が書式設定されます。Line separated specifies that the output is formatted by having each JSON object separated by a new line. [配列] を指定すると、JSON オブジェクトの配列として出力が書式設定されます。Array specifies that the output is formatted as an array of JSON objects. この配列が閉じられるのは、ジョブが停止したとき、または Stream Analytics が次の時間枠に移動したときだけです。This array is closed only when the job stops or Stream Analytics has moved on to the next time window. 一般に、改行区切りの JSON を使うことが推奨されます。そうすれば、出力ファイルがまだ書き込まれている間に、特別な処理は必要ありません。In general, it's preferable to use line-separated JSON, because it doesn't require any special handling while the output file is still being written to.

出力として Blob Storage を使用しているときに、BLOB に新しいファイルが作成されるのは、次の場合です。When you're using Blob storage as output, a new file is created in the blob in the following cases:

  • ファイルが許可されるブロックの最大数 (現在は 50,000) を超えている場合。If the file exceeds the maximum number of allowed blocks (currently 50,000). BLOB の最大許容サイズに到達することなく、ブロックの最大許容数に到達する場合があります。You might reach the maximum allowed number of blocks without reaching the maximum allowed blob size. たとえば、出力レートが高い場合は、表示されるブロックあたりのバイト数が増え、ファイルのサイズが増加します。For example, if the output rate is high, you can see more bytes per block, and the file size is larger. 出力レートが低い場合は、各ブロックのデータが少なくなり、ファイルのサイズも小さくなります。If the output rate is low, each block has less data, and the file size is smaller.
  • 出力のスキーマが変更されている場合、および出力形式で固定スキーマが必要な場合 (CSV および Avro)。If there's a schema change in the output, and the output format requires fixed schema (CSV and Avro).
  • ジョブを停止し起動するユーザーが外部からジョブを再起動した場合、またはシステム メンテナンスやエラーの復旧のために内部的にジョブを再起動した場合。If a job is restarted, either externally by a user stopping it and starting it, or internally for system maintenance or error recovery.
  • クエリが完全にパーティション分割されており、新しいファイルが出力パーティションごとに作成される場合。If the query is fully partitioned, and a new file is created for each output partition.
  • ストレージ アカウントのファイルまたはコンテナーがユーザーによって削除された場合。If the user deletes a file or a container of the storage account.
  • パス プレフィックス パターンを使用して時間で出力をパーティション分割する場合、クエリが次の時間に移動すると、新しい BLOB が使用されます。If the output is time partitioned by using the path prefix pattern, and a new blob is used when the query moves to the next hour.
  • カスタム フィールドによって出力をパーティション分割する場合、BLOB が存在しないと、パーティション キーごとに新しい BLOB が作成されます。If the output is partitioned by a custom field, and a new blob is created per partition key if it does not exist.
  • パーティション キーのカーディナリティが 8,000 を超えるカスタム フィールドによって出力をパーティション分割する場合、パーティション キーごとに新しい BLOB が作成されます。If the output is partitioned by a custom field where the partition key cardinality exceeds 8,000, and a new blob is created per partition key.

Event HubsEvent Hubs

Azure Event Hubs サービスは、スケーラブルな発行-サブスクライブ型イベント インジェスターです。The Azure Event Hubs service is a highly scalable publish-subscribe event ingestor. 1 秒あたり数百万のイベントを収集できます。It can collect millions of events per second. イベント ハブを出力として使用するのは、たとえば、Stream Analytics ジョブの出力が別のストリーミング ジョブの入力になるときです。One use of an event hub as output is when the output of a Stream Analytics job becomes the input of another streaming job.

イベント ハブのデータ ストリームを出力として構成するために必要なパラメーターがいくつかあります。You need a few parameters to configure data streams from event hubs as an output.

プロパティ名Property name 説明Description
出力エイリアスOutput alias クエリの出力をこのイベント ハブに出力するためにクエリ内で使用されるフレンドリ名です。A friendly name used in queries to direct the query output to this event hub.
イベント ハブの名前空間Event hub namespace 一連のメッセージング エンティティのコンテナーです。A container for a set of messaging entities. 新しいイベント ハブを作成すると、イベント ハブの名前空間も作成されます。When you created a new event hub, you also created an event hub namespace.
イベント ハブ名Event hub name ご自分のイベント ハブ出力の名前です。The name of your event hub output.
イベント ハブ ポリシー名Event hub policy name 共有アクセス ポリシーです。イベント ハブの [構成] タブで作成できます。各共有アクセス ポリシーには、名前、設定したアクセス許可、アクセス キーが含まれています。The shared access policy, which you can create on the event hub's Configure tab. Each shared access policy has a name, permissions that you set, and access keys.
イベント ハブ ポリシー キーEvent hub policy key イベント ハブの名前空間へのアクセスを認証するために使用される共有アクセス キーです。The shared access key that's used to authenticate access to the event hub namespace.
パーティション キー列Partition key column 省略可能。Optional. イベント ハブ出力のパーティション キーが含まれる列です。A column that contains the partition key for event hub output.
イベントのシリアル化の形式Event serialization format 出力データのシリアル化形式です。The serialization format for output data. JSON、CSV、Avro がサポートされています。JSON, CSV, and Avro are supported.
エンコードEncoding CSV と JSON では、現在のところ、UTF-8 が唯一サポートされているエンコード形式です。For CSV and JSON, UTF-8 is the only supported encoding format at this time.
区切り記号Delimiter CSV のシリアル化のみに適用されます。Applicable only for CSV serialization. Stream Analytics は、CSV 形式のデータをシリアル化するために、一般的な区切り記号をサポートしています。Stream Analytics supports a number of common delimiters for serializing data in CSV format. サポートしている値は、コンマ、セミコロン、スペース、タブ、および縦棒です。Supported values are comma, semicolon, space, tab, and vertical bar.
形式Format JSON のシリアル化のみに適用されます。Applicable only for JSON serialization. [改行区切り] を指定すると、各 JSON オブジェクトを改行で区切って、出力が書式設定されます。Line separated specifies that the output is formatted by having each JSON object separated by a new line. [配列] を指定すると、JSON オブジェクトの配列として出力が書式設定されます。Array specifies that the output is formatted as an array of JSON objects. この配列が閉じられるのは、ジョブが停止したとき、または Stream Analytics が次の時間枠に移動したときだけです。This array is closed only when the job stops or Stream Analytics has moved on to the next time window. 一般に、改行区切りの JSON を使うことが推奨されます。そうすれば、出力ファイルがまだ書き込まれている間に、特別な処理は必要ありません。In general, it's preferable to use line-separated JSON, because it doesn't require any special handling while the output file is still being written to.
プロパティ列Property columns 省略可能。Optional. ペイロードではなく、送信メッセージのユーザー プロパティとして関連付ける必要があるコンマ区切りの列です。Comma-separated columns that need to be attached as user properties of the outgoing message instead of the payload. この機能の詳細は、「出力用のカスタム メタデータ プロパティ」セクションにあります。More info about this feature is in the section Custom metadata properties for output.

Power BIPower BI

Power BI を Stream Analytics ジョブの出力として使用して、分析結果の豊富な視覚化エクスペリエンスを提供できます。You can use Power BI as an output for a Stream Analytics job to provide for a rich visualization experience of analysis results. この機能は、操作ダッシュボード、レポート生成、およびメトリックドリブン レポート作成に使用できます。You can use this capability for operational dashboards, report generation, and metric-driven reporting.

Stream Analytics からの Power BI 出力は、現在、Azure China 21Vianet および Azure Germany (T-Systems International) リージョンでは利用できません。Power BI output from Stream Analytics is currently not available in the Azure China 21Vianet and Azure Germany (T-Systems International) regions.

次の表に、ご自分の Power BI 出力を構成するためのプロパティの名前とその説明を示します。The following table lists property names and their descriptions to configure your Power BI output.

プロパティ名Property name 説明Description
出力エイリアスOutput alias クエリの出力をこの Power BI 出力に出力するためにクエリ内で使用されるフレンドリ名を指定します。Provide a friendly name that's used in queries to direct the query output to this Power BI output.
グループ ワークスペースGroup workspace 他の Power BI ユーザーとのデータの共有を有効にするには、ご自分の Power BI アカウント内のグループを選択できます。グループに書き込む必要がない場合は、 [マイ ワークスペース] を選択します。To enable sharing data with other Power BI users, you can select groups inside your Power BI account or choose My Workspace if you don't want to write to a group. 既存のグループを更新するには、Power BI の認証を更新する必要があります。Updating an existing group requires renewing the Power BI authentication.
データセットの名前Dataset name Power BI 出力で使用するデータセット名を指定します。Provide a dataset name that you want the Power BI output to use.
テーブル名Table name Power BI 出力のデータセットの下にテーブル名を入力します。Provide a table name under the dataset of the Power BI output. 現在、Stream Analytics ジョブからの Power BI 出力では、1 つのデータセット内に 1 つのテーブルのみを保持できます。Currently, Power BI output from Stream Analytics jobs can have only one table in a dataset.
接続の承認Authorize connection Power BI に出力設定を構成することを承認する必要があります。You need to authorize with Power BI to configure your output settings. この出力アクセスを Power BI ダッシュボードに付与した後は、ユーザー アカウントのパスワードを変更するか、ジョブ出力を削除するか、または Stream Analytics ジョブを削除することによってアクセスを取り消すことができます。Once you grant this output access to your Power BI dashboard, you can revoke access by changing the user account password, deleting the job output, or deleting the Stream Analytics job.

Power BI の出力とダッシュボードを構成するチュートリアルについては、Azure Stream Analytics と Power BI に関するチュートリアルを参照してください。For a walkthrough of configuring a Power BI output and dashboard, see the Azure Stream Analytics and Power BI tutorial.

注意

Power BI ダッシュボードにデータセットとテーブルを明示的に作成しないでください。Don't explicitly create the dataset and table in the Power BI dashboard. ジョブが開始され、このジョブによって出力が Power BI に流し込まれるときに、データセットとテーブルが自動的に設定されます。The dataset and table are automatically populated when the job is started and the job starts pumping output into Power BI. ジョブ クエリで結果が生成されない場合、データセットとテーブルは作成されません。If the job query doesn’t generate any results, the dataset and table aren't created. また、この Stream Analytics ジョブで指定したものと同じ名前のデータセットとテーブルが Power BI に既に存在する場合は、既存のデータが上書きされます。If Power BI already had a dataset and table with the same name as the one provided in this Stream Analytics job, the existing data is overwritten.

スキーマの作成Create a schema

Power BI データセットとテーブル スキーマがまだ存在しない場合は、ユーザーのために Azure Stream Analytics がデータセットとテーブル スキーマを作成します。Azure Stream Analytics creates a Power BI dataset and table schema for the user if they don't already exist. それ以外の場合、テーブルは新しい値で更新されます。In all other cases, the table is updated with new values. 現時点では、1 つのデータセット内に存在できるテーブルは 1 つのみです。Currently, only one table can exist within a dataset.

Power BI では、先入れ先出し (FIFO) のアイテム保持ポリシーが使用されます。Power BI uses the first-in, first-out (FIFO) retention policy. 200,000 行に到達するまでデータがテーブルに収集されます。Data will collect in a table until it hits 200,000 rows.

Stream Analytics から Power BI にデータ型を変換するConvert a data type from Stream Analytics to Power BI

Azure Stream Analytics では、出力スキーマが変更されると、データ モデルが実行時に動的に更新されます。Azure Stream Analytics updates the data model dynamically at runtime if the output schema changes. 列名の変更、列の型の変更、列の追加または削除は、すべて追跡されます。Column name changes, column type changes, and the addition or removal of columns are all tracked.

次の表は、Power BI データセットとテーブルが存在しない場合の、Stream Analytics データ型から Power BI の Entity Data Model (EDM) 型へのデータ型の変換を示します。This table covers the data type conversions from Stream Analytics data types to Power BI Entity Data Model (EDM) types, if a Power BI dataset and table don't exist.

Stream Analytics からFrom Stream Analytics Power BI へTo Power BI
bigintbigint Int64Int64
nvarchar(max)nvarchar(max) StringString
Datetimedatetime DateTimeDatetime
floatfloat DoubleDouble
レコードの配列Record array 文字列型、定数値 "IRecord" または "IArray"String type, constant value "IRecord" or "IArray"

スキーマを更新するUpdate the schema

Stream Analytics では、出力内の最初のイベント セットに基づいてデータ モデルのスキーマを推論します。Stream Analytics infers the data model schema based on the first set of events in the output. その後、データ モデルのスキーマは、必要に応じて、元のスキーマに適合しない可能性のある受信イベントに対応できるように更新されます。Later, if necessary, the data model schema is updated to accommodate incoming events that might not fit into the original schema.

複数行にわたってスキーマが動的に更新されるのを防ぐために、SELECT * クエリの使用を避ける必要があります。Avoid the SELECT * query to prevent dynamic schema update across rows. パフォーマンスが低下する可能性があるだけでなく、結果を得るまでの所要時間が不確実になる恐れもあります。In addition to potential performance implications, it might result in uncertainty of the time taken for the results. Power BI ダッシュボードに表示する必要があるフィールドを厳密に選択してください。Select the exact fields that need to be shown on the Power BI dashboard. また、データ値が、選択したデータ型に準拠している必要があります。Additionally, the data values should be compliant with the chosen data type.

以前/現在Previous/current Int64Int64 StringString DateTimeDatetime DoubleDouble
Int64Int64 Int64Int64 StringString StringString DoubleDouble
DoubleDouble DoubleDouble StringString StringString DoubleDouble
StringString StringString StringString StringString StringString
DateTimeDatetime StringString StringString DateTimeDatetime stringString

テーブル ストレージTable storage

Azure テーブル ストレージ は高度な可用性を備えた非常にスケーラブルなストレージであるため、アプリケーションを需要に応じて自動的に拡張できます。Azure Table storage offers highly available, massively scalable storage, so that an application can automatically scale to meet user demand. Table Storage は Microsoft の NoSQL キー/属性ストアであり、スキーマに対する制約を抑えながら、構造化されたデータに使用できます。Table storage is Microsoft’s NoSQL key/attribute store, which you can use for structured data with fewer constraints on the schema. Azure テーブル ストレージを使用すると、永続化と効率的な取得のためにデータを保持できます。Azure Table storage can be used to store data for persistence and efficient retrieval.

次の表に、テーブルの出力を作成するためのプロパティの名前とその説明を示します。The following table lists the property names and their descriptions for creating a table output.

プロパティ名Property name 説明Description
出力エイリアスOutput alias クエリの出力をこのテーブル ストレージに出力するためにクエリで使用されるわかりやすい名前です。A friendly name used in queries to direct the query output to this table storage.
ストレージ アカウントStorage account ご自分の出力を送信するストレージ アカウントの名前です。The name of the storage account where you're sending your output.
ストレージ アカウント キーStorage account key ストレージ アカウントに関連付けられているアクセス キー。The access key associated with the storage account.
テーブル名Table name テーブルの名前。The name of the table. テーブルが存在しない場合は、テーブルが作成されます。The table gets created if it doesn't exist.
パーティション キーPartition key パーティション キーが含まれる出力列の名前です。The name of the output column that contains the partition key. パーティション キーは、エンティティのプライマリ キーの最初の部分を形成する、テーブル内のパーティションの一意識別子です。The partition key is a unique identifier for the partition within a table that forms the first part of an entity's primary key. 最大サイズが 1 KB の文字列値です。It's a string value that can be up to 1 KB in size.
行キーRow key 行キーが含まれる出力列の名前です。The name of the output column that contains the row key. 行キーは、パーティション内のエンティティの一意識別子です。The row key is a unique identifier for an entity within a partition. エンティティのプライマリ キーの 2 番目の部分を形成します。It forms the second part of an entity’s primary key. 行キーは、最大サイズが 1 KB の文字列値です。The row key is a string value that can be up to 1 KB in size.
バッチ サイズBatch size バッチ操作のレコードの数です。The number of records for a batch operation. ほとんどのジョブは既定値 (100) で十分です。The default (100) is sufficient for most jobs. この設定の変更について詳しくは、テーブル バッチ操作の仕様に関するページを参照してください。See the Table Batch Operation spec for more details on modifying this setting.

Service Bus キューService Bus queues

Service Bus キューでは、競合している 1 つ以上のコンシューマーへのメッセージ配信に FIFO が使用されます。Service Bus queues offer a FIFO message delivery to one or more competing consumers. 通常、メッセージはキューに追加された時間的順序で受信者によって受信され、処理されます。Typically, messages are received and processed by the receivers in the temporal order in which they were added to the queue. 各メッセージを受信し、処理するメッセージ コンシューマーは 1 つのみです。Each message is received and processed by only one message consumer.

次の表に、キューの出力を作成するためのプロパティの名前とその説明を示します。The following table lists the property names and their descriptions for creating a queue output.

プロパティ名Property name 説明Description
出力エイリアスOutput alias クエリの出力をこの Service Bus キューに出力するためにクエリ内で使用されるフレンドリ名です。A friendly name used in queries to direct the query output to this Service Bus queue.
Service Bus 名前空間Service Bus namespace 一連のメッセージング エンティティのコンテナーです。A container for a set of messaging entities.
キュー名Queue name Service Bus キューの名前です。The name of the Service Bus queue.
キュー ポリシー名Queue policy name キューを作成するとき、キューの [構成] タブで共有アクセス ポリシーを作成することもできます。各共有アクセス ポリシーには、名前、設定したアクセス許可、アクセス キーが含まれています。When you create a queue, you can also create shared access policies on the queue's Configure tab. Each shared access policy has a name, permissions that you set, and access keys.
キュー ポリシー キーQueue policy key Service Bus 名前空間へのアクセスを認証するために使用する共有アクセス キー。The shared access key that's used to authenticate access to the Service Bus namespace.
イベントのシリアル化の形式Event serialization format 出力データのシリアル化形式です。The serialization format for output data. JSON、CSV、Avro がサポートされています。JSON, CSV, and Avro are supported.
エンコードEncoding CSV と JSON では、現在のところ、UTF-8 が唯一サポートされているエンコード形式です。For CSV and JSON, UTF-8 is the only supported encoding format at this time.
区切り記号Delimiter CSV のシリアル化のみに適用されます。Applicable only for CSV serialization. Stream Analytics は、CSV 形式のデータをシリアル化するために、一般的な区切り記号をサポートしています。Stream Analytics supports a number of common delimiters for serializing data in CSV format. サポートしている値は、コンマ、セミコロン、スペース、タブ、および縦棒です。Supported values are comma, semicolon, space, tab, and vertical bar.
形式Format JSON 型のみに適用されます。Applicable only for JSON type. [改行区切り] を指定すると、各 JSON オブジェクトを改行で区切って、出力が書式設定されます。Line separated specifies that the output is formatted by having each JSON object separated by a new line. [配列] を指定すると、JSON オブジェクトの配列として出力が書式設定されます。Array specifies that the output is formatted as an array of JSON objects.
プロパティ列Property columns 省略可能。Optional. ペイロードではなく、送信メッセージのユーザー プロパティとして関連付ける必要があるコンマ区切りの列です。Comma-separated columns that need to be attached as user properties of the outgoing message instead of the payload. この機能の詳細は、「出力用のカスタム メタデータ プロパティ」セクションにあります。More info about this feature is in the section Custom metadata properties for output.

パーティション数は、Service Bus SKU とサイズに基づいていますThe number of partitions is based on the Service Bus SKU and size. パーティション キーは、各パーティションに固有の整数値です。Partition key is a unique integer value for each partition.

Service Bus トピックService Bus Topics

Service Bus キューには、送信者から受信者への一対一の通信方法が用意されています。Service Bus queues provide a one-to-one communication method from sender to receiver. Service Bus のトピックでは、一対多の形式の通信を行うことができます。Service Bus topics provide a one-to-many form of communication.

次の表に、Service Bus トピックの出力を作成するためのプロパティの名前とその説明を示します。The following table lists the property names and their descriptions for creating a Service Bus topic output.

プロパティ名Property name 説明Description
出力エイリアスOutput alias クエリの出力をこの Service Bus トピックに出力するためにクエリ内で使用されるフレンドリ名です。A friendly name used in queries to direct the query output to this Service Bus topic.
Service Bus 名前空間Service Bus namespace 一連のメッセージング エンティティのコンテナーです。A container for a set of messaging entities. 新しいイベント ハブを作成したとき、Service Bus 名前空間も作成されました。When you created a new event hub, you also created a Service Bus namespace.
トピック名Topic name トピックは、イベント ハブやキューと類似するメッセージ エンティティです。Topics are messaging entities, similar to event hubs and queues. デバイスやサービスからイベント ストリームを収集するように設計されています。They're designed to collect event streams from devices and services. トピックが作成されるときに、特定の名前も付けられます。When a topic is created, it's also given a specific name. トピックに送信されるメッセージはサブスクリプションが作成されなければ使用できないため、トピックの下に 1 つ以上のサブスクリプションがあることを確認してください。The messages sent to a topic aren't available unless a subscription is created, so ensure there's one or more subscriptions under the topic.
トピック ポリシー名Topic policy name Service Bus トピックを作成するとき、トピックの [構成] タブで共有アクセス ポリシーを作成することもできます。各共有アクセス ポリシーには、名前、設定したアクセス許可、アクセス キーが含まれています。When you create a Service Bus topic, you can also create shared access policies on the topic's Configure tab. Each shared access policy has a name, permissions that you set, and access keys.
トピック ポリシー キーTopic policy key Service Bus 名前空間へのアクセスを認証するために使用する共有アクセス キー。The shared access key that's used to authenticate access to the Service Bus namespace.
イベントのシリアル化の形式Event serialization format 出力データのシリアル化形式です。The serialization format for output data. JSON、CSV、Avro がサポートされています。JSON, CSV, and Avro are supported.
エンコードEncoding CSV または JSON 形式を使用する場合は、エンコードを指定する必要があります。If you're using CSV or JSON format, an encoding must be specified. 現時点でサポートされているエンコード形式は UTF-8 だけです。UTF-8 is the only supported encoding format at this time.
区切り記号Delimiter CSV のシリアル化のみに適用されます。Applicable only for CSV serialization. Stream Analytics は、CSV 形式のデータをシリアル化するために、一般的な区切り記号をサポートしています。Stream Analytics supports a number of common delimiters for serializing data in CSV format. サポートしている値は、コンマ、セミコロン、スペース、タブ、および縦棒です。Supported values are comma, semicolon, space, tab, and vertical bar.
プロパティ列Property columns 省略可能。Optional. ペイロードではなく、送信メッセージのユーザー プロパティとして関連付ける必要があるコンマ区切りの列です。Comma-separated columns that need to be attached as user properties of the outgoing message instead of the payload. この機能の詳細は、「出力用のカスタム メタデータ プロパティ」セクションにあります。More info about this feature is in the section Custom metadata properties for output.

パーティション数は、Service Bus SKU とサイズに基づいていますThe number of partitions is based on the Service Bus SKU and size. パーティション キーは、各パーティションに固有の整数値です。The partition key is a unique integer value for each partition.

Azure Cosmos DBAzure Cosmos DB

Azure Cosmos DB はグローバル分散型データベース サービスです。世界各地に対応する、制限のないエラスティックなスケーリング、スキーマに依存しないデータ モデルでの豊富なクエリと自動インデックス作成機能を提供します。Azure Cosmos DB is a globally distributed database service that offers limitless elastic scale around the globe, rich query, and automatic indexing over schema-agnostic data models. Stream Analytics の Azure Cosmos DB コンテナー オプションについては、Azure Cosmos DB を出力として使用する Stream Analytics に関する記事を参照してください。To learn about Azure Cosmos DB container options for Stream Analytics, see the Stream Analytics with Azure Cosmos DB as output article.

Stream Analytics からの Azure Cosmos DB 出力は、現在、Azure China 21Vianet および Azure Germany (T-Systems International) リージョンでは利用できません。Azure Cosmos DB output from Stream Analytics is currently not available in the Azure China 21Vianet and Azure Germany (T-Systems International) regions.

注意

現時点では、Azure Stream Analytics は、SQL API を使用した Azure Cosmos DB への接続のみをサポートしています。At this time, Azure Stream Analytics only supports connection to Azure Cosmos DB by using the SQL API. その他の Azure Cosmos DB API は、まだサポートされていません。Other Azure Cosmos DB APIs are not yet supported. Azure Stream Analytics を、その他のAPI で作成した Azure Cosmos DB アカウントへ接続する場合は、データが正しく格納されない可能性があります。If you point Azure Stream Analytics to the Azure Cosmos DB accounts created with other APIs, the data might not be properly stored.

次の表では、Azure Cosmos DB の出力を作成するプロパティについて説明します。The following table describes the properties for creating an Azure Cosmos DB output.

プロパティ名Property name 説明Description
出力エイリアスOutput alias Stream Analytics クエリ内でこの出力を意味するエイリアス。An alias to refer this output in your Stream Analytics query.
シンクSink Azure Cosmos DB。Azure Cosmos DB.
インポート オプションImport option [サブスクリプションから Cosmos DB を選択する] または [Cosmos DB 設定を手動で指定します] を選択します。Choose either Select Cosmos DB from your subscription or Provide Cosmos DB settings manually.
Account IDAccount ID Azure Cosmos DB アカウントの名前またはエンドポイント URI。The name or endpoint URI of the Azure Cosmos DB account.
アカウント キーAccount key Azure Cosmos DB アカウントの共有アクセス キー。The shared access key for the Azure Cosmos DB account.
DatabaseDatabase Azure Cosmos DB データベース名。The Azure Cosmos DB database name.
コンテナー名Container name 使用するコンテナーの名前。Cosmos DB に存在する必要があります。The container name to be used, which must exist in Cosmos DB. 例:Example:
  • MyContainer: "MyContainer" という名前のコンテナーが存在する必要があります。MyContainer: A container named "MyContainer" must exist.
ドキュメント IDDocument ID 省略可能。Optional. 挿入操作または更新操作の基盤となるプライマリ キーを指定するために使用される、出力イベント内のフィールドの名前です。The name of the field in output events that's used to specify the primary key on which insert or update operations are based.

Azure FunctionsAzure Functions

Azure Functions は、インフラストラクチャを明示的にプロビジョニングまたは管理することなく、オンデマンドでコードを実行するために使用できるサーバーレス コンピューティング サービスです。Azure Functions is a serverless compute service that you can use to run code on-demand without having to explicitly provision or manage infrastructure. これにより、Azure またはパートナーのサービス内で発生するイベントによってトリガーされるコードを実装できます。It lets you implement code that's triggered by events occurring in Azure or partner services. トリガーに応答する Azure Functions のこの機能によって、Azure Stream Analytics の自然な出力になります。This ability of Azure Functions to respond to triggers makes it a natural output for Azure Stream Analytics. この出力アダプターを使用すると、ユーザーは Stream Analytics を Azure Functions に接続し、さまざまなイベントに応じてスクリプトまたはコードの一部を実行することができます。This output adapter enables users to connect Stream Analytics to Azure Functions, and run a script or piece of code in response to a variety of events.

Stream Analytics からの Azure Functions 出力は、現在、Azure China 21Vianet および Azure Germany (T-Systems International) リージョンでは利用できません。Azure Functions output from Stream Analytics is currently not available in the Azure China 21Vianet and Azure Germany (T-Systems International) regions.

Azure Stream Analytics では、HTTP トリガーを使用して Azure Functions を呼び出します。Azure Stream Analytics invokes Azure Functions via HTTP triggers. Azure Functions 出力アダプターは、次の構成可能なプロパティで使用できます。The Azure Functions output adapter is available with the following configurable properties:

プロパティ名Property name 説明Description
関数アプリFunction app Azure Functions アプリの名前です。The name of your Azure Functions app.
FunctionFunction ご自分の Azure Functions アプリ内にある関数の名前です。The name of the function in your Azure Functions app.
KeyKey 別のサブスクリプションの Azure 関数を使用するには、ご自分の関数にアクセスするためのキーを指定します。If you want to use an Azure Function from another subscription, you can do so by providing the key to access your function.
最大バッチ サイズMax batch size ご自分の Azure 関数に送信される各出力バッチの最大サイズを設定できるプロパティです。A property that lets you set the maximum size for each output batch that's sent to your Azure function. 入力の単位はバイトです。The input unit is in bytes. 既定値は 262,144 バイト (256 KB) です。By default, this value is 262,144 bytes (256 KB).
最大バッチ カウントMax batch count Azure Functions に送信される各バッチのイベントの最大数を指定できるプロパティです。A property that lets you specify the maximum number of events in each batch that's sent to Azure Functions. 既定値は 100 です。The default value is 100.

Azure Stream Analytics は、Azure 関数から 413 ("http の要求したエンティティが大きすぎる") 例外を受け取ると、Azure Functions に送信するバッチのサイズを縮小します。When Azure Stream Analytics receives a 413 ("http Request Entity Too Large") exception from an Azure function, it reduces the size of the batches that it sends to Azure Functions. Azure 関数コードで、この例外を使用して、Azure Stream Analytics がサイズの大きいバッチを送信しないようにします。In your Azure function code, use this exception to make sure that Azure Stream Analytics doesn’t send oversized batches. また、関数で使用する最大バッチ カウントおよび最大バッチ サイズの値が Stream Analytics ポータルに入力した値と矛盾しないことを確認します。Also, make sure that the maximum batch count and size values used in the function are consistent with the values entered in the Stream Analytics portal.

注意

テスト接続中、Stream Analytics から Azure Functions に空のバッチが送信され、この 2 つの間の接続が機能するかどうかがテストされます。During test connection, Stream Analytics sends an empty batch to Azure Functions to test if the connection between the two works. テスト接続に合格するように、Functions アプリで空のバッチ要求が処理されるようにします。Make sure that your Functions app handles empty batch requests to make sure test connection passes.

また、時間枠内に開始するイベントがない場合も、出力は生成されません。Also, in a situation where there's no event landing in a time window, no output is generated. その結果、computeResult 関数は呼び出されません。As a result, the computeResult function isn't called. この動作は、組み込みのウィンドウ集計関数と一致します。This behavior is consistent with the built-in windowed aggregate functions.

出力用のカスタム メタデータ プロパティCustom metadata properties for output

ご自分の送信メッセージにクエリ列をユーザー プロパティとして添付できます。You can attach query columns as user properties to your outgoing messages. これらの列はペイロードに入りません。These columns don't go into the payload. これらのプロパティは、出力メッセージにディクショナリの形式で表示されます。The properties are present in the form of a dictionary on the output message. "キー" は列名で、"" はプロパティ ディクショナリの列値です。Key is the column name and value is the column value in the properties dictionary. Record と Array を除き、すべての Stream Analytics データ型がサポートされています。All Stream Analytics data types are supported except Record and Array.

サポートされている出力:Supported outputs:

  • Service Bus キューService Bus queue
  • Service Bus トピックService Bus topic
  • イベント ハブEvent hub

次の例では、2 つのフィールド DeviceIdDeviceStatus をメタデータに追加します。In the following example, we add the two fields DeviceId and DeviceStatus to the metadata.

  • クエリ: select *, DeviceId, DeviceStatus from iotHubInputQuery: select *, DeviceId, DeviceStatus from iotHubInput
  • 出力の構成: DeviceId,DeviceStatusOutput configuration: DeviceId,DeviceStatus

プロパティ列

次のスクリーンショットは、Service Bus Explorer を利用して EventHub で検査される出力メッセージ プロパティを示しています。The following screenshot shows output message properties inspected in EventHub through Service Bus Explorer.

イベント カスタム プロパティ

パーティション分割Partitioning

次の表は、出力の種類ごとにパーティションのサポートと出力ライターの数をまとめた一覧です。The following table summarizes the partition support and the number of output writers for each output type:

出力の種類Output type パーティション分割のサポートPartitioning support パーティション キーPartition key 出力ライターの数Number of output writers
Azure Data Lake StoreAzure Data Lake Store はいYes パス プレフィックス パターンに {date} トークンと {time} トークンを使用します。Use {date} and {time} tokens in the path prefix pattern. YYYY/MM/DD、DD/MM/YYYY、MM-DD-YYYY などの日付形式を選択します。Choose the date format, such as YYYY/MM/DD, DD/MM/YYYY, or MM-DD-YYYY. 時間形式には HH を使用します。HH is used for the time format. 完全並列化可能なクエリに対する入力のパーティション分割に従います。Follows the input partitioning for fully parallelizable queries.
Azure SQL DatabaseAzure SQL Database はい。有効にする必要があります。Yes, needs to enabled. クエリの PARTITION BY 句に基づきます。Based on the PARTITION BY clause in the query. パーティション分割の継承オプションが有効になっている場合は、完全並列化可能なクエリに対する入力のパーティション分割に従います。When Inherit Partitioning option is enabled, follows the input partitioning for fully parallelizable queries. SQL Azure Database にデータを読み込むときの書き込みスループット パフォーマンスの向上の詳細については、「Azure SQL Database への Azure Stream Analytics の出力」を参照してください。To learn more about achieving better write throughput performance when you're loading data into Azure SQL Database, see Azure Stream Analytics output to Azure SQL Database.
Azure BLOB ストレージAzure Blob storage はいYes パス パターンにご自分のイベント フィールドからの {date} トークンと {time} トークンを使用します。Use {date} and {time} tokens from your event fields in the path pattern. YYYY/MM/DD、DD/MM/YYYY、MM-DD-YYYY などの日付形式を選択します。Choose the date format, such as YYYY/MM/DD, DD/MM/YYYY, or MM-DD-YYYY. 時間形式には HH を使用します。HH is used for the time format. BLOB 出力を 1 つのカスタム イベント属性 {fieldname} または {datetime:<specifier>} でパーティション分割できます。Blob output can be partitioned by a single custom event attribute {fieldname} or {datetime:<specifier>}. 完全並列化可能なクエリに対する入力のパーティション分割に従います。Follows the input partitioning for fully parallelizable queries.
Azure Event HubsAzure Event Hubs はいYes はいYes パーティションの配置によって異なります。Varies depending on partition alignment.
イベント ハブ出力のパーティション キーが上流の (以前の) クエリ ステップと等間隔で配置されている場合、ライターの数はイベント ハブ出力のパーティションの数と同じになります。When the partition key for event hub output is equally aligned with the upstream (previous) query step, the number of writers is the same as the number of partitions in event hub output. 各ライターは、EventHubSender クラスを使用して、特定のパーティションにイベントを送信します。Each writer uses the EventHubSender class to send events to the specific partition.
イベント ハブ出力のパーティション キーが上流の (以前の) クエリ ステップに合わせて配置されていない場合、ライターの数はその前のステップのパーティションの数と同じになります。When the partition key for event hub output is not aligned with the upstream (previous) query step, the number of writers is the same as the number of partitions in that prior step. 各ライターは、EventHubClientSendBatchAsync クラスを使用して、すべての出力パーティションにイベントを送信します。Each writer uses the SendBatchAsync class in EventHubClient to send events to all the output partitions.
Power BIPower BI いいえNo なしNone 適用不可。Not applicable.
Azure Table StorageAzure Table storage はいYes 任意の出力列。Any output column. 完全に並列化されたクエリに対する入力のパーティション分割に従います。Follows the input partitioning for fully parallelized queries.
Azure Service Bus トピックAzure Service Bus topic はいYes 自動的に選択されます。Automatically chosen. パーティション数は、Service Bus SKU とサイズに基づいています。The number of partitions is based on the Service Bus SKU and size. パーティション キーは、各パーティションに固有の整数値です。The partition key is a unique integer value for each partition. 出力トピック内のパーティションの数と同じです。Same as the number of partitions in the output topic.
Azure Service Bus キューAzure Service Bus queue はいYes 自動的に選択されます。Automatically chosen. パーティション数は、Service Bus SKU とサイズに基づいています。The number of partitions is based on the Service Bus SKU and size. パーティション キーは、各パーティションに固有の整数値です。The partition key is a unique integer value for each partition. 出力キュー内のパーティションの数と同じです。Same as the number of partitions in the output queue.
Azure Cosmos DBAzure Cosmos DB はいYes クエリの PARTITION BY 句に基づきます。Based on the PARTITION BY clause in the query. 完全に並列化されたクエリに対する入力のパーティション分割に従います。Follows the input partitioning for fully parallelized queries.
Azure FunctionsAzure Functions はいYes クエリの PARTITION BY 句に基づきます。Based on the PARTITION BY clause in the query. 完全に並列化されたクエリに対する入力のパーティション分割に従います。Follows the input partitioning for fully parallelized queries.

出力ライターの数は、クエリ内の INTO <partition count> (INTO に関するページを参照してください) 句を使用して制御することもできます。これは、目的のジョブ トポロジを実現するのに役立ちます。The number of output writers can also be controlled using INTO <partition count> (see INTO) clause in your query, which can be helpful in achieving a desired job topology. 出力アダプターがパーティション分割されていない場合は、ある入力パーティションにデータがないと、到着遅延時間までの遅延が発生します。If your output adapter is not partitioned, lack of data in one input partition will cause a delay up to the late arrival amount of time. このような場合は、出力が 1 つのライターにマージされるため、ご使用のパイプラインにボトルネックが発生する可能性があります。In such cases, the output is merged to a single writer, which might cause bottlenecks in your pipeline. 到着遅延ポリシーの詳細については、Azure Stream Analytics のイベントの順序に関する考慮事項に関する記事を参照してください。To learn more about late arrival policy, see Azure Stream Analytics event order considerations.

出力バッチ サイズOutput batch size

Azure Stream Analytics では、イベントを処理して出力に書き込むために、可変サイズのバッチを使用します。Azure Stream Analytics uses variable-size batches to process events and write to outputs. 通常、Stream Analytics エンジンでは、一度に 1 つのメッセージを書き込むことはせず、効率を上げるためにバッチを使用します。Typically the Stream Analytics engine doesn't write one message at a time, and uses batches for efficiency. 受信イベントと送信イベントのレートが両方とも高い場合は、Stream Analytics では、大きいバッチを使用します。When the rate of both the incoming and outgoing events is high, Stream Analytics uses larger batches. エグレス レートが低い場合は、小さいバッチを使用して待ち時間が短い状態を維持します。When the egress rate is low, it uses smaller batches to keep latency low.

次の表では、出力のバッチ処理に関するいくつかの考慮事項について説明します。The following table explains some of the considerations for output batching:

出力の種類Output type 最大メッセージ サイズMax message size バッチ サイズの最適化Batch size optimization
Azure Data Lake StoreAzure Data Lake Store Data Lake Store の制限」を参照してください。See Data Lake Storage limits. 書き込み操作ごとに最大 4 MB を使用します。Use up to 4 MB per write operation.
Azure SQL DatabaseAzure SQL Database 最大バッチ カウントを使用して構成できます。Configurable using Max batch count. 既定では、1 つの一括挿入あたり最大で 10,000 行、最小で 100 行です。10,000 maximum and 100 minimum rows per single bulk insert by default.
Azure SQL の制限に関する記事を参照してください。See Azure SQL limits.
すべてのバッチは、最初に最大バッチ カウントを使用して一括挿入されます。Every batch is initially bulk inserted with maximum batch count. バッチは、SQL の再試行可能なエラーに基づいて (最小バッチ カウントに達するまで) 半分に分割されます。Batch is split in half (until minimum batch count) based on retryable errors from SQL.
Azure BLOB ストレージAzure Blob storage Azure Storage の制限に関するセクションを参照してください。See Azure Storage limits. BLOB の最大ブロック サイズは 4 MB です。The maximum blob block size is 4 MB.
BLOB の最大ブロック数は 50,000 です。The maximum blob bock count is 50,000.
Azure Event HubsAzure Event Hubs メッセージあたり 256 KB または 1 MB です。256 KB or 1 MB per message.
Event Hubs の制限に関する記事を参照してください。See Event Hubs limits.
入出力のパーティション分割が揃っていない場合、各イベントは個別に EventData に格納され、最大メッセージ サイズまでのバッチで送信されます。When input/output partitioning isn't aligned, each event is packed individually in EventData and sent in a batch of up to the maximum message size. これは、カスタム メタデータ プロパティが使用されている場合にも発生します。This also happens if custom metadata properties are used.

入出力のパーティション分割が揃っている場合、複数のイベントが最大メッセージ サイズまで 1 つの EventData インスタンスに格納され、送信されます。When input/output partitioning is aligned, multiple events are packed into a single EventData instance, up to the maximum message size, and sent.
Power BIPower BI Power BI REST API の制限事項」を参照してください。See Power BI Rest API limits.
Azure Table StorageAzure Table storage Azure Storage の制限に関するセクションを参照してください。See Azure Storage limits. 既定では、1 つのトランザクションあたり 100 個のエンティティです。The default is 100 entities per single transaction. 必要に応じて、より小さい値を構成できます。You can configure it to a smaller value as needed.
Azure Service Bus キューAzure Service Bus queue Standard レベルではメッセージあたり 256 KB、Premium レベルでは 1 MB。256 KB per message for Standard tier, 1MB for Premium tier.
Service Bus の制限に関する記事を参照してください。See Service Bus limits.
メッセージごとに 1 つのイベントを使用します。Use a single event per message.
Azure Service Bus トピックAzure Service Bus topic Standard レベルではメッセージあたり 256 KB、Premium レベルでは 1 MB。256 KB per message for Standard tier, 1MB for Premium tier.
Service Bus の制限に関する記事を参照してください。See Service Bus limits.
メッセージごとに 1 つのイベントを使用します。Use a single event per message.
Azure Cosmos DBAzure Cosmos DB Azure Cosmos DB の制限」を参照してください。See Azure Cosmos DB limits. バッチ サイズと書き込みの頻度は、Azure Cosmos DB の応答に基づいて動的に調整されます。Batch size and write frequency are adjusted dynamically based on Azure Cosmos DB responses.
Stream Analytics からの事前に定義された制限はありません。There are no predetermined limitations from Stream Analytics.
Azure FunctionsAzure Functions 既定のバッチ サイズは 262,144 バイト (256 KB) です。The default batch size is 262,144 bytes (256 KB).
バッチごとの既定のイベント数は 100 です。The default event count per batch is 100.
バッチ サイズは構成可能で、Stream Analytics の出力オプションで増減させることができます。The batch size is configurable and can be increased or decreased in the Stream Analytics output options.

次の手順Next steps