sqs.changeMessageVisibility according to [this](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ChangeMessageVisibility.html#API_ChangeMessageVisibility_Examples) makes a request directly to the Queue's URL rather than via the SQS Endpoint. (I'm already setting SQS endpoint to LOCALSTACK_HOSTNAME - makes no difference for this call)..

In localstack the queue URL host returned is by default set to the value of HOSTNAME_EXTERNAL, which I'm setting to localstack, but calling this method within a lambda, does not work and I get the error:

```
UnknownEndpoint: Inaccessible host: `localstack'. This service may not be available in the `us-east-1' region. 
```

So, how can I make the queue URL accessible from within a lambda using localstack? Effectively I need to make **http://localstack** accessible from within lambda.

I'm using the following cmd to start localstack:

```
LAMBDA_EXECUTOR=docker-reuse DEBUG=1 LAMBDA_REMOTE_DOCKER=0 DATA_DIR=/tmp/localstack/data HOSTNAME_EXTERNAL=localstack localstack start
```
try:
        return event['Records'][0][key]
    except KeyError:
        return None
def is_java_lambda(lambda_details):
    runtime = getattr(lambda_details, 'runtime', lambda_details)
    return runtime in [LAMBDA_RUNTIME_JAVA8, LAMBDA_RUNTIME_JAVA11]
def is_nodejs_runtime(lambda_details):
    runtime = getattr(lambda_details, 'runtime', lambda_details)
    return runtime.startswith('nodejs')
def _store_logs(func_details, log_output, invocation_time=None, container_id=None):
    log_group_name = '/aws/lambda/%s' % func_details.name()
    container_id = container_id or short_uid()
    invocation_time = invocation_time or int(time.time() * 1000)
    invocation_time_secs = int(invocation_time / 1000)
    time_str = time.strftime('%Y/%m/%d', time.gmtime(invocation_time_secs))
    log_stream_name = '%s/[LATEST]%s' % (time_str, container_id)
    return store_cloudwatch_logs(log_group_name, log_stream_name, log_output, invocation_time)
class LambdaExecutor(object):
    """ Base class for Lambda executors. Subclasses must overwrite the _execute method """
    def __init__(self):
        
        self.function_invoke_times = {}
    def execute(self, func_arn, func_details, event, context=None, version=None, asynchronous=False):
        def do_execute(*args):