You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中如何复制/克隆AWS Route53的ResourceRecordSet对象?

关于AWS PowerShell中Route53对象克隆的问题

我在使用AWS PowerShell Tools操作Amazon.Route53.Model.ResourceRecordSet和Amazon.Route53.Model.ResourceRecord类型对象时遇到了麻烦。

需求是从AWS Route53获取资源记录集,修改其资源记录列表后重新提交。之前直接获取并修改单个ResourceRecordSet对象是可行的,但这次希望保留原对象不变,创建副本修改。

一开始我尝试直接赋值:

$NewR53ResourceRecordSet = $CurrentR53ResourceRecordSet

结果发现这是引用类型赋值,修改新对象时原对象也会被改动。之后查资料说可以用.Clone()方法,但这两个类型并没有实现该方法。

最后只能用这种繁琐的方式手动复制:

$NewR53ResourceRecordSet = New-Object Amazon.Route53.Model.ResourceRecordSet
$NewR53ResourceRecordSet.Name = $CurrentR53ResourceRecordSet.Name
$NewR53ResourceRecordSet.Type = $CurrentR53ResourceRecordSet.Type
$NewR53ResourceRecordSet.TTL = $CurrentR53ResourceRecordSet.TTL
foreach ($CurrentR53ResourceRecord in $CurrentR53ResourceRecordSet.ResourceRecords) {
    $NewR53ResourceRecord = New-Object Amazon.Route53.Model.ResourceRecord
    $NewR53ResourceRecord.Value = $CurrentR53ResourceRecord.Value
    $NewR53ResourceRecordSet.ResourceRecords += $NewR53ResourceRecord
}

为什么在PowerShell里完成这么简单的对象克隆操作会这么困难?我已经理解背后的原理,但还是搞不懂为什么没有更简便的解决方案。

内容的提问来源于stack exchange,提问作者Matthew McDonald

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 03:02:37