[英]aws data pipeline datetime variable
我正在使用AWS Data Pipeline将文本文件从RDS保存到我的S3存储桶。 我希望文件名在文件名中包含日期和小时,如:
myfile-YYYYMMDD-HH.txt
myfile-20140813-12.txt
我已将S3DataNode FilePath指定为:
s3://mybucketname/out/myfile-#{format(myDateTime,'YYYY-MM-dd-HH')}.txt
当我尝试保存我的管道时,我收到以下错误:
ERROR: Unable to resolve myDateTime for object:DataNodeId_xOQxz
根据日期和时间函数的AWS Data Pipeline文档,这是使用format函数的正确语法。
当我使用“硬编码”日期和时间保存管道时,我没有收到此错误,我的文件在预期的S3存储桶和文件夹中。
我的想法是我需要在某处定义“myDateTime”或使用NOW()
有人可以告诉我如何将“myDateTime”设置为当前时间(例如NOW)或者给出一个解决方法以便我可以格式化我在FilePath中使用的当前时间吗?
我不知道数据管道中的NOW()的确切等价物。 我尝试使用没有参数的makeDate(只是为了好玩),看看是否有效..它没有。
最接近的是运行时变量scheduledStartTime,actualStartTime,reportProgressTime。
http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-s3datanode.html
以下为例如。 应该管用。 S3:// mybucketname /缩小/ myfile-#{格式(@ scheduledStartTime, 'YYYY-MM-DD-HH')}的.txt
只是为了好玩,这里有一些关于Parameters
更多信息。
在Pipeline Json的末尾(单击List Pipelines
,选择一个,单击Edit Pipeline
,然后单击Export
),您需要添加一个Parameters
和/或Values
对象。
我使用myStartDate
进行回填过程,一旦传入进行临时运行,您就可以对其进行操作。 您可以为此设置静态默认值,但不能将其设置为动态值,因此它对于常规计划任务是有限的。 对于实时/计划日期,您需要按照建议使用@scheduledStartTime
等。 以下是设置一些Parameters
和/或Values
的示例。 两者都显示在UI中的Parameters
中。 这些值可以通过#{myVariableToUse}
表示法在您的管道活动(shell,配置单元等)中使用。
"parameters": [
{
"helpText": "Put help text here",
"watermark": "This shows if no default or value set",
"description": "Label/Desc",
"id": "myVariableToUse",
"type": "string"
}
]
对于价值观:
"values": {
"myS3OutLocation": "s3://some-bucket/path",
"myThreshold": "30000",
}
您无法直接在UI中添加这些内容,但一旦在那里,您就可以更改并保存这些值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.