5

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で使用するようにフォーマットできるように回避策を教えてもらえますか?

4

2 に答える 2

6

Data Pipeline の NOW() とまったく同じものを知りません。私は makeDate を引数なしで (楽しみのために) 使用してみましたが、それが機能するかどうかを確認しました..

最も近いのは、実行時変数の ScheduledStartTime、actualStartTime、reportProgressTime です。

http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-s3datanode.html

たとえば、次のとおりです。動作するはずです。s3://mybucketname/out/myfile-#{format(@scheduledStartTime,'YYYY-MM-dd-HH')}.txt

于 2014-08-14T15:52:53.580 に答える
1

楽しみのために、ここに に関する詳細情報がありParametersます。

パイプライン Json の最後に ( をクリックList Pipelinesし、1 つに選択し、 をクリックしてEdit Pipelineから をクリックします)、 and/orオブジェクトExportを追加する必要があります。ParametersValues

myStartDateアドホック実行のために渡されたら、操作できるバックフィル プロセスに を使用します。これを静的な既定値にすることはできますが、動的な値に設定することはできないため、通常のスケジュール タスクに限定されます。@scheduledStartTimeリアルタイム/スケジュールされた日付については、提案されているように、などを使用する必要があります。Parameters以下は、いくつかのand またはを設定するサンプルですValues。どちらもParametersUI に表示されます。#{myVariableToUse}これらの値は、表記法を使用して、パイプライン アクティビティ (シェル、ハイブなど) 全体で使用できます。

"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 に直接追加することは (まだ) できませんが、追加したら、値を変更して保存することができます。

于 2017-05-16T21:44:14.400 に答える