Я запускаю следующую команду из powershell, используя Cloud SDK для создания запланированного запроса.
$query = "SELECT projectId as ProjectId, datasetId as DataSet, SUM(queryCostInUSD) as TotalCostInDollars, MIN(queryCostInUSD) as LeastExpensiveQueryInDollars, MAX(queryCostInUSD) as MostExpensiveQueryInDollars, Count(*) as QueryCount, TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY) as StartDate, CURRENT_TIMESTAMP() as EndDate FROM ``$MYPROJECTID.$MYPROJECT_MONITORING_DATASET_NAME.$MYPROJECT_MONITORING_VIEW_NAME`` where startTime>=TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY) Group by ProjectId, datasetId"
bq query --use_legacy_sql=false --destination_table=$MYPROJECTID`:$MYPROJECT_MONITORING_DATASET_NAME.BigQuery_Daily_Cost --display_name='BigQuery Daily Cost Scheduled Query' --replace=false --append_table --schedule='every 24 hours' $query
Запланированное задание действительно создается, но по какой-то причине оно отбрасывает деталь после «startTime>». Запрос заканчивается следующим образом в BigQuery GUI:
SELECT projectId as ProjectId, datasetId as DataSet, SUM(queryCostInUSD) as TotalCostInDollars, MIN(queryCostInUSD) as LeastExpensiveQueryInDollars, MAX(queryCostInUSD) as MostExpensiveQueryInDollars, Count(*) as QueryCount, TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY) as StartDate, CURRENT_TIMESTAMP() as EndDate FROM `ingestion-test-prat.Monitoring.BigQuery_JobCompleted_Pricing_View` where startTime , INTERVAL 1 DAY) Group by ProjectId, datasetId
Обратите внимание на отсутствующий фрагмент после «startTime>».
и я получаю сообщение об ошибке «Ошибка запроса: синтаксическая ошибка: неожиданно», «в [1: 411]».
Что я делаю не так?