繁体   English   中英

使用 Powershell 更新 AWS ECS 任务定义

[英]Update AWS ECS Task Definition with Powershell

长话短说,我需要通过 powershell 更新我的 ECS 任务定义,以增加只能通过 AWS cli 获得的“EphemeralStorage_SizeInGiB”。

我能够通过 Get-ECSTaskDefinitionDetail cmdlet 成功获取任务,但我不知道下一步该做什么。

我能够将 output 转换为 JSON 并更新 json 文件中的临时存储字段,但不知道如何将其发送回 AWS。 我对 Register-ECSTaskDefinition Cmdlet 的所有尝试似乎都失败了,因为它需要每个参数单独的 arguments 而不是 json 上传。

任何意见,将不胜感激。 谢谢,

我没有可用于测试的工具,但大多数AWS cmdlet 返回的对象可以通过管道传递给彼此。 Get-ECSTaskDefinitionDetail也这样做,返回一个DescribeTaskDefinitionResponse object,其中包含自动填充注册的所有正确属性。 试用

Get-ECSTaskDefinitionDetail -TaskDefinition $ARN | 
  Register-ECSTaskDefinition -EphemeralStorage_SizeInGiB $newSize

或者它可能需要使用这个.TaskDefinition属性:

$Response = Get-ECSTaskDefinitionDetail -TaskDefinition $ARN
$Response.TaskDefinition | Register-ECSTaskDefinition -EphemeralStorage_SizeInGiB $newSize

也许就这么简单?

请注意,您不能在 Get 命令中使用-Select ,否则它将返回不同的 object 类型。


也就是说,当它的两个参数需要时,它不会采用 json,这很尴尬。 可能值得重新打开此功能请求:

https://github.com/aws/aws-tools-for-powershell/issues/184

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM