【问题标题】:Stream Analytics doesn't output the data to SQL but does to a blob storage流分析不会将数据输出到 sql 但会输出到 blob 存储
【发布时间】:2020-02-10 23:40:09
【问题描述】:

在我的项目中,我从 Azure IoThub 接收数据,并希望使用 Azure 流分析将其发送到 SQL 数据库。我试图使用以下查询来实现这一点:

SELECT
    IoTDataArrayElement.ArrayValue.sProjectID AS id
INTO
    [test-machine]
FROM
    [iothub-input] AS e
CROSS APPLY GetArrayElements(e.iotdata) AS IoTDataArrayElement
HAVING IoTDataArrayElement.ArrayValue IS NOT NULL

当我在流分析提供的环境中运行查询并按下测试查询时,我得到了预期的输出,即 projectID。但是当我开始流分析工作时,数据不会进入我的数据库表。该表有 1 列“id”。

当我尝试将所有数据发送到 blob 存储时,流分析作业有效。

有人可以向我解释为什么我用于将数据发送到数据库的查询实际上并未将数据发送到数据库吗?

【问题讨论】:

  • 数据库中的列类型是否兼容? db 防火墙是否允许来自 ASA 的连接?
  • @silent 感谢您的评论,数据库确实允许来自 ASA 的连接,并且数据库中的 columnh 类型兼容

标签: azure azure-sql-database azure-iot-hub azure-stream-analytics


【解决方案1】:

您需要验证几件事才能成功配置 Azure SQL DB 作为输出:

  • 确保所有 Azure 服务的防火墙设置为开启。

  • 确保您已将输出配置到 sql 数据库并定义了正确的属性。

下表列出了用于创建 SQL 数据库输出的属性名称及其说明。

  • 确保表架构必须完全匹配字段及其 输入作业的输出。

希望这会有所帮助。

【讨论】:

  • 我发现很难将数据从asa存储到关系数据库中。所以我决定写一个我现在用作输出的天蓝色函数。这些函数负责处理正确表中的数据和置换。
  • @Collin 您希望将其发布为答案,以便将此问题标记为已回答吗?
猜你喜欢
  • 2021-10-08
  • 1970-01-01
  • 2020-08-23
  • 1970-01-01
  • 1970-01-01
  • 2019-02-04
  • 2019-06-23
  • 2020-01-03
  • 2021-08-03
相关资源
最近更新 更多