Solución:
SQS no es una excepción. los Lo mismo ocurre con las transmisiones de DynamoDB y Kinesis.. Creo que la razón es que los tres los servicios funcionan con lambda a través de asignaciones de fuentes de eventos. Nada más está usando las asignaciones.
Sin embargo, actualizar event source mappings
a través de la consola tampoco es posible. Puede usar CLI o SDK para eso, pero esto también requiere obtener UUID
del mapeo a modificar. Desafortunadamente UUID no se proporciona en la consola cualquiera.
Para usar en CLI, debe hacerlo en dos pasos.
1 Obtener UUID
aws lambda list-event-source-mappings --query 'EventSourceMappings[].[UUID, EventSourceArn]' --output table
-------------------------------------------------------------------------------------------------------------------------------
| ListEventSourceMappings |
+---------------------------------------+-------------------------------------------------------------------------------------+
| 5ab44863-82c2-4acc-b9dc-b14ad368effa | arn:aws:kinesis:us-east-1:xxxxx:stream/kstream |
| 7479947c-bde5-4041-a438-5eb08f350505 | arn:aws:dynamodb:us-east-1:xxxx:table/test/stream/2020-07-28T23:13:41.006 |
| 40040139-32fb-4297-b094-3f08368c980c | arn:aws:sqs:us-east-1:xxxxx:Messages |
| a2b22aa6-f37a-4603-895b-3a044661ebdf | arn:aws:sqs:us-east-1:xxx:test-queue |
+---------------------------------------+-------------------------------------------------------------------------------------+
2. Actualice el mapeo (por ejemplo, para SQS)
aws lambda update-event-source-mapping --uuid a2b22aa6-f37a-4603-895b-3a044661ebdf --batch-size 5
{
"UUID": "a2b22aa6-f37a-4603-895b-3a044661ebdf",
"BatchSize": 5,
"EventSourceArn": "arn:aws:sqs:us-east-1:xxx:test-queue",
"FunctionArn": "arn:aws:lambda:us-east-1:xxxx:function:testsfd",
"LastModified": 1595978738.458,
"State": "Updating",
"StateTransitionReason": "USER_INITIATED"
}
Esta limitación no estaría relacionado con Amazon SQS consola.
Podría ser relacionado con AWS Lambda, ya que el servicio Lambda es responsable de sondear la cola SQS y de especificar el tamaño del lote a recuperar.
Tiene razón en que no hay ninguna función para editar el tamaño del lote en la consola Lambda.
Desde update-event-source-mapping – AWS CLI Command Reference, aquí hay un comando de AWS CLI que puede actualizar el tamaño del lote:
aws lambda update-event-source-mapping
--uuid "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"
--batch-size 8
Producción:
{
"UUID": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
"StateTransitionReason": "USER_INITIATED",
"LastModified": 1569284520.333,
"BatchSize": 8,
"State": "Updating",
"FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function",
"EventSourceArn": "arn:aws:sqs:us-west-2:123456789012:mySQSqueue"
}
O simplemente elimine el disparador en la consola de Lambda y cree uno nuevo.