想要服务器端加密 ShellCommandActivity 创建的 S3 数据节点文件

Want to server-side encrypt S3 data node file created by ShellCommandActivity

我创建了一个 ShellCommandActivity,阶段 = "true"。 Shell 命令创建一个新文件并将其存储在 ${OUTPUT1_STAGING_DIR} 中。我希望这个新文件在 S3 中进行服务器端加密。

根据文档,在 s3 数据节点中创建的所有文件默认情况下都是服务器端加密的。但是在我的管道完成后,在 s3 中创建了一个未加密的文件。我尝试在 S3 数据节点中将 s3EncryptionType 显式设置为 SERVER_SIDE_ENCRYPTION 但这也无济于事。我想加密这个新文件。

这里是管道的相关部分:

{
  "id": "DataNodeId_Fdcnk",
  "schedule": {
    "ref": "DefaultSchedule"
  },
  "directoryPath": "s3://my-bucket/test-pipeline",
  "name": "s3DataNode",
  "s3EncryptionType": "SERVER_SIDE_ENCRYPTION",
  "type": "S3DataNode"
},
{
  "id": "ActivityId_V1NOE",
  "schedule": {
    "ref": "DefaultSchedule"
  },
  "name": "FileGenerate",
  "command": "echo 'This is a test' > ${OUTPUT1_STAGING_DIR}/foo.txt",
  "workerGroup": "my-worker-group",
  "output": {
    "ref": "DataNodeId_Fdcnk"
  },
  "type": "ShellCommandActivity",
  "stage": "true"
}

简短回答:您的管道定义看起来是正确的。您需要确保您是 运行 最新版本的 Task Runner。我会尝试重现您的问题并通知您。

P.S。让我们在此处或 AWS Data Pipeline 论坛中保持单线程对话以避免混淆。

Answer on official AWS Data Pipeline Forum page

当我下载新的 TaskRunner-1.0.jar 时,此问题已解决。我是 运行 旧版本。