Google API客户端,使用参数名称中的点调用构建的API

问题描述 投票:2回答:1

我在Google App Engine上尝试通过Google API客户端调用Monitoring API的特定方法。当我用timeSeries.list调用interval.startTime时,错误是SyntaxError: keyword can't be an expression。当我用interval.startTime替换interval.EndTimeinterval=intervalobj时,错误是:

File "/base/data/home/apps/e~bwm2-bgi/scaler:
scaling-readmon.412218217025616715/lib/googleapiclient/discovery.py", 
line 716, in method raise TypeError
('Got an unexpected keyword argument "%s"' % name) 
TypeError: Got an unexpected keyword argument "interval"

我使用Compute API的方式与interval=intervalobland相同。任何提示都表示赞赏。

码:

import webapp2
import logging
from google.appengine.ext import vendor
vendor.add('lib')
from google.appengine.api import app_identity
from googleapiclient import discovery
from oauth2client.client import GoogleCredentials

monitoring = discovery.build('monitoring','v3', credentials=GoogleCredentials.get_application_default())
class Scaler(webapp2.RequestHandler):
        def post(self):
                '''
                req = monitoring.projects().metricDescriptors().list(name='projects/PROJ')
                res = req.execute()
                logging.info(res)
                '''
                intervalobj = {
                        'startTime': '2018-08-10T11:01:23.045123456Z',
                        'endTime': '2018-08-10T11:01:23.045123456Z'
                }

                res = monitoring.projects().timeSeries().list(
                        name = 'projects/bwm2-bgi',
                        filter = 'metric.type="appengine.googleapis.com/http/server/response_style_count"',
                        interval.startTime = '2018-08-10T11:01:23.045123456Z',
                        interval.endTime = '2018-08-28T11:01:23.045123456Z').execute()
                logging.info(res)

app = webapp2.WSGIApplication([
        ('/scaler', Scaler)
], debug=True)
python google-api-client
1个回答
0
投票

使用interval_startTimeinterval_endTime代替interval.startTimeinterval.endTime为我工作。

request = monitor.projects().timeSeries().list(name=project_name,
                                        interval_startTime='2019-03-19T06:00:00.045123456Z',
                                        interval_endTime='2019-03-19T07:00:00.045123456Z', 
                                        filter='metric.type="appengine.googleapis.com/http/server/response_style_count"')

我相信在使用monitoring_v3.MetricServiceClient TimeSeries但不使用发现资源指定点时,使用interval.endTime设置点间隔。

© www.soinside.com 2019 - 2024. All rights reserved.