Versions Compared

    Key

    • This line was added.
    • This line was removed.
    • Formatting was changed.
    Comment: Published by Scroll Versions from this space and version 20.10
    Sv translation
    languageen

    AppDynamics Application Analytics provides built-in support for collecting analytics data from various types of sources, such as agent-instrumented Java applications, .NET applications, browser applications, and more. The Analytics Events API supplements built-in analytics data sources with your custom data sources and event types.

    In addition to the transaction events published by the app agents, custom events collected by the Analytics Events API are metered. 

    Appd permissions
    Width800px

    Publishing custom events requires Transaction Analytics licensing. Transaction Analytics license units determine the limit on the volume of custom events that you can publish.

    About the Analytics Events API

    In Application Analytics, an event encapsulates a unit of analytics data. In APM, for example, each event corresponds to a method or service invocation, whether it be an entry point service or downstream service.

    With the Analytics API, you define the structure of your own custom event in the data store, capture the event records as they occur in your custom source, and send them to the Events Service, the data store for Analytics. Once your data is in the Events Store, users can query your data through the Controller UI or the Analytics Events API.

    Analytics Events API uses a shared key to authenticate clients to the Events Service. As a Controller or Analytics Administrator, you can generate API keys from the Controller UI. See Managing API Keys.

    Info

    A Transaction Analytics license is required to use the Events Service API. The same licensing model that applies to business transactions for custom events (based on the number of events per unit/day) applies to the API. 


    Addressing the Events Service Data Store

    Unlike most AppDynamics REST APIs, which are presented at the Controller, you access the Analytics Events API by addressing the Events Service instance in the AppDynamics platform.

    You address the Events Service at one of the following URLs:

    Tabs Container
    directionhorizontal
    Tabs Page
    tabNameSaaS
    titleSaaS
    RegionURL
    North America
    https://analytics.api.appdynamics.com 
    Europe
    https://fra-ana-api.saas.appdynamics.com
    APAC
    https://syd-ana-api.saas.appdynamics.com
    Tabs Page
    tabNameOn-premises
    titleOn-premises
    Code Block
    languagexml
    "https://<events_service_endpoint>:9080/events/"


    For an on-premises Events Service, address the Events Service instance host (or more likely, the virtual IP presented by a load balancer for the Events Service cluster). Use the primary default listening port for the Events Service, 9080. 

    Calls to the Analytics Events API need to specify the <global_accountp_name> for the Controller account being address, and the <api_key> generated by the administrator for this client. The API expects the values as headers, property-value pairs that are separated by a colon. As cURL arguments, for example, the values would be passed with curl through the `-H` or `--header option` as follows:

    Code Block
    -H"X-Events-API-AccountName:<global_account_name>" -H"X-Events-API-Key:<api_key>"

    You can get the global account name to use from the License page in the Controller UI. The API keys are described in Managing API Keys

    The content type, also as a cURL argument, is:

    Code Block
    -H"Content-type: application/vnd.appd.events+json;v=2" 

    AppDynamics strongly recommends the use of SSL/HTTPS to access the API. Otherwise, the API key is sent in plain text.

    Info

    For security reasons, the Analytics Events API, by default, does not accept cross-origin HTTP requests. For example, from links embedded directly in web pages.

    Anchor
    data
    data
    Data Format

    The Analytics Events API takes events as JSON-formatted name-value pair data.

    Before sending data that conforms to a custom events schema, you need to define the data structure for the custom schema. The Events Service matches incoming events data to the appropriate schema.

    Supported Data Types

    • String
    • Integer
    • Float
    • Boolean
    • Date – Supported time formats include:
      • ISO 8601 format: yyyy-MM-dd'T'HH:mm:ss.SSSZZ.
      • UNIX epoch date format: A 13-digit number representing the number of seconds/milliseconds since UNIX epoch time (Jan 1, 1970). For example, (GMT): Mon, 17 Apr 2017 23:46:22 GMT would be 1492472782000.

    Anchor
    naming
    naming
    Naming Restrictions

    Custom event names and field names must conform to the following:

    • Contain only a-z, A-Z, _ (underscore), 0-9.
    • Names can not start with a number.

    Anchor
    timestamp
    timestamp
    Timestamp Fields

    Two implicit timestamp fields are automatically added to custom schemas:

    • eventTimestamp
    • pickupTimestamp

    The eventTimestamp field represents the time an event occurred. An API client can specify a value for the timestamp field when it creates an event. If it does not, the Analytics Events API uses the same value for eventTimestamp as it uses for another implicit field, pickupTimestamp.The pickupTimestamp field, which is always populated by the Events Service, represents the time the event was received by the Events Service.

    When configuring a milestone in Business Journeys, you need to supply a date in the eventTimestamp field in order for the event to register. In order to use Custom Events to define Business Journey, the custom events should send the eventTimestamp field. If not, the Business Journeys will not work.

    AppDynamics uses another timestamp, eventcompletionTimestamp, which is not automatically added to custom schemas. The eventcompletionTimestamp field represents the time an event ends. Generally, AppDynamics uses this field internally to accurately report long-running events. 

    You can express all timestamp fields using ISO 8601 or UNIX epoch time (64-bit milliseconds) format.

    Example API Call Flow

    The following steps take you through an on-premises API call workflow for using the Analytics Events API. The steps show cURL examples for creating a schema, publishing an event to that schema, and then querying the event. 

    Info

    For SaaS deployments, replace the value for the URL and port in the examples (<events_service_endpoint>:9080) to your SaaS URL.

    1. Define the schema by associating field names with data types. For example, the following defines a Purchase event type: 

      Code Block
      curl -X POST "<events_service_endpoint>:9080/events/schema/myProducts" -H"X-Events-API-AccountName:customer1_1234-567a-bccc-123" -H"X-Events-API-Key:a123b456-c789-1d23-e456-nnn" -H"Content-type: application/vnd.appd.events+json;v=2" -d '{"schema" : { "id": "string", "productBrand": "string", "userRating": "integer", "price": "float", "productName": "string", "description": "string" } }'
    2. Publish an event based on the schema you created: 

      Code Block
      curl -X POST "<events_service_endpoint>:9080/events/publish/myProducts" -H"X-Events-API-AccountName:customer1_1234-567a-bccc-123" -H"X-Events-API-Key:a123b456-c789-1d23-e456-nnn" -H"Content-type: application/vnd.appd.events+json;v=2" -d '[{"id": "5653b879ab33a","productBrand": "ACME","userRating": 3,"price": 2006.41,"productName": "Watch","description": "new watch"},{"id": "5653b879700","productBrand": "Widget","userRating": 1,"price": 3800.13,"productName": "Watch","description": "2015 watch"}]'
    3. Query the event data:

      Code Block
      curl -X POST "http://<events_service_endpoint>:9080/events/query" -H"X-Events-API-AccountName:customer1_7xxx-467a-bccc-xxx" -H"X-Events-API-Key:a123b456-c789-1d23-e456-nnn" -H"Content-type: application/vnd.appd.events+text;v=2" -d 'SELECT * FROM myProducts'

    If including fields with ADQL keywords, enclose the keywords in single quotes. These keywords include, for example, betweeninselect, and others. 

    For a single query request, use this content type:

    Code Block
    -H"Content-type: application/vnd.appd.events+text;v=2" 

    In a multi-query request, the queries are passed as JSON body text. In this case, use the following content type header:

    Code Block
    -H"Content-type: application/vnd.appd.events+json;v=2"

    Custom Event Ingestion Limits

    Controller ingestion of custom events has the following limits:

    • Fields: 255 maximum per event type
    • String attributes: 4 kb maximum length
    • Batch total count: 1000 events per call
    • Batch total size: 5 Mb maximum per call
    • Max custom events for an account: 20

    Custom Events Limit Increase 

    Info

    Custom events limit increases are available for SaaS Events Service version 4.5.13 and later. On-premises Events Services cannot exceed a maximum of 1500 custom field events.

    By default, the Events Service allows you to create up to 1500 custom fields. If you reach 80% capacity of custom fields (1200 fields), the maximum field limit increases by 500 fields at the next index rollover. 

    For example, if you reach 1400 custom fields, your maximum field limit will increase from 1500 to 2000 fields. If you later reach 1800 custom fields, and maximum increases to 2500 fields. 

    You can create an absolute maximum of 3000 custom fields. Reaching or exceeding the maximum fields could result in lag or outages. 

    Publish Events

    The Publish Events API call takes an array of events and stores them in the Events Service storage. The data must comply with an existing schema. A single request cannot publish to multiple event types. 

    If the event data doesn't match an event schema, the Events Service makes a best-effort attempt to match the data to the schema and returns a 400 bad request if unsuccessful. 

    Format

    Tabs Container
    directionhorizontal
    Tabs Page
    tabNameSaaS
    titleSaaS
    Code Block
    POST https://analytics.api.example.com/events/publish/{schemaName}
    Tabs Page
    tabNameOn-premises
    titleOn-premises
    Code Block
    POST http://<events_service_endpoint>:9080/events/publish/{schemaName}

    Query Params

    N/A

    Path Parameters

    NameDescription

    accountId

    Account ID
    schemaName

    Event schema name

    Headers

    NameDescription
    X-Events-API-AccountNameThe global account name, as shown in the Controller UI License page.
    X-Events-API-KeyThe Analytics API key. See Managing API Keys
    Content-TypeThe Content-Type of the request body. The default is application/vnd.appd.events+json;v=2 which also versions the resource representation (v=2).

    Example SaaS Publish 

    Tabs Container
    directionhorizontal
    Tabs Page
    titleRequest
    Code Block
    POST https://analytics.api.example.com/events/publish/{schemaName}
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Content-Type: application/vnd.appd.events+json;v=2
    Accept: application/vnd.appd.events+json;v=2
    {
       "schema" : {
          "account": "integer",
          "amount": "float",
          "product": "string"
       }
    }
    Tabs Page
    titleResponse
    Code Block
    HTTP/1.1 202 ACCEPTED


    Error Codes

    Error CodeDescription
    400The given request was invalid.
    401The given authentication information provided in the authorization header was invalid.
    404No event type could be found for this account.
    406The Accept header was not application/vnd.appd.events+json;v=2 .
    413The request body is larger than the max allowed size.
    415The Content-Type header was not application/vnd.appd.events+json;v=2 .
    429Too many requests. Returned when account or event reaches limits.

    Anchor
    create_schema
    create_schema
    Create Event Schema

    Use this API to create your own event schema. The schema defines the overall structure of an event type by field and type. 

    You only need to use this API if the event you are uploading does not match an existing schema for first-class event types (such as logs or transactions). Events that conform to an existing schema automatically match that schema. Review the supported data types and naming restrictions described prior to this topic.

    Format

    Tabs Container
    directionhorizontal
    Tabs Page
    tabNameSaaS
    titleSaaS
    Code Block
    POST https://analytics.api.example.com/events/schema/{schemaName}
    Tabs Page
    tabNameOn-premises
    titleOn-premises
    Code Block
    POST http://<events_service_endpoint>:9080/events/schema/{schemaName}


    Path Params

    NameDescription
    accountIdAccount ID
    schemaName

    Event schema name

    Query Params

    N/A

    Headers

    Name

    Description

    X-Events-API-AccountNameThe global account name, as shown in the Controller UI License page.
    X-Events-API-KeyThe Analytics API key. See Managing API Keys
    AcceptThe Content-Type of the response body. The supported value is application/vnd.appd.events+json;v=2.
    Content-typeThe Content-Type of the request body. The default is application/vnd.appd.events+json;v=2 which also versions the resource representation (v=2).


    Example SaaS Create


    Tabs Container
    directionhorizontal
    Tabs Page
    titleRequest
    Code Block
    POST http://analytics.api.example.com/events/schema/{schemaName} HTTP/1.1
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Content-Type: application/vnd.appd.events+json;v=2
    Accept: application/vnd.appd.events+json;v=2
    {
       "schema" : {
          "account": "integer",
          "amount": "float",
          "product": "string"
       }
    }
    Tabs Page
    titleResponse
    Code Block
    HTTP/1.1 201 CREATED


    Anchor
    retrieve_schema
    retrieve_schema
    Retrieve Event Schema

    Use this API to retrieve an existing event schema.

    Format

    Tabs Container
    directionhorizontal
    Tabs Page
    tabNameSaaS
    titleSaaS
    Code Block
    GET http://analytics.api.example.com/events/schema/{schemaName}
    Tabs Page
    tabNameOn-premises
    titleOn-premises
    Code Block
    GET http://<events_service_endpoint>:9080/events/schema/{schemaName}


    Path Params 

    Name

    Description

    accountIdAccount ID
    schemaNameEvent schema name

    Query Params

    N/A

    Headers

    Name

    Description

    X-Events-API-AccountNameThe global account name, as shown in the Controller UI License page.
    X-Events-API-KeyThe Analytics API key. See Managing API Keys
    AcceptThe Content-Type of the response body. The supported value is application/vnd.appd.events+json;v=2.

    Example SaaS Retrieve

    Tabs Container
    directionhorizontal
    Tabs Page
    titleRequest
    Code Block
    GET http://analytics.api.example.com/events/schema/{schemaName} HTTP/1.1
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Accept: application/vnd.appd.events+json;v=2
    Tabs Page
    titleResponse
    Code Block
    HTTP/1.1 200 OK
    {
       "schema" : {
          "account": "integer",
          "amount": "float",
          "product": "string"
       }
    }


    Anchor
    update_schema
    update_schema
    Update Event Schema

    Use this API to update an existing event schema by field. The request body defines the updates to be applied to the event schema.

    As shown in the following example, you specify each field update action as a named section in the request body. The actions are represented by these fields:

    • Add field
    • Rename field

    For the Add field definition, you need to specify the data format for the new field, as you would when creating the event schema.

    The response to this call should be the complete event schema as modified.

    Format

    Tabs Container
    directionhorizontal
    Tabs Page
    tabNameSaaS
    titleSaaS
    Code Block
    PATCH http://analytics.api.example.com/events/schema/{schemaName}
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Tabs Page
    tabNameOn-premises
    titleOn-premises
    Code Block
    languagexml
    PATCH http://<events_service_endpoint>:9080/events/schema/{schemaName}


    Path Parameters

    NameDescription
    accountIdAccount id
    schemaNameEvent schema name

    Query Params

    N/A

    Headers

    NameDescription
    X-Events-API-AccountNameThe global account name, as shown in the Controller UI License page.
    X-Events-API-KeyThe Analytics API key. See Managing API Keys.
    AcceptThe Content-Type of the response body. The supported value is application/vnd.appd.events+json;v=2.
    Content-typeThe Content-Type of the request body. The default is application/vnd.appd.events+json;v=2 which also versions the resource representation (v=2).

    Example SaaS Update

    Tabs Container
    directionhorizontal
    Tabs Page
    titleRequest
    Code Block
    PATCH http://analytics.api.example.com/events/schema/{schemaName} HTTP/1.1
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Content-type: application/vnd.appd.events+json;v=2
    Accept: application/vnd.appd.events+json;v=2
      
    [
      {
        "add": {
          "newfield": "integer"
        },
        "rename": {
          "oldname": "newname",
          "oldname2": "newname2"
        }
      }
    ]



    Tabs Page
    titleResponse
    Code Block
    HTTP/1.1 200 OK


    Anchor
    delete_schema
    delete_schema
    Delete Event Schema

    Use this API to delete an existing event schema.

    Format

    Tabs Container
    directionhorizontal
    Tabs Page
    tabNameSaaS
    titleSaaS
    Code Block
    DELETE http://<events_service_endpoint>:9080/events/schema/{schemaName}
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Tabs Page
    tabNameOn-premises
    titleOn-premises
    Code Block
    languagexml
    DELETE http://<events_service_endpoint>:9080/events/schema/{schemaName}


    Path Params

    NameDescription
    accountIdAccount id
    eventTypeEvent schema name

    Query Params

    N/A

    Headers

    NameDescription
    X-Events-API-AccountNameThe global account name, as shown in the Controller UI License page.
    X-Events-API-KeyThe Analytics API key. See Managing API Keys
    AcceptThe Content-Type of the response body. The following is the supported value: application/vnd.appd.events+json;v=2

    Example SaaS Delete Request

    Code Block
    DELETE http://analytics.api.example.com/events/schema/{schemaName} HTTP/1.1
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Accept: application/vnd.appd.events+json;v=2

    Querying Events

    When querying analytics events data, the following applies:

    • Every Events Service API has a limit of 200 searches per minute by each account on each event type.

    • The Multi-Query Events API is limited to twenty queries per HTTP request.
    • The Analytics Query API can return a maximum of 10,000 results. If you would like to retrieve and paginate over this limit, you can use the scroll mode to fetch batch data. 
    • Limits work differently for aggregation and non-aggregation queries. Because we use the limits specified in the ADQL query as the bucket count limit, it is not possible to also use it as the overall result count limit. Therefore, the URL parametric limit is used for the overall limit. In the case of non-aggregation queries, there is no bucket limit, so the limit specified in the ADQL query is taken as the row count limit and the URL parametric limit becomes the second place to look for it if the ADQL query does not specify a limit.
      • Aggregation queries: the total returned row count is limited by the limit in the URL query parameter, and is not directly related to the limits specified in the ADQL query statement itself. The limits in the ADQL query apply only to bucket counts in aggregations.
      • Non-aggregation queries: If LIMIT is not specified in the SELECT statement, the value specified in the URL query parameter is used. If the limit query parameter is also absent, the default is 100.

    Anchor
    query-events
    query-events
    Query Events (Single Query)

    This API can be used either as a simple text-formatted query or as a JSON-formatted query. The JSON-formatted query can accommodate multiple queries per call and is described in Query Events (Multiple Queries)

    An event type might search against multiple event types. Therefore, the event type is not provided in the URL path or as a query parameter, but as part of the ADQL query provided in the request body itself. Your ADQL queries must adhere to the syntax described in the ADQL Reference.

    This section describes the single query form for querying events. 

    Format

    Tabs Container
    directionhorizontal
    Tabs Page
    tabNameSaaS
    titleSaaS
    Code Block
    languagexml
    POST http://analytics.api.example.com/events/query?limit=20
    Tabs Page
    tabNameOn-premises
    titleOn-premises
    Code Block
    POST http://<events_service_endpoint>:9080/events/query
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Content-type: application/vnd.appd.events+text;v=2


    Query Params

    Name

    Description

    start

    Filter results based on the minimum event timestamp, specified in ISO 8601 time (https://en.wikipedia.org/wiki/ISO_8601) or Unix time (http://en.wikipedia.org/wiki/Unix_time). If not specified, then the default is no minimum timestamp filtering. Note that data returned will always be limited by the data retention.

    Specify the time in combined UTC date and time format or epoch milliseconds.

    Start time is inclusive of limiting timestamps.

    end

    Filter results based on the maximum event timestamp, specified in ISO 8601 time (https://en.wikipedia.org/wiki/ISO_8601) or Unix time (http://en.wikipedia.org/wiki/Unix_time). If not specified, then the default is no maximum timestamp filtering.

    Info

    Data returned will always be limited by the data retention.

    Specify the time in combined UTC date and time format or epoch milliseconds.

    End time is inclusive of limiting timestamps.

    limit

    Limits the number of results returned. The default value is 100. The upper limit on the results that can be fetched is 10,000.

    mode

    The default mode is none. You can use the scroll mode to fetch bulk data and paginate over 10,000 ADQL results. Unless a limit is specified in the query, the API enables the Events Service to fetch beyond the maximum limit. The default mode supports aggregation but the scroll mode does not support aggregation or math operations. Order by queries is supported in scroll mode.

    Scroll queries returns results in batches. Every request response contains results along with a scrollid, which needs to be passed in the next request to fetch the next batch of results. 

    Headers

    Name

    Description

    X-Events-API-AccountNameThe global account name, as shown in the Controller UI License page.
    X-Events-API-KeyThe Analytics API key. See Manage API Keys.
    AcceptThe Content-Type of the response body. The supported value is application/vnd.appd.events+json;v=2.
    Content-typeThe Content-Type of the request body. The default is application/vnd.appd.events+json;v=2 which also versions the resource representation (v=2).

    Example SaaS Query


    Tabs Container
    directionhorizontal
    Tabs Page
    titleRequest
    Code Block
    POST http://analytics.api.example.com/events/query?start=1422823420000&end=1423687476000&limit=20000 HTTP/1.1
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Content-Type: application/vnd.appd.events+text;v=2
    Accept: application/vnd.appd.events+json;v=2
     
    SELECT * FROM county WHERE size>=30 AND population>20000



    Tabs Page
    titleResponse
    Code Block
    HTTP/1.1 200 OK
    {
        "total": 1000,
        "fields": [
          { "label": "eventTimestamp",  "field": "eventTimestamp",  "type": "date",    "aggregation": null },
          { "label": "size",             "field": "size",             "type": "integer", "aggregation": null },
          { "label": "population",          "field": "population",          "type": "integer", "aggregation": null },
          { "label": "pickupTimestamp", "field": "pickupTimestamp", "type": "date",    "aggregation": null }
        ],
        "results": [
          [ "2015-01-03T23:55:39.801-08:00", 35, 47500, "2015-02-11T19:52:28.805Z" ],
          ...
        ]
    }


    Anchor
    querymultiple
    querymultiple
    Query Events (Multiple Queries)

    Use this API to execute multiple queries against a particular account and event type in parallel. A query event that specifies multiple queries does so by including multiple ADQL queries in the body of the request. Your ADQL queries must adhere to the syntax described in the ADQL Reference.

    Using queries in this form takes advantage of certain backend optimizations in query performance. Query filter criteria, such as time range and limit, can be overridden by each inner query.

    Info

    The Multi-Query Events API is limited to twenty queries per HTTP request.

    Format

    Tabs Container
    directionhorizontal
    Tabs Page
    tabNameSaaS
    titleSaaS
    Code Block
    languagexml
    POST http://analytics.api.example.com/events/query?limit=20
    Tabs Page
    tabNameOn-premises
    titleOn-premises
    Code Block
    POST http://<events_service_endpoint>:9080/events/query
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key> 


    Path Params

    None

    Query Params

    Name

    Description

    start

    Filter results based on the minimum event timestamp, specified in ISO 8601 time or Unix time. If not specified, then the default is no minimum timestamp filtering.

    Specify the time in combined UTC date and time format or epoch milliseconds.

    Start time is inclusive of limiting timestamps.

    end

    Filter results based on the maximum event timestamp, specified in ISO 8601 time or Unix time. If not specified, then the default is no maximum timestamp filtering.

    Specify the time in combined UTC date and time format or epoch milliseconds.

    End time is inclusive of limiting timestamps.

    limit

    Limits the number of results returned. The default value is 100. The upper limit on the results that can be fetched is 10,000.

    Headers

    Name

    Description

    X-Events-API-AccountNameThe global account name, as shown in the Controller UI License page.
    X-Events-API-KeyThe Analytics API key. See Managing API Keys.
    AcceptThe Content-Type of the response body. The supported value is application/vnd.appd.events+json;v=2.
    Content-typeThe Content-Type of the request body. The default is application/vnd.appd.events+json;v=2 which also versions the resource representation (v=2).

    Payload

    Field

    Description

    label(Optional) Friendly name to identify the query.
    queryADQL query to execute.
    start(Optional) Overrides the start parameter value provided as a query parameter.
    end(Optional) Overrides the end parameter value provided as a query parameter.
    limit(Optional) Overrides the limit provided as a query parameter.

    Example SaaS Multiple Query


    Tabs Container
    directionhorizontal
    Tabs Page
    titleRequest
    Code Block
    POST http://analytics.api.example.com/events/query?limit=100 HTTP/1.1
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Content-Type: application/vnd.appd.events+json;v=2
    Accept: application/vnd.appd.events+json;v=2
    [
        {
          "label": "high_population",
          "query": "SELECT * FROM county WHERE population>50000",
          "limit": 10,
          "start": "2017-02-23T0:0:0Z",
          "end": "2017-03-1T0:0:0Z"
        },
        {
          "label": "small_area",
          "query": "SELECT * FROM county WHERE size<25",
          "start": "2017-02-23T0:0:0Z",
          "end": "2017-03-1T0:0:0Z"
        },
        {
          "label": "high_population_density",
          "query": "SELECT * FROM county WHERE population>50000 AND size<25",
          "limit": 100,
          "start": "2017-02-23T0:0:0Z",
          "end": "2017-03-1T0:0:0Z"
        }
    ]
    Tabs Page
    titleResponse
    Code Block
    HTTP/1.1 200 OK
    [
      {
        "label": "high_population",
        "total": 30,
        "fields": [ ... ],
        "results": [ ... ]
      },
      {
        "label": "small_area",
        "total": 50,
        "fields": [ ... ],
        "results": [ ... ]
      },
      {
        "label": "high_population_density",
        "total": 10,
        "fields": [ ... ],
        "results": [ ... ]
      }
    ]


    Sv translation
    languageja

    Appd tocbox

    On this page:

    Table of Contents
    maxLevel2
    minLevel2

    AppDynamics のアプリケーション分析では、分析データをさまざまな種類のソース(エージェントによって実装された Java アプリケーション、.NET アプリケーション、ブラウザアプリケーションなど)から収集するために組み込みサポートを提供します。分析イベント API を使用すると、独自のカスタムデータソースとイベントタイプで組み込みの分析データソースを補完できます。 

    分析イベント API によって収集されたカスタムイベントは従量制であり、アプリケーション エージェントによってパブリッシュされたトランザクションイベントに追加されます。カスタムイベントのパブリッシュには、トランザクション分析ライセンスが必要です。トランザクション分析ライセンスユニットによって、パブリッシュ可能なカスタムイベントの制限量が決まります。 

    分析イベント API について

    アプリケーション分析では、イベントによって分析データの単位がカプセル化されます。たとえば、APM では、各イベントが、エントリポイントサービスまたはダウンストリームサービスのいずれであるかに関係なく、メソッドまたはサービス呼び出しに対応します。

    分析 API を使用して、データストア内の独自のカスタムイベントの構造を定義します。また、カスタムソースで発生するイベントレコードをキャプチャし、それらをイベントサービス(分析用のデータストア)に送信します。データがイベントストアに格納されると、ユーザはコントローラ UI または分析イベント API を使用してデータをクエリできます。

    分析イベント API は、共有キーを使用して、クライアントをイベントサービスに認証します。コントローラまたは Analytics Administrator として、コントローラ UI から API キーを生成できます。詳細については、「Managing API Keys」を参照してください。

    イベントサービス API を使用するには、トランザクション分析ライセンスが必要です。カスタムイベントのビジネストランザクションに適用されるものと同じライセンスモデル(単位/日あたりのイベント数に基づく)が API に適用されます。 

    イベント サービス データ ストアへの対処

    コントローラに表示されるほとんどの AppDynamics REST API とは異なり、分析イベント API へは AppDynamics プラットフォームでイベント サービス インスタンスに対処することでアクセスします。

    次のいずれかの URL でイベントサービスに対処します。

    Appd tabs container
    Appd tab item
    tabNameSaaS
    地域URL
    北米
    https://analytics.api.appdynamics.com 
    ヨーロッパ
    https://fra-ana-api.saas.appdynamics.com
    APAC
    https://syd-ana-api.saas.appdynamics.com
    Appd tab item
    tabNameオンプレミス
    Code Block
    languagexml
    "https://<events_service_endpoint>:9080/events/"
     

    オンプレミス イベント サービスの場合は、イベント サービス インスタンス ホスト(または、イベントサービスクラスタのロードバランサで提示される仮想 IP の場合も多くあります)に対処します。デフォルトでは、イベントサービスにプライマリリスニングポート 9080 を使用します。 

    分析イベント API へのコールでは、対処するコントローラのアカウントに <global_account_name> と、このクライアントの管理者が生成した <api_key> を指定する必要があります。API は、ヘッダーにプロパティと値のペアをコロンで区切った値を想定します。たとえば、cURL 引数には次のように [-H`] または [--header ] オプションを使用して curl とともに値が渡されます。

    No Format
    -H"X-Events-API-AccountName:<global_account_name>" -H"X-Events-API-Key:<api_key>"

    コントローラ UI の [License] ページから、使用するグローバルアカウント名を取得できます。API キーについては、「Managing API Keys」で説明します。 

    また、コンテンツタイプも次のように cURL 引数として指定できます。

    No Format
    -H"Content-type: application/vnd.appd.events+json;v=2" 

    AppDynamics では、API へのアクセスに SSL/HTTPS を使用することを強くお勧めします。SSL/HTTPS 以外を使用する場合は、API キーがプレーンテキスト形式で送信されます。

    Info

    セキュリティ上の理由から、分析イベント API がデフォルトで cross-origin HTTP リクエスト(web ページに直接埋め込まれたリンクなど)を受け入れることはありません。

    Anchor
    データ
    データ
    データ形式

    分析イベント API は、JSON 形式の名前と値のペアデータとしてイベントを取得します。

    カスタムイベントスキーマに準拠したデータを送信する前に、カスタムスキーマのデータ構造を定義する必要があります。イベントサービスは、着信イベントデータを適切なスキーマと照合します。

    サポートされるデータ型

    • string
    • 整数
    • 浮動
    • boolean
    • date:サポートされている時刻形式は次のとおりです。
      • ISO 8601 形式:yyyy-MM-dd'T'HH:mm:ss.SSSZZ
      • UNIX エポックの日付形式:13 桁の数字で、UNIX エポック時刻(1970 年 1 月 1 日)以降の秒/ミリ秒時間を表します。たとえば、(GMT): Mon, 17 Apr 2017 23:46:22 GMT1492472782000 となります。

    Anchor
    naming
    naming
    命名制限

    カスタムイベント名とフィールド名は、次の条件に従う必要があります。

    • a ~ z、A ~ Z、_(下線)、0 ~ 9 のみを使用する
    • 名前を数値で始めることはできません。

    タイムスタンプフィールド

    カスタムスキーマには、次の 2 つの暗黙的なタイムスタンプフィールドが自動的に追加されます。

    • eventTimestamp
    • pickupTimestamp

    eventTimestamp フィールドは、イベントが発生した時刻を表します。API クライアントは、イベントを作成するときにタイムスタンプフィールドの値を指定できます。値を指定しない場合、分析イベント API は、eventTimestamp に別の暗黙的なフィールド(pickupTimestamp)で使用される値と同じ値を使用します。イベントサービスで常に入力される pickupTimestamp フィールドは、イベントサービスがイベントを受信した時刻を表します。 

    ISO 8601 または UNIX エポック時刻(64 ビット ミリ秒)形式を使用してタイムスタンプフィールドを表すことができます。 

    API コールフローの例

    次の手順に従って、分析イベント API を使用するためのオンプレミス API コールワークフローを実行します。この手順では、スキーマの作成、そのスキーマへのイベントのパブリッシュ、およびイベントのクエリに関する cURL の例を示します。 

    Info

    SaaS での展開では、例に挙げた URL およびポートの値(<events_service_endpoint>:9080)を SaaS の URL に置き換えてください。


    1. フィールド名とデータ型を関連付けて、スキーマを定義します。たとえば、次のように購入イベントタイプを定義します。

      No Format
      curl -X POST "<events_service_endpoint>:9080/events/schema/myProducts" -H"X-Events-API-AccountName:customer1_1234-567a-bccc-123" -H"X-Events-API-Key:a123b456-c789-1d23-e456-nnn" -H"Content-type: application/vnd.appd.events+json;v=2" -d '{"schema" : { "id": "string", "productBrand": "string", "userRating": "integer", "price": "float", "productName": "string", "description": "string" } }'
    2. 作成したスキーマに基づいてイベントをパブリッシュします。

      No Format
      curl -X POST "<events_service_endpoint>:9080/events/publish/myProducts" -H"X-Events-API-AccountName:customer1_1234-567a-bccc-123" -H"X-Events-API-Key:a123b456-c789-1d23-e456-nnn" -H"Content-type: application/vnd.appd.events+json;v=2" -d '[{"id": "5653b879ab33a","productBrand": "ACME","userRating": 3,"price": 2006.41,"productName": "Watch","description": "new watch"},{"id": "5653b879700","productBrand": "Widget","userRating": 1,"price": 3800.13,"productName": "Watch","description": "2015 watch"}]'
    3. イベントデータをクエリします。

      No Format
      curl -X POST "http://<events_service_endpoint>:9080/events/query" -H"X-Events-API-AccountName:customer1_7xxx-467a-bccc-xxx" -H"X-Events-API-Key:a123b456-c789-1d23-e456-nnn" -H"Content-type: application/vnd.appd.events+text;v=2" -d 'SELECT * FROM myProducts'

    ADQL キーワードが含まれたフィールドを追加する場合は、キーワードを一重引用符で囲みます。これらのキーワードには、betweeninselect などがあります。 

    クエリ要求が 1 つの場合は、次のコンテンツタイプを使用します。

    No Format
    -H"Content-type: application/vnd.appd.events+text;v=2" 

    クエリ要求が複数の場合は、クエリが JSON 本文テキストとして渡されます。この場合は、次のコンテンツタイプヘッダーを使用します。

    No Format
    -H"Content-type: application/vnd.appd.events+json;v=2"

    カスタムイベントの取り込み制限

    コントローラによるカスタムイベントの取り込みには、次の制限があります。

    • フィールド:イベントタイプごとに最大 255
    • 文字列属性:最大長 4 KB
    • バッチ総数:コールあたり 1000 イベント
    • バッチ合計サイズ:コールあたり最大 5 MB
    • アカウントの最大カスタムイベント数:20

    イベントのパブリッシュ

    Publish Events API コールは、イベントの配列を取得し、イベントサービスストレージに格納します。データは既存のスキーマに準拠している必要があります。1 つの要求を複数のイベントタイプにパブリッシュすることはできません。 

    イベントデータがイベントスキーマと一致しない場合、イベントサービスは両者が一致するためのベストエフォート型の試みを行い、それでも失敗した場合は「400 Bad Request」を返します。 

    形式

    Appd tabs container
    Appd tab item
    tabNameSaaS
    Code Block
    POST https://analytics.api.example.com/events/publish/{schemaName}
    Appd tab item
    tabNameオンプレミス
    No Format
    POST http://<events_service_endpoint>:9080/events/publish/{schemaName}

    クエリパラメータ

    該当なし

    パスパラメータ

    名前説明

    accountId

    アカウント ID
    schemaName

    イベントスキーマ名

    ヘッダー

    名前説明
    X-Events-API-AccountName[Controller UI License] ページに表示されるグローバルアカウント名。
    X-Events-API-Key分析 API キー。詳細については、Managing API Keysを参照してください。
    Content-Type要求本文のコンテンツタイプ。デフォルトは "application/vnd.appd.events+json;v=2" です。これは、リソース表現(v=2)のバージョンも示しています。

    SaaS による Publish 要求の例

    Code Block
    POST https://analytics.api.example.com/events/publish/{schemaName}
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Content-Type: application/vnd.appd.events+json;v=2
    Accept: application/vnd.appd.events+json;v=2
    {
       "schema" : {
          "account": "integer",
          "amount": "float",
          "product": "string"
       }
    }

    応答の例

    Code Block
    HTTP/1.1 202 ACCEPTED

    エラー コード

    エラー コード(Error Code)説明
    400指定した要求は無効でした。
    401認証ヘッダーで指定した認証情報は無効でした。
    404このアカウントのイベントタイプが見つかりませんでした。
    406"Accept" ヘッダーが "application/vnd.appd.events+json;v=2" ではありませんでした。
    413要求本文のサイズが最大許容値を超えています。
    415"Content-type" ヘッダーが "application/vnd.appd.events+json;v=2" ではありませんでした。
    429要求が多すぎます。アカウントまたはイベントが制限に達した場合に返されます。

    Anchor
    create_schema
    create_schema
    イベントスキーマを作成する

    独自のイベントスキーマを作成するには、この API メソッドを使用します。このスキーマで、フィールドとタイプごとにイベントタイプの全体的な構造を定義します。 

    このメソッドは、アップロードするイベントが、最初のクラスイベントタイプ(ログやトランザクションなど)の既存のスキーマと一致しない場合にのみ使用する必要があります。既存のスキーマに準拠したイベントは、そのスキーマに自動的に一致します。このトピックで前述した、サポートされるデータ型および命名制限を必ず確認してください。

    形式

    Appd tabs container
    Appd tab item
    tabNameSaaS
    Code Block
    POST https://analytics.api.example.com/events/schema/{schemaName}
    Appd tab item
    tabNameオンプレミス
    No Format
    POST http://<events_service_endpoint>:9080/events/schema/{schemaName}
     

    パスパラメータ

    名前説明
    accountIdアカウント ID
    schemaName

    イベントスキーマ名

    クエリパラメータ

    該当なし

    ヘッダー

    名前
    説明
    X-Events-API-AccountName[Controller UI License] ページに表示されるグローバルアカウント名。
    X-Events-API-Key分析 API キー。詳細については、Managing API Keysを参照してください。
    承認(Accept)応答本文のコンテンツタイプ。サポートされる値は "application/vnd.appd.events+json;v=2" です。
    Content-Type要求本文のコンテンツタイプ。デフォルトは "application/vnd.appd.events+json;v=2" です。これは、リソース表現(v=2)のバージョンも示しています。


    SaaS による Create 要求の例

    No Format
    POST http://analytics.api.example.com/events/schema/{schemaName} HTTP/1.1
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Content-Type: application/vnd.appd.events+json;v=2
    Accept: application/vnd.appd.events+json;v=2
    {
       "schema" : {
          "account": "integer",
          "amount": "float",
          "product": "string"
       }
    }

    応答の例

    No Format
    HTTP/1.1 201 CREATED

    Anchor
    retrieve_schema
    retrieve_schema
    イベントスキーマを取得する

    既存のイベントスキーマを取得するには、この API を使用します。

    形式

    Appd tabs container
    Appd tab item
    tabNameSaaS
    Code Block
    GET http://analytics.api.example.com/events/schema/{schemaName}
    Appd tab item
    tabNameオンプレミス
    No Format
    GET http://<events_service_endpoint>:9080/events/schema/{schemaName}


    パスパラメータ

    名前
    説明
    accountIdアカウント ID
    schemaNameイベントスキーマ名

    クエリパラメータ

    該当なし

    ヘッダー

    名前
    説明
    X-Events-API-AccountName[Controller UI License] ページに表示されるグローバルアカウント名。
    X-Events-API-Key分析 API キー。詳細については、Managing API Keysを参照してください。
    承認(Accept)応答本文のコンテンツタイプ。サポートされる値は "application/vnd.appd.events+json;v=2" です。

    SaaS による Retrieve 要求の例

    No Format
    GET http://analytics.api.example.com/events/schema/{schemaName} HTTP/1.1
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Accept: application/vnd.appd.events+json;v=2

    応答の例

    No Format
    HTTP/1.1 200 OK
    {
       "schema" : {
          "account": "integer",
          "amount": "float",
          "product": "string"
       }
    }

    Anchor
    update_schema
    update_schema
    イベントスキーマを更新する

    フィールドごとに既存のイベントスキーマを更新するには、この API を使用します。要求本文で、イベントスキーマに適用される更新内容を定義します。

    次の例に示すように、各フィールドの更新アクションを要求本文の名前付きセクションとして指定します。アクションは次のフィールドで表されます。

    • 追加フィールド
    • 名前変更フィールド

    追加フィールドを定義する場合は、イベントスキーマを作成する場合と同じように、新しいフィールドのデータ形式を指定する必要があります。

    このコールへの応答は、変更された完全なイベントスキーマである必要があります。

    形式

    Appd tabs container
    Appd tab item
    tabNameSaaS
    No Format
    PATCH http://analytics.api.example.com/events/schema/{schemaName}
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Appd tab item
    tabNameオンプレミス
    Code Block
    languagexml
    PATCH http://<events_service_endpoint>:9080/events/schema/{schemaName}
     

    パスパラメータ

    名前説明
    accountIdアカウント ID
    schemaNameイベントスキーマ名

    クエリパラメータ

    該当なし

    ヘッダー

    名前説明
    X-Events-API-AccountName[Controller UI License] ページに表示されるグローバルアカウント名。
    X-Events-API-Key分析 API キー。詳細については、Managing API Keysを参照してください。
    承認(Accept)応答本文のコンテンツタイプ。サポートされる値は "application/vnd.appd.events+json;v=2" です。
    Content-Type要求本文のコンテンツタイプ。デフォルトは "application/vnd.appd.events+json;v=2" です。これは、リソース表現(v=2)のバージョンも示しています。

    SaaS による Update Event 要求の例

    No Format
    PATCH http://analytics.api.example.com/events/schema/{schemaName} HTTP/1.1
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Content-type: application/vnd.appd.events+json;v=2
    Accept: application/vnd.appd.events+json;v=2
      
    [
      {
        "add": {
          "newfield": "integer"
        },
        "rename": {
          "oldname": "newname",
          "oldname2": "newname2"
        }
      }
    ]

    応答の例

    No Format
    HTTP/1.1 200 OK

    Anchor
    delete_schema
    delete_schema
    イベントスキーマを削除する

    既存のイベントスキーマを削除するには、この API を使用します。

    形式

    Appd tabs container
    Appd tab item
    tabNameSaaS
    No Format
    DELETE http://<events_service_endpoint>:9080/events/schema/{schemaName}
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Appd tab item
    tabNameオンプレミス
    Code Block
    languagexml
    DELETE http://<events_service_endpoint>:9080/events/schema/{schemaName}
     

    パスパラメータ

    名前説明
    accountIdアカウント ID
    eventTypeイベントスキーマ名

    クエリパラメータ

    該当なし

    ヘッダー

    名前説明
    X-Events-API-AccountName[Controller UI License] ページに表示されるグローバルアカウント名。
    X-Events-API-Key分析 API キー。詳細については、Managing API Keysを参照してください。
    承認(Accept)応答本文のコンテンツタイプ。サポートされている値は次のとおりです。 application/vnd.appd.events+json;v=2

    SaaS による Delete 要求の例

    No Format
    DELETE http://analytics.api.example.com/events/schema/{schemaName} HTTP/1.1
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Accept: application/vnd.appd.events+json;v=2

    イベントのクエリ

    分析イベントデータをクエリする場合は、次の条件が適用されます。

    • すべてのイベントサービス API で、各イベントタイプのアカウントごとに 1 分あたり 200 件の検索制限があります。

    • クエリが複数あるイベント API では、HTTP リクエストごとのクエリが 20 個に制限されます。
    • 分析クエリ API は、最大で 1 万件の結果を返すことができます。
    • 集約クエリと非集約クエリでは、制限の動作が異なります。ADQL クエリで指定された制限値はバケットカウントの制限値として使用するため、全体の結果カウント制限値として使用することはできません。したがって、URL のパラメトリック制限が全体的な制限に使用されます。非集約クエリの場合はバケットの制限がないため、ADQL クエリで指定された制限値が行数の制限として取得され、URL のパラメトリック制限は、ADQL クエリで制限が指定されていない場合に 2 番目の選択肢となります。
      • 集約クエリの場合、返される行の合計数は URL クエリパラメータの制限によって制限され、ADQL クエリステートメント自体に指定された制限値には直接関連しません。ADQL クエリの制限値は、集約クエリのバケットカウントにのみ適用されます。
      • 非集約クエリの場合、LIMITSELECT ステートメントで指定されていなければ、URL クエリパラメータで指定された値が使用されます。制限クエリパラメータも存在しない場合、デフォルト値は 100 になります。

    Anchor
    query-events
    query-events
    クエリイベント(単一クエリ)

    クエリイベント API を使用するには、単純なテキスト形式のクエリとして使用するか、JSON 形式のクエリとして使用するかのいずれか 2 つの方法があります。JSON 形式のクエリはコールあたり複数のクエリに対応でき、クエリイベント(複数のクエリ)で説明されます。 

    1 つのイベントタイプで、複数のイベントタイプに対する検索を実行できます。したがって、イベントタイプは URL パスにもクエリパラメータとしても指定されていませんが、要求本文に指定された ADQL クエリに含まれています。ADQL クエリは、ADQL Reference で説明されている構文に従う必要があります。

    ここでは、イベントをクエリするための単一クエリフォームについて説明します。 

    形式

    Appd tabs container
    Appd tab item
    tabNameSaaS
    Code Block
    languagexml
    POST http://analytics.api.example.com/events/query?limit=20
    Appd tab item
    tabNameオンプレミス
    No Format
    POST http://<events_service_endpoint>:9080/events/query
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Content-type: application/vnd.appd.events+text;v=2
     

    クエリパラメータ

    名前
    説明
    start

    ISO 8601 時間(https://en.wikipedia.org/wiki/ISO_8601)または Unix 時間(http://en.wikipedia.org/wiki/Unix_timeで指定された最小イベントタイムスタンプに基づいて、結果をフィルタリングします。指定しない場合、デフォルトでは最小タイムスタンプのフィルタリングが行われません。返されるデータは常にデータ保持によって制限されることに注意してください。

    UTC 日時形式またはエポック ミリ秒を組み合わせて時刻を指定します。

    開始時刻には、タイムスタンプの制限が含まれます。

    end

    ISO 8601 時間(https://en.wikipedia.org/wiki/ISO_8601)または Unix 時間(http://en.wikipedia.org/wiki/Unix_timeで指定された最大イベントタイムスタンプに基づいて結果をフィルタリングします。指定しない場合、デフォルトでは最大タイムスタンプのフィルタリングが行われません。返されるデータは常にデータ保持によって制限されることに注意してください。

    UTC 日時形式またはエポック ミリ秒を組み合わせて時刻を指定します。

    終了時刻には、タイムスタンプの制限が含まれます。

    limit

    返される結果の数を制限します。デフォルト値は 100 です。取得できる結果の上限は 1 万件です。

    ヘッダー

    名前
    説明
    X-Events-API-AccountName[Controller UI License] ページに表示されるグローバルアカウント名。
    X-Events-API-Key分析 API キー。詳細については、「API キーの管理」を参照してください。
    承認(Accept)応答本文のコンテンツタイプ。サポートされる値は "application/vnd.appd.events+json;v=2" です。
    Content-Type要求本文のコンテンツタイプ。デフォルトは "application/vnd.appd.events+text;v=2" です。これは、リソース表現(v=2)のバージョンも示しています。

    SaaS による Query 要求の例

    No Format
    POST http://analytics.api.example.com/events/query?start=1422823420000&end=1423687476000&limit=20000 HTTP/1.1
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Content-Type: application/vnd.appd.events+text;v=2
    Accept: application/vnd.appd.events+json;v=2
     
    SELECT * FROM county WHERE size>=30 AND population>20000

     

    Anchor
    querymultiple
    querymultiple
    クエリイベント(複数のクエリ)

    特定のアカウントとイベントタイプに対し複数のクエリを並行して実行するには、この API を使用します。複数のクエリを指定するクエリイベントは、要求本文に複数の ADQL クエリを含めることで実行されます。ADQL クエリは、ADQL Reference で説明されている構文に従う必要があります。

    このフォームでクエリを使用する利点は、クエリのパフォーマンスにおいて特定のバックエンドの最適化を利用できることです。時間範囲や制限などのクエリフィルタ条件は、内部クエリごとに上書きできます。

    Info

    クエリが複数あるイベント API では、HTTP リクエストごとのクエリが 20 個に制限されます。

    形式

    Appd tabs container
    Appd tab item
    tabNameSaaS
    Code Block
    languagexml
    POST http://analytics.api.example.com/events/query?limit=20
    Appd tab item
    tabNameオンプレミス
    No Format
    POST http://<events_service_endpoint>:9080/events/query
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key> 
     

    パスパラメータ

    なし

    クエリパラメータ

    名前
    説明
    start

    ISO 8601 時間(https://en.wikipedia.org/wiki/ISO_8601)または Unix 時間(http://en.wikipedia.org/wiki/Unix_timeで指定された最小イベントタイムスタンプに基づいて、結果をフィルタリングします。指定しない場合、デフォルトでは最小タイムスタンプのフィルタリングが行われません。

    UTC 日時形式またはエポック ミリ秒を組み合わせて時刻を指定します。

    開始時刻には、タイムスタンプの制限が含まれます。

    end

    ISO 8601 時間(https://en.wikipedia.org/wiki/ISO_8601または Unix 時間(http://en.wikipedia.org/wiki/Unix_time)で指定された最大イベントタイムスタンプに基づいて結果をフィルタリングします。指定しない場合、デフォルトでは最大タイムスタンプのフィルタリングが行われません。

    UTC 日時形式またはエポック ミリ秒を組み合わせて時刻を指定します。

    終了時刻には、タイムスタンプの制限が含まれます。

    limit

    返される結果の数を制限します。デフォルト値は 100 です。取得できる結果の上限は 1 万件です。

    ヘッダー

    名前
    説明
    X-Events-API-AccountName[Controller UI License] ページに表示されるグローバルアカウント名。
    X-Events-API-Key分析 API キー。詳細については、Managing API Keysを参照してください。
    承認(Accept)応答本文のコンテンツタイプ。サポートされる値は "application/vnd.appd.events+json;v=2" です。
    Content-Type要求本文のコンテンツタイプ。デフォルトは、"application/vnd.appd.events+json;v=2" です。これは、リソース表現(v=2)のバージョンも示しています。

    ペイロード

    フィールド
    説明
    label(オプション)クエリを識別するためのフレンドリ名。
    クエリ実行する ADQL クエリ。
    開始(オプション)クエリパラメータとして指定された開始パラメータ値をオーバーライドします。
    終了(オプション)クエリパラメータとして指定された終了パラメータ値をオーバーライドします。
    limit(オプション)クエリパラメータとして指定された制限値をオーバーライドします。

    SaaS による Multiple Query 要求の例

    No Format
    POST http://analytics.api.example.com/events/query?limit=100 HTTP/1.1
    X-Events-API-AccountName:<global_account_name>
    X-Events-API-Key:<api_key>
    Content-Type: application/vnd.appd.events+json;v=2
    Accept: application/vnd.appd.events+json;v=2
    [
        {
          "label": "high_population",
          "query": "SELECT * FROM county WHERE population>50000",
          "limit": 10,
          "start": "2017-02-23T0:0:0Z",
          "end": "2017-03-1T0:0:0Z"
        },
        {
          "label": "small_area",
          "query": "SELECT * FROM county WHERE size<25",
          "start": "2017-02-23T0:0:0Z",
          "end": "2017-03-1T0:0:0Z"
        },
        {
          "label": "high_population_density",
          "query": "SELECT * FROM county WHERE population>50000 AND size<25",
          "limit": 100,
          "start": "2017-02-23T0:0:0Z",
          "end": "2017-03-1T0:0:0Z"
        }
    ]

    応答の例

    No Format
    HTTP/1.1 200 OK
    [
      {
        "label": "high_population",
        "total": 30,
        "fields": [ ... ],
        "results": [ ... ]
      },
      {
        "label": "small_area",
        "total": 50,
        "fields": [ ... ],
        "results": [ ... ]
      },
      {
        "label": "high_population_density",
        "total": 10,
        "fields": [ ... ],
        "results": [ ... ]
      }
    ]