想要服务器端加密 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 论坛中保持单线程对话以避免混淆。
当我下载新的 TaskRunner-1.0.jar 时,此问题已解决。我是 运行 旧版本。
我创建了一个 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 论坛中保持单线程对话以避免混淆。
当我下载新的 TaskRunner-1.0.jar 时,此问题已解决。我是 运行 旧版本。