Azure 如何使用单个事件中心名称空间处理多个数据源

Azure 如何使用单个事件中心名称空间处理多个数据源,azure,azure-eventhub,azure-stream-analytics,azure-eventhub-capture,Azure,Azure Eventhub,Azure Stream Analytics,Azure Eventhub Capture,我从20-30个API获取数据并将数据推送到事件中心,我需要以不同的方式处理Azure stream analytics事件中心的数据,那么如何处理 我可以使用azure stream analytics识别来自不同API或源的数据吗。 我在我的代码中发送如下数据: module.exports = async function (context, myTimer) { const { EventHubClient, EventData, EventPosition, OnMessag

我从20-30个API获取数据并将数据推送到事件中心,我需要以不同的方式处理Azure stream analytics事件中心的数据,那么如何处理 我可以使用azure stream analytics识别来自不同API或源的数据吗。 我在我的代码中发送如下数据:

module.exports = async function (context, myTimer) {
    const {  EventHubClient, EventData, EventPosition, OnMessage, OnError, MessagingError } = require("@azure/event-hubs");
    const connectionString = 'Endpoint=Connection string'
    var axios = require('axios')
    context.log('ssss')
    const client = EventHubClient.createFromConnectionString(connectionString);
    context.log('sssaaa')
    var response = await axios.get('https://nseindia.com/live_market/dynaContent/live_watch/stock_watch/nifty500StockWatch.json')
    // var sendBatchData = [
    //     {body:{response['data']['data']}}
    //     ]
    const datas = [
        { body: { "message": "Hello World 1" }, applicationProperties: { id: 1 }, partitionKey: "pk786" },
        { body: { "message": "Hello World 2" } },
        { body: { "message": "Hello World 3" } }
        ];
    // context.log(sendBatchData)
    await client.sendBatch(datas)
    context.log('message sent')
    // async function main():Promise<void> {


    // }

    // var timeStamp = new Date().toISOString();

    // if (myTimer.IsPastDue)
    // {
    //     context.log('JavaScript is running late!');
    // }
    // context.log('JavaScript timer trigger function ran!', timeStamp);   
};
我没有看到任何东西被重放到我的分区键上。 我的目标是,当我从多个Api源发送数据时,我如何在Azure stream analytics中进行区分


提前感谢

据我所知,ASA事件中心流输入无法自动区分来自不同源API的数据

有两种方式供您参考:

1.当您的API将数据推送到事件中心时,请使用
PartitionId
。然后,您可以在中查询分区id:


2.为所有API添加自定义统一列。例如:
SourceFlag:API1、API2、API3…
,然后您可以根据ASA查询中的此自定义列来区分数据。

我需要以不同的方式处理来自Azure stream analytics事件中心的数据->您的确切意思是什么?请查看我更新的查询@PeterBons@sarank你好我的回答对你有帮助吗?@PeterBons请看我更新的问题
{
    "message": "Hello World 3",
    "EventProcessedUtcTime": "2019-09-23T09:52:09.1421367Z",
    "PartitionId": 0,
    "EventEnqueuedUtcTime": "2019-09-23T09:51:38.8270000Z"
  },
  {
    "message": "Hello World 1",
    "EventProcessedUtcTime": "2019-09-23T09:52:08.6420937Z",
    "PartitionId": 0,
    "EventEnqueuedUtcTime": "2019-09-23T09:51:38.8270000Z"
  },
  {
    "message": "Hello World 2",
    "EventProcessedUtcTime": "2019-09-23T09:52:09.1421367Z",
    "PartitionId": 0,
    "EventEnqueuedUtcTime": "2019-09-23T09:51:38.8270000Z"
  }
]