Я использую AWS Data Pipeline для сохранения текстового файла в своем ведре S3 из RDS. Я хотел бы, чтобы имя файла, чтобы иметь дату и час в имени файла, как:переменная времени datetime aws данных
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 documentation for date and time functions это правильный синтаксис для использования формат функция.
Когда я сохраняю конвейер, используя «жестко закодированные» дату и время, я не получаю эту ошибку, и мой файл находится в моем ведре и папке S3, как ожидалось.
Мое мышление является то, что мне нужно, чтобы определить «myDateTime» где-то или использовать NOW()
Может кто-нибудь сказать мне, как установить «myDateTime» к текущему времени (например, сейчас) или дать временное решение, так что я может форматировать текущее время, которое будет использоваться в моем FilePath?
+1 Спасибо. Да, используя ** @ scheduleStartTime ** вместо «myDateTime» сделал трюк.Я также просто прочитал, что _a [определяемое пользователем поле] (https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-writing-pipeline-definition.html#dp-userdefined-fields) должно иметь имя с префиксом «my» во всех строчных буквах, за которым следует заглавная буква или символ подчеркивания. Я также нашел другие переменные/[объекты для CopyActivity] (http://docs.aws.amazon.com/ datapipeline/latest/DeveloperGuide/dp-object-copyactivity.html) – davedi
и как вычесть дату здесь в этом формате, потому что я не могу этого сделать –