code: def get_asset_by_name(self, publisher_name, extension_name, version, asset_type, account_token=None, accept_default=None, account_token_header=None, **kwargs):
          
          route_values = {}
          if publisher_name is not None:
              route_values['publisherName'] = self._serialize.url('publisher_name', publisher_name, 'str')
          if extension_name is not None:
              route_values['extensionName'] = self._serialize.url('extension_name', extension_name, 'str')
          if version is not None:
              route_values['version'] = self._serialize.url('version', version, 'str')
          if asset_type is not None:
              route_values['assetType'] = self._serialize.url('asset_type', asset_type, 'str')
          query_parameters = {}
          if account_token is not None:
              query_parameters['accountToken'] = self._serialize.query('account_token', account_token, 'str')
          if accept_default is not None:
              query_parameters['acceptDefault'] = self._serialize.query('accept_default', accept_default, 'bool')
          response = self._send(http_method='GET',
                                location_id='7529171f-a002-4180-93ba-685f358a0482',
                                version='5.1-preview.1',
                                route_values=route_values,
                                query_parameters=query_parameters,
                                accept_media_type='application/octet-stream')
          if "callback" in kwargs:
              callback = kwargs["callback"]
          else:
              callback = None
          return self._client.stream_download(response, callback=callback)
docs: GetAssetByName.
          [Preview API]
          :param str publisher_name:
          :param str extension_name:
          :param str version:
          :param str asset_type:
          :param str account_token:
          :param bool accept_default:
          :param String account_token_header: Header to pass the account token
          :rtype: object