Здравствуйте.
В настоящее время у меня проблема с API-интерфейсом AWS Route-53.Для создания записи вам нужно вызвать функцию, которая сама нуждается в массиве входных данных.
Я хочу создать здесь набор записей, и для этого у меня есть некоторые значения 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,
]);
Hower.Я хочу сделать ResourceRecords
динамически.Для каждой строки в текстовой области мне нужен новый набор следующей части кода:
[
'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).
Я неправильно строю массив или я делаю это неправильно?