docs: def _execute(self, action, parameters, attempt, measurements):
          """Invoke a DynamoDB action
  
          :param str action: DynamoDB action to invoke
          :param dict parameters: parameters to send into the action
          :param int attempt: Which attempt number this is
          :param list measurements: A list for accumulating request measurements
          :rtype: tornado.concurrent.Future
  
          """
          future = concurrent.Future()
          start = time.time()
  
          def handle_response(request):
              """Invoked by the IOLoop when fetch has a response to process.
  
              :param tornado.concurrent.Future request: The request future
  
              """
              self._on_response(
                  action, parameters.get('TableName', 'Unknown'), attempt,
                  start, request, future, measurements)
  
          ioloop.IOLoop.current().add_future(self._client.fetch(
              'POST', '/',
              body=json.dumps(parameters).encode('utf-8'),
              headers={
                  'x-amz-target': 'DynamoDB_20120810.{}'.format(action),
                  'Content-Type': 'application/x-amz-json-1.0',
              }), handle_response)
          return future