【问题标题】:How to remove milliseconds from utcnow() result in Azure data factory如何从 utcnow() 中删除毫秒数导致 Azure 数据工厂
【发布时间】:2020-07-24 21:48:00
【问题描述】:

我想为参数 usertime 传递一个值,该值应该类似于 2020-07-23T13:19:31Z ,将在我的源连接 url 中使用。

为此,我在值选项卡中提供了 utcnow() 函数。但我意识到 utcnow() 会将值返回为“2018-04-15T13:00:00.0000000Z”

为了删除毫秒部分,我使用了表达式 substring(utcnow(),1,20)。 并且还使用了表达式 formatDateTime('utcnow()', 'yyyy-MM-ddTHH:mm:ss')。

当我的表达式返回错误和无效参数时,我的两条线索都是无用的。

能否请您帮我如何在 Azure 数据工厂数据源参数中提供值 2020-07-23T13:19:31Z。

【问题讨论】:

    标签: azure azure-data-factory azure-data-factory-2


    【解决方案1】:

    您不希望 utcNow 包含在引号内,这是我的一个管道中使用您的格式的示例:

    @formatDateTime(utcnow(), 'yyyy-MM-ddTHH:mm:ss')
    

    给出这个结果,设置一个名为 x 的变量:

    {
        "name": "x",
        "value": "2020-07-24T13:44:42Z"
    }
    

    在“添加动态内容”中构建它,因为您可以选择功能,如果您不熟悉它会正确格式化。

    您的子字符串不起作用,因为它需要一个字符串作为第一个参数,而 utcnow 是一个时间戳。

    【讨论】:

    • 嗨斯科特,谢谢你在这里的帮助。但我也想在日期之外有时间。我不知道为什么当我使用 formatDateTime('utcnow()', 'yyyy-MM-ddTHH:mm:ss') 时它没有取值。
    • 看我的例子,把 utcnow() 去掉单引号。我编辑了答案以反映您想要的格式。
    • 下面是 api 期望的 url:ma.api.1ws.com/V2/products/… 在 url 中的 V2 之后都是具有静态值的参数 dn 时间戳只是动态的(它只会期望从当前时间到 -5 分钟的值)。我正在 Azure 中构建的网址:ma.api.1ws.com/V2/products/…
    • 这是一个不同的问题。您没有正确地将变量替换为 url,您是否使用 concat 并且看起来您需要通过放置 %3A 而不是“:”来对时间部分进行编码。看起来您可以使用 encodeUriComponent 来处理编码,我只是从未使用过。
    猜你喜欢
    • 2021-08-26
    • 1970-01-01
    • 2023-01-20
    • 2021-09-12
    • 1970-01-01
    • 2022-06-26
    • 1970-01-01
    • 1970-01-01
    • 2020-05-18
    相关资源
    最近更新 更多