当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python ArcGIS ReportManager.create用法及代码示例


本文简要介绍 python 语言中 arcgis.gis.server.ReportManager.create 的用法。

用法:

create(reportname, queries, metadata=None, since='LAST_DAY', from_value=None, to_value=None, aggregation_interval=None)

返回:

Report 对象。

创建新的使用情况报告。通过向此操作提交使用报告的 JSON 表示来创建使用报告。有关此方法捆绑的 REST 请求的详细信息,请参阅CreateUsageReport

Parameter

Description

reportname

必需的字符串。报告的唯一名称。

queries

要为其生成报告的 Python 字典的必需列表。每个字典有两个键:resourceURIsmetrics

# Usage Example

[{"resourceURIs": ["/services/Folder_name/",
                   "Forest_loss.FeatureServer"],
  "metrics": ["RequestCount,RequestsFailed"]}]

每个键的对应值是一个字符串列表,分别指定要为其收集指标的资源或要收集的指标。

  • resourceURIs -

    逗号分隔的列表,指定要为其收集指标的服务或文件夹,格式如下:

    • services/ - 整个站点

    • services/Folder/ - 站点内的文件夹。报告该文件夹和任何子文件夹内所有服务聚合的指标。

    • services/Folder/ServiceName.ServiceType - 指定文件夹中的服务。

      • services/Folder_name/Map_bv_999.MapServer

    • service - 如果在根文件夹中

      • Map_bv_999.MapServer

  • metrics -

    以逗号分隔的字符串的具体措施来收集。

    • RequestCount — 收到的请求数

    • RequestsFailed — 失败的请求数

    • RequestsTimedOut — 超时的请求数

    • RequestMaxResponseTime — 最大响应时间

    • RequestAvgResponseTime — 平均响应时间

    • ServiceActiveInstances — 为指定服务以 1 分钟间隔采样的最大活动(运行)服务实例数

    • ServiceRunningInstancesMax — 活动(运行)服务实例的最大数量,以指定服务的 one-minute 间隔采样。如果您包含此指标,则它必须是报告中包含的唯一指标。

metadata

可选字符串。表示使用情况报告的表示层数据的任何 JSON 对象,例如报告标题、颜色、line-styles 等。还用于表示使用管理员目录创建的报告在 ArcGIS 服务器管理器中的可见性。要使管理员目录中创建的任何报告对 Manager 可见,请在元数据 JSON 对象中包含 “managerReport”:true。如果未设置此值(默认),则报告在 Manager 中不可见。此行为可以扩展到任何想要与管理员目录交互的客户端。任何用户创建的值都需要由客户端处理。

since

可选字符串。报告的持续时间。支持的值为:LAST_DAY、LAST_WEEK、LAST_MONTH、LAST_YEAR、CUSTOM

  • LAST_DAY 表示跨越前 24 小时的时间范围。这是默认值。

  • LAST_WEEK 表示跨越前 7 天的时间范围。

  • LAST_MONTH 表示跨越前 30 天的时间范围。

  • LAST_YEAR 表示跨越前 365 天的时间范围。

  • CUSTOM 表示使用 from 和 to 参数指定的时间范围。

from_value

可选整数。仅当 since 为 CUSTOM 时有效。报告开始期间的时间戳,以毫秒为单位(自 1970 年 1 月 1 日 00:00:00 GMT,Unix 纪元开始)。

# usage Example:

import datetime as dt

>>> sept1_2020 = int(dt.datetime(2020, 9, 1).timestamp()) * 1000
    sept1_2020

    1598943600000

to_value

可选整数。仅当 since 为 CUSTOM 时有效。报告结束期间的时间戳(自 1970 年 1 月 1 日 00:00:00 GMT,Unix 纪元开始)。

# usage Example:

import datetime as dt

now = int(dt.datetime.now().timestamp()) * 1000

aggregation_interval

可选字符串。聚合间隔(以分钟为单位)。聚合并返回使用指定聚合间隔聚合的时间片的服务器指标。使用since参数指定的报告时间范围(当since为自定义时,还有from_value和to_value)被分成多个片,每个片覆盖一个聚合间隔。然后,聚合每个时间片的服务器指标,并作为报告数据中的数据点返回。当未指定 aggregation_interval 时,将使用以下默认值:

  • LAST_DAY: 30 minutes

  • LAST_WEEK: 4 hours

  • LAST_MONTH: 24 hours

  • LAST_YEAR: 1 week

  • CUSTOM: 30 minutes up to 1 day, 4 hours up to 1 week, 1

day up to 30 days, and 1 week for longer periods.

如果使用报告设置中指定的时间间隔大于聚合时间间隔,则使用该时间间隔。

例子:

# USAGE EXAMPLE:

import datetime as dt
from arcgis.gis import GIS

>>> gis = GIS(profile="your_ent_profile", verify_cert=False)

>>> gis_servers = gis.admin.servers.list()

>>> gis_server = gis_servers[1]

>>> now = int(dt.datetime.now().timestamp()) * 1000
>>> sept1_2020 = int(dt.datetime(2020, 9, 1).timestamp()) * 1000

>>> query_obj = [{"resourceURIs": ["services/Map_bv_999.MapServer"],
                  "metrics": ["RequestCount"]}]

>>> r = gis_server.usage.create(reportname="SampleReport",
                                queries=query_obj,
                                metadata="This could be any String or JSON Object.",
                                since="CUSTOM",
                                from_value=sept1_2020,
                                to_value=now)
>>> r

    <Report at https://server_url:6443/arcgis/admin/usagereports/SampleReport>

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 arcgis.gis.server.ReportManager.create。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。