【问题标题】:Azure Stream Analytics -> how much control over path prefix do I really have?Azure 流分析 -> 我真的对路径前缀有多少控制?
【发布时间】:2017-01-09 21:39:39
【问题描述】:

我想根据来自事件中心的一些数据设置前缀。

我的数据是这样的: {"id":"1234",...}

我想写一个类似于以下内容的 blob 前缀: foo/{id}/guid....

最终我希望每个 id 都有一个 blob。这将有助于它如何被下游消耗掉。

我没有看到创建与日期和时间无关的前缀的方法。从理论上讲,我可以编写另一个工作来从 blob 中提取并在流分析步骤之后将其分解。但是,感觉 SA 应该允许我立即分手。

有什么想法吗?

【问题讨论】:

    标签: azure-stream-analytics


    【解决方案1】:

    {date} 、 {time} 和 {partition} 是 blob 输出前缀中唯一支持的。 {partition} 是一个数字。

    目前不支持在 blob 前缀中使用列值。

    如果您的此类 {id} 数量有限,那么您可以通过编写多个“select --”语句来解决问题,其中不同的过滤器写入不同的输出并硬编码输出中的前缀。否则,仅使用 ASA 是不可能的。

    【讨论】:

    【解决方案2】:

    应该注意的是,现在您实际上可以做到这一点。不确定何时实现,但您现在可以使用消息中的单个属性作为自定义分区键,语法与 OP 要求的完全相同:foo/{id}/something/else

    此处记录了更多详细信息:https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-custom-path-patterns-blob-storage-output

    关键点:

    • 只允许一个自定义属性
    • 必须是对现有消息属性的直接引用(即没有像 {prop1+prop2} 这样的串联)
    • 如果自定义属性导致分区过多(超过 8,000 个),则可能会为同一分区创建任意数量的 blob

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 1970-01-01
      • 2014-05-27
      • 1970-01-01
      • 2020-02-20
      • 1970-01-01
      • 1970-01-01
      • 2016-01-18
      • 2023-03-17
      相关资源
      最近更新 更多