Да, это возможно с помощью массива-casting объекта stdClass
:
$data = new stdClass;
$data->{"12"} = 37;
$data = (array) $data;
var_dump( $data );
Это дает вам (до версии PHP 7.1):
array(1) {
["12"]=>
int(37)
}
( Обновление: мой оригинальный ответ показал более сложный способ, используя json_decode()
и json_encode()
, который не нужен.)
Обратите внимание на комментарий: К сожалению, невозможно напрямую ссылаться на значение: $data['12']
вы получите уведомление.
Обновление: из PHP 7.2 на нем также можно использовать числовую строку в качестве ключа для ссылки на значение:
var_dump( $data['12'] ); // int 32
Вы можете добавить микросхемы в очередь с помощью Amazon SQS, и работники или Lambdas будут вытаскивать эти отдельные задания из очереди. Затем вы можете настроить оповещение cloudwatch, которое контролирует глубину вашей очереди, где нулевая глубина очереди (задание выполнено) запускает лямбду «завершения», которая объединит отдельные выходные микросхемы.
Я полагаю, что CloudWatch предупреждает о состояниях очереди опроса с 5-минутными интервалами, поэтому для вашего случая использования, когда у вас длительное время обработки (~ 10-15 минут), здесь не будет узким местом (лямбда-тайм-ауты В любом случае, 15 минут, так что если вы установите опрос на 15 минут, ваша лямбда либо потерпит неудачу, либо будет завершена к тому времени).
Шаг за шагом, как это будет выглядеть: