你好。
我目前在使用 AWS Route-53 API 时遇到问题。要创建记录,您需要调用一个函数,该函数本身需要一个输入数组。
我想在这里创建一个记录集,为此我有一些 POST 值。其中之一,$_POST['record_value']
,是一个文本区域并且有多行。我遍历它们。这是为一条记录启用多个值。ResourceRecords
当您将其硬编码为;中的一个值时,代码如下所示
$result = $this->route53->changeResourceRecordSets([
'ChangeBatch' => [
'Changes' => [
[
'Action' => 'CREATE',
'ResourceRecordSet' => [
'Name' => $recordName,
'ResourceRecords' => [
[
'Value' => $recordValue
],
],
'TTL' => $recordTtl,
'Type' => $recordType,
],
],
],
'Comment' => 'Routing Record Set',
],
'HostedZoneId' => $this->zone,
]);
豪尔。我想ResourceRecords
动态制作。对于 textarea 中的每一行,我需要一组新的以下代码部分;
[
'Value' => $recordValue
],
我的想法如下;
$newData = [];
foreach(explode("\r\n", $recordValue) as $valLine) {
$newData[] = ["Value" => $valLine];
}
$result = $this->route53->changeResourceRecordSets([
'ChangeBatch' => [
'Changes' => [
[
'Action' => 'CREATE',
'ResourceRecordSet' => [
'Name' => $recordName,
'ResourceRecords' => [
$newData
],
'TTL' => $recordTtl,
'Type' => $recordType,
],
],
],
'Comment' => 'Routing Record Set',
],
'HostedZoneId' => $this->zone,
]);
但是,这似乎返回了一个异常:Found 1 error while validating the input provided for the ChangeResourceRecordSets operation:↵[ChangeBatch][Changes][0][ResourceRecordSet][ResourceRecords][0] must be an associative array. Found array(1).
我是在构建阵列错误还是一起做错了?