start_sync_amz_RightNowRun.py 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. # from sync_amz_data.tasks.account import AccountTask
  2. from sync_amz_data.settings import LOG_CONF
  3. import logging.config
  4. logging.config.dictConfig(LOG_CONF)
  5. import time
  6. import requests
  7. # from sync_amz_data.public.amz_ad_client import shop_infos
  8. from sync_amz_data.DataTransform.Data_ETL import Common_ETLMethod,SP_ETL,SB_ETL,SD_ETL
  9. def shop_infos(profile_id):
  10. resp_rel = requests.get("http://192.168.1.225/api/ad_manage/profiles/",headers={"X-Token": "da4ab6bc5cbf1dfa"})
  11. data = resp_rel.json().get("data")
  12. profile_info = {}
  13. for info in data:
  14. if info.get("profile_id") in [int(profile_id),str(profile_id)]:
  15. profile_info["profile_id"] = profile_id
  16. profile_info["refresh_token"] = info.get("refresh_token")
  17. profile_info["account_name"] = info.get("account_name")
  18. profile_info["advertiser_id"] = info.get("advertiser_id")
  19. profile_info["country_code"] = info.get("country_code")
  20. profile_info["marketplace_str_id"] =info.get("marketplace_str_id")
  21. profile_info["time_zone"] = info.get("time_zone")
  22. return profile_info
  23. return resp_rel.text
  24. def amz_report(conn,AWS_CREDENTIALS,para=None):
  25. refresh_token = shop_infos(AWS_CREDENTIALS['profile_id'])['refresh_token']
  26. AWS_CREDENTIALS['refresh_token'] = refresh_token
  27. sb_report = SB_ETL(**AWS_CREDENTIALS)
  28. sb_report.reportV3_purchasedAsinRecord_ETL(conn,params=para)
  29. sb_report.reportV2_campaignsRecord_ETL(conn,params=para)
  30. sb_report.reportV2_campaignsVideo_ETL(conn,params=para)
  31. sb_report.reportV2_adGroupsRecord_ETL(conn,params=para)
  32. sb_report.reportV2_adGroupsVideo_ETL(conn,params=para)
  33. sb_report.reportV2_adsRecord_ETL(conn,params=para)
  34. sb_report.reportV2_adsVideo_ETL(conn,params=para)
  35. sb_report.reportV2_keywordsRecord_ETL(conn,params=para)
  36. sb_report.reportV2_keywordsVideo_ETL(conn,params=para)
  37. sb_report.reportV2_placementRecord_ETL(conn,params=para)
  38. sb_report.reportV2_placementVideo_ETL(conn,params=para)
  39. sb_report.reportV2_searchtermsRecord_ETL(conn,params=para)
  40. sb_report.reportV2_searchtermsVideo_ETL(conn,params=para)
  41. sb_report.reportV2_targetsRecord_ETL(conn,params=para)
  42. sb_report.reportV2_targetsVideo_ETL(conn,params=para)
  43. # time.sleep(3)
  44. # conn.close()
  45. # time.sleep(3)
  46. # conn = SP_ETL(**AWS_CREDENTIALS).clickhouse_connect()
  47. sp_report = SP_ETL(**AWS_CREDENTIALS)
  48. sp_report.reportV3_campaign_spCampaignsETL(conn,params=para)
  49. sp_report.reportV3_adGroup_spCampaignsETL(conn,params=para)
  50. sp_report.reportV3_campaignPlacement_spCampaignsETL(conn,params=para)
  51. sp_report.reportV3_targeting_spTargetingETL(conn,params=para)
  52. sp_report.reportV3_searchTerm_spSearchTermETL(conn,params=para)
  53. sp_report.reportV3_advertiser_spAdvertisedProductETL(conn,params=para)
  54. sp_report.reportV3_asin_spPurchasedProductETL(conn,params=para)
  55. # time.sleep(3)
  56. # conn.close()
  57. # time.sleep(3)
  58. # conn = SD_ETL(**AWS_CREDENTIALS).clickhouse_connect()
  59. sd_report = SD_ETL(**AWS_CREDENTIALS)
  60. sd_report.reportV3_campaign_sdCampaigns_ETL(conn,params=para)
  61. sd_report.reportV3_campaignMT_sdCampaigns_ETL(conn,params=para)
  62. sd_report.reportV3_adgroup_sdAdGroup_ETL(conn,params=para)
  63. sd_report.reportV3_adgroupMT_sdAdGroup_ETL(conn,params=para)
  64. sd_report.reportV3_targeting_sdTargeting_ETL(conn,params=para)
  65. sd_report.reportV3_targetingMT_sdTargeting_ETL(conn,params=para)
  66. sd_report.reportV3_asin_sdPurchasedProduct_ETL(conn,params=para)
  67. sd_report.reportV3_advertiser_sdAdvertisedProduct_ETL(conn,params=para)
  68. # sd_report.reportV2_campaignsRecord_t2_ETL(conn,params=para)
  69. # sd_report.reportV2_campaignsRecord_t3_ETL(conn,params=para)
  70. # sd_report.reportV2_adGroupsRecord_t2_ETL(conn,params=para)
  71. # sd_report.reportV2_adGroupsRecord_t3_ETL(conn,params=para)
  72. # sd_report.reportV2_asins_t2_ETL(conn,params=para)
  73. # sd_report.reportV2_asins_t3_ETL(conn,params=para)
  74. # sd_report.reportV2_productAds_t2_ETL(conn,params=para)
  75. # sd_report.reportV2_productAds_t3_ETL(conn,params=para)
  76. # sd_report.reportV2_targets_t2_ETL(conn,params=para)
  77. # sd_report.reportV2_targets_t3_ETL(conn,params=para)
  78. # sd_report.reportV2_campaign_matchedTarget_t2_ETL(conn,params=para)
  79. # sd_report.reportV2_campaign_matchedTarget_t3_ETL(conn,params=para)
  80. # sd_report.reportV2_adGroups_matchedTarget_t2_ETL(conn,params=para)
  81. # sd_report.reportV2_adGroups_matchedTarget_t3_ETL(conn,params=para)
  82. # sd_report.reportV2_targets_matchedTarget_t2_ETL(conn,params=para)
  83. # sd_report.reportV2_targets_matchedTarget_t3_ETL(conn,params=para)
  84. if __name__ == '__main__':
  85. # AccountTask("3006125408623189").do({"record": "portfolios"})
  86. AWS_CREDENTIALS = {
  87. 'lwa_client_id': 'amzn1.application-oa2-client.ebd701cd07854fb38c37ee49ec4ba109',
  88. 'refresh_token': "Atzr|IwEBIL4ur8kbcwRyxVu_srprAAoTYzujnBvA6jU-0SMxkRgOhGjYJSUNGKvw24EQwJa1jG5RM76mQD2P22AKSq8qSD94LddoXGdKDO74eQVYl0RhuqOMFqdrEZpp1p4bIR6_N8VeSJDHr7UCuo8FiabkSHrkq7tsNvRP-yI-bnpQv4EayPBh7YwHVX3hYdRbhxaBvgJENgCuiEPb35Q2-Z6w6ujjiKUAK2VSbCFpENlEfcHNsjDeY7RCvFlwlCoHj1IeiNIaFTE9yXFu3aEWlExe3LzHv6PZyunEi88QJSXKSh56Um0e0eEg05rMv-VBM83cAqc5POmZnTP1vUdZO8fQv3NFLZ-xU6e1WQVxVPi5Cyqk4jYhGf1Y9t98N654y0tVvw74qNIsTrB-8bGS0Uhfe24oBEWmzObvBY3zhtT1d42myGUJv4pMTU6yPoS83zhPKm3LbUDEpBA1hvvc_09jHk7vUEAuFB-UAZzlht2C1yklzQ",
  89. 'lwa_client_secret': 'cbf0514186db4df91e04a8905f0a91b605eae4201254ced879d8bb90df4b474d',
  90. 'profile_id': "3006125408623189"
  91. }
  92. conn = SB_ETL(**AWS_CREDENTIALS).clickhouse_connect()
  93. timezone_ = Common_ETLMethod(**AWS_CREDENTIALS).timeZone()
  94. print(timezone_)
  95. refresh_token = shop_infos(AWS_CREDENTIALS['profile_id'])['refresh_token']
  96. AWS_CREDENTIALS['refresh_token'] = refresh_token
  97. amz_report(conn, AWS_CREDENTIALS=AWS_CREDENTIALS)
  98. # list_date = ['2023-11-05',"2023-11-06","2023-11-07"]
  99. # list_date = [f'2023-11-{"0"+str(i) if len(str(i))==1 else i}' for i in range(13,16)]
  100. # print(list_date)
  101. # for date_ in list_date:
  102. # print(date_)
  103. # print(date_.replace("-",""))
  104. # amz_report(conn,AWS_CREDENTIALS,para={"startDate":date_,"endDate":date_,"date":date_.replace("-","")})
  105. conn.close()