HI!

I am getting strange logs while fetching data 
from CRITERIA_PERFORMANCE_REPORT.

Code has worked successfully before.

DEBUG zeep.cache: Cache HIT for 
https://adwords.google.com/api/adwords/reportdownload/v201809/reportDefinition.xsd
DEBUG zeep.xsd.schema: Init schema document for None
 DEBUG zeep.xsd.schema: 
register_type('{http://www.w3.org/2001/XMLSchema}string', 
<zeep.xsd.types.builtins.String object at 0x7f1c594f2cc0>)
DEBUG zeep.xsd.schema: 
register_type('{http://www.w3.org/2001/XMLSchema}boolean', 
<zeep.xsd.types.builtins.Boolean object at 0x7f1c5951b8d0
....

DEBUG zeep.xsd.schema: 
register_type('{http://www.w3.org/2001/XMLSchema}time', 
<zeep.xsd.types.builtins.Time object at 0x7f1c5951bf60>)
 DEBUG zeep.xsd.schema: 
register_type('{http://www.w3.org/2001/XMLSchema}gYear', 
<zeep.xsd.types.builtins.gYear object at 0x7f1c5951bcf8>)


Looks like non valid XML schema, but i don't know how to fix it.

query 

    SELECT
      Date,
      ExternalCustomerId,
      CampaignId,
      AdGroupId,
      Id,
      Criteria,
      CriteriaType
    FROM CRITERIA_PERFORMANCE_REPORT
    WHERE Status = 'ENABLED'
    DURING {start_date}, {end_date}


python code
def fetch_data_from_adwords_api(client, subperiod: dtu.period, 
client_customer_id: str, **kwargs: dict) -> Iterable:
    awql_start_dt = subperiod.start.strftime(AWQL_DATE_FORMAT)
    awql_end_dt = subperiod.end.strftime(AWQL_DATE_FORMAT)

    logger.info('Fetching data using Adwords API')

    query = kwargs['query'].format(
        start_date=awql_start_dt,
        end_date=awql_end_dt
    )

    report = client.GetReportDownloader().DownloadReportAsStreamWithAwql(
        query, 'CSV', skip_report_header=True,
        skip_column_header=True, skip_report_summary=True,
        include_zero_impressions=False, 
client_customer_id=client_customer_id
    )

    data_df = pd.read_csv(
        report, encoding='utf8', names=kwargs['data_structure'].keys(),
        converters={}, dtype=kwargs['data_structure'],
    )

    if data_df.empty:
        logger.info(f'Empty results for {client_customer_id}')
        return []

    return data_df.to_dict(orient='records')

Is a result i get an empty dataframe for one customer.

But when i try to load report for all customers, code is working for about 
20 hours and fails for timeout.

I tried to filter empty df, but it didn't help to prevent these logs.

Please hep me to handle this situation.




Thank you in advance!

Best regads,
Olesya

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/0429628d-f045-422b-9c7e-5b2f9b9c57d4o%40googlegroups.com.

Reply via email to