Real SQS throws `There should be at least one SendMessageBatchRequestEntry in the request. (Service: AmazonSQS; Status Code: 400; Error Code: AWS.SimpleQueueService.EmptyBatchRequest;` when there is a send batch of zero size.

This would be useful to mimic inside localstack in order to find these bugs earlier.
req_data_new = dict([(k, v) for k, v in req_data.items() if not k.startswith('Attribute.')])
    i = 1
    for k, v in forward_attrs.items():
        req_data_new['Attribute.%s.Name' % i] = [k]
        req_data_new['Attribute.%s.Value' % i] = [v]
        i += 1
    data = urlencode(req_data_new, doseq=True)
    return Request(data=data, headers=headers, method=method)
def _set_queue_attributes(queue_url, req_data):
    attrs = _format_attributes(req_data)
    
    local_attrs = {}
    for k, v in attrs.items():
        if k in UNSUPPORTED_ATTRIBUTE_NAMES:
            try:
                _v = json.loads(v)
                if isinstance(_v, dict):
                    if 'maxReceiveCount' in _v:
                        _v['maxReceiveCount'] = int(_v['maxReceiveCount'])
                local_attrs.update(dict({k: json.dumps(_v)}))
            except Exception:
                local_attrs.update(dict({k: v}))
    QUEUE_ATTRIBUTES[queue_url] = QUEUE_ATTRIBUTES.get(queue_url) or {}
    QUEUE_ATTRIBUTES[queue_url].update(local_attrs)
    forward_attrs = dict([(k, v) for k, v in attrs.items() if k not in UNSUPPORTED_ATTRIBUTE_NAMES])
    return forward_attrs
def _fire_event(req_data, response):