code: def list_objects_v2(self, bucket_name, prefix='', recursive=False):
          
          is_valid_bucket_name(bucket_name)
  
          # If someone explicitly set prefix to None convert it to empty string.
          if prefix is None:
              prefix = ''
  
          # Initialize query parameters.
          query = {
              'list-type': '2',
              'prefix': prefix
          }
  
          # Delimited by default.
          if not recursive:
              query['delimiter'] = '/'
  
          continuation_token = None
          is_truncated = True
          while is_truncated:
              if continuation_token is not None:
                  query['continuation-token'] = continuation_token
              response = self._url_open(method='GET',
                                        bucket_name=bucket_name,
                                        query=query)
              objects, is_truncated, continuation_token = parse_list_objects_v2(
                  response.data, bucket_name=bucket_name
              )
  
              for obj in objects:
                  yield obj
docs: List objects in the given bucket using the List objects V2 API.
  
          Examples:
              objects = minio.list_objects_v2('foo')
              for current_object in objects:
                  print(current_object)
              # hello
              # hello/
              # hello/
              # world/
  
              objects = minio.list_objects_v2('foo', prefix='hello/')
              for current_object in objects:
                  print(current_object)
              # hello/world/
  
              objects = minio.list_objects_v2('foo', recursive=True)
              for current_object in objects:
                  print(current_object)
              # hello/world/1
              # world/world/2
              # ...
  
              objects = minio.list_objects_v2('foo', prefix='hello/',
                                           recursive=True)
              for current_object in objects:
                  print(current_object)
              # hello/world/1
              # hello/world/2
  
          :param bucket_name: Bucket to list objects from
          :param prefix: String specifying objects returned must begin with
          :param recursive: If yes, returns all objects for a specified prefix
          :return: An iterator of objects in alphabetical order.