분석 이벤트를 나열하십시오

Note: This endpoint is in preview and is subject to change. If you have any feedback, contact Datadog support.

POST https://api.ap1.datadoghq.com/api/v2/product-analytics/analytics/listhttps://api.ap2.datadoghq.com/api/v2/product-analytics/analytics/listhttps://api.datadoghq.eu/api/v2/product-analytics/analytics/listhttps://api.ddog-gov.com/api/v2/product-analytics/analytics/listhttps://api.us2.ddog-gov.com/api/v2/product-analytics/analytics/listhttps://api.uk1.datadoghq.com/api/v2/product-analytics/analytics/listhttps://api.datadoghq.com/api/v2/product-analytics/analytics/listhttps://api.us3.datadoghq.com/api/v2/product-analytics/analytics/listhttps://api.us5.datadoghq.com/api/v2/product-analytics/analytics/list

개요

List the individual event records matching an analytics query. Use columns to choose the attributes returned on each row, sort to order the rows, and limit to cap how many are returned. This endpoint requires the rum_apps_read permission.

요청

Body Data (required)

Expand All

항목

유형

설명

data [required]

object

Data object for an analytics list request.

attributes [required]

object

Attributes for an analytics list request.

from [required]

int64

Start time in epoch milliseconds. Must be less than to.

query [required]

object

The analytics list query definition. It selects the events to return with query, then chooses the columns on each event row, the sort applied to those rows, and a row limit. Unlike the scalar and timeseries queries, a list query returns raw event rows rather than aggregates, so it takes no compute or group-by rule.

audience_filters

object

Audience filter definitions for targeting specific user segments.

accounts

[object]

Account audience queries.

name [required]

string

Name of this query, referenced in the formula.

query

string

Search query for filtering accounts.

formula

string

Boolean formula combining audience queries by name.

segments

[object]

Segment audience queries.

name [required]

string

Name of this query, referenced in the formula.

segment_id [required]

uuid

UUID of the segment to filter by.

users

[object]

User audience queries.

name [required]

string

Name of this query, referenced in the formula.

query

string

Search query for filtering users.

columns

[string]

Attribute columns to include in each event row.

limit

int64

Maximum number of event rows to return.

query [required]

 <oneOf>

A query definition discriminated by the data_source field. Use product_analytics for standard event queries, or product_analytics_occurrence for occurrence-filtered queries.

<data_source=product_analytics>

object

A standard Product Analytics event query.

data_source [required]

enum

The data source identifier. Allowed enum values: product_analytics

search [required]

object

Search parameters for an event query.

query

string

The search query using Datadog search syntax.

<data_source=product_analytics_occurrence>

object

A Product Analytics occurrence-filtered query.

data_source [required]

enum

The data source identifier for occurrence queries. Allowed enum values: product_analytics_occurrence

search [required]

object

Search parameters for an occurrence query.

occurrences

object

Filter for occurrence-based queries.

meta

object

Additional metadata.

<any-key>

string

operator [required]

string

Comparison operator (=, >=, <=, >, <).

value [required]

string

The occurrence count threshold as a string.

query

string

The search query using Datadog search syntax.

sort

object

The sort applied to the returned event rows.

facet

string

Name of the facet to sort the rows by.

order

enum

The direction rows are sorted in. Allowed enum values: asc,desc

to [required]

int64

End time in epoch milliseconds.

type [required]

enum

The resource type for analytics list requests. Allowed enum values: formula_analytics_extended_list_request

{
  "data": {
    "attributes": {
      "from": 1771232048460,
      "query": {
        "audience_filters": {
          "accounts": [
            {
              "name": "",
              "query": "string"
            }
          ],
          "formula": "u",
          "segments": [
            {
              "name": "",
              "segment_id": "00000000-0000-0000-0000-000000000000"
            }
          ],
          "users": [
            {
              "name": "u",
              "query": "*"
            }
          ]
        },
        "columns": [],
        "limit": 100,
        "query": {
          "data_source": "product_analytics",
          "search": {
            "query": "@type:view"
          }
        },
        "sort": {
          "facet": "string",
          "order": "string"
        }
      },
      "to": 1771836848262
    },
    "type": "formula_analytics_extended_list_request"
  }
}

응답

OK

Response for an analytics list query, containing individual event records.

Expand All

항목

유형

설명

data [required]

object

Data object for an analytics list response.

attributes [required]

object

Attributes of an analytics list response, containing the matching event rows.

records

[object]

The event rows, each holding the values of the requested columns.

total_count

int64

Total number of records matching the query, before the row limit is applied.

id [required]

string

Unique identifier for this response data object.

type [required]

enum

The resource type identifier for an analytics list response. Allowed enum values: list_response

meta

object

Metadata for a Product Analytics query response.

request_id

string

Unique identifier of the query.

status

enum

The execution status of a Product Analytics query. Allowed enum values: done,running,timeout

{
  "data": {
    "attributes": {
      "records": [],
      "total_count": "integer"
    },
    "id": "00000000-0000-0000-0000-000000000000",
    "type": "list_response"
  },
  "meta": {
    "request_id": "string",
    "status": "string"
  }
}

Bad Request

API error response.

Expand All

항목

유형

설명

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Not Authorized

API error response.

Expand All

항목

유형

설명

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Too many requests

API error response.

Expand All

항목

유형

설명

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

코드 예시

                  ## default
# 

# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.uk1.datadoghq.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/product-analytics/analytics/list" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "from": 1771232048460, "query": { "columns": [ "@view.name" ], "limit": 100, "query": { "data_source": "product_analytics", "search": { "query": "@type:view" } } }, "to": 1771836848262 }, "type": "formula_analytics_extended_list_request" } } EOF
"""
List analytics events returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.product_analytics_api import ProductAnalyticsApi
from datadog_api_client.v2.model.product_analytics_analytics_list_query import ProductAnalyticsAnalyticsListQuery
from datadog_api_client.v2.model.product_analytics_analytics_list_request import ProductAnalyticsAnalyticsListRequest
from datadog_api_client.v2.model.product_analytics_analytics_list_request_attributes import (
    ProductAnalyticsAnalyticsListRequestAttributes,
)
from datadog_api_client.v2.model.product_analytics_analytics_list_request_data import (
    ProductAnalyticsAnalyticsListRequestData,
)
from datadog_api_client.v2.model.product_analytics_analytics_list_request_type import (
    ProductAnalyticsAnalyticsListRequestType,
)
from datadog_api_client.v2.model.product_analytics_event_query import ProductAnalyticsEventQuery
from datadog_api_client.v2.model.product_analytics_event_query_data_source import ProductAnalyticsEventQueryDataSource
from datadog_api_client.v2.model.product_analytics_event_search import ProductAnalyticsEventSearch

body = ProductAnalyticsAnalyticsListRequest(
    data=ProductAnalyticsAnalyticsListRequestData(
        attributes=ProductAnalyticsAnalyticsListRequestAttributes(
            _from=1771232048460,
            query=ProductAnalyticsAnalyticsListQuery(
                columns=[
                    "@view.name",
                ],
                limit=100,
                query=ProductAnalyticsEventQuery(
                    data_source=ProductAnalyticsEventQueryDataSource.PRODUCT_ANALYTICS,
                    search=ProductAnalyticsEventSearch(
                        query="@type:view",
                    ),
                ),
            ),
            to=1771836848262,
        ),
        type=ProductAnalyticsAnalyticsListRequestType.FORMULA_ANALYTICS_EXTENDED_LIST_REQUEST,
    ),
)

configuration = Configuration()
configuration.unstable_operations["query_product_analytics_list"] = True
with ApiClient(configuration) as api_client:
    api_instance = ProductAnalyticsApi(api_client)
    response = api_instance.query_product_analytics_list(body=body)

    print(response)

Instructions

First install the library and its dependencies and then save the example to example.py and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" python3 "example.py"
# List analytics events returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.query_product_analytics_list".to_sym] = true
end
api_instance = DatadogAPIClient::V2::ProductAnalyticsAPI.new

body = DatadogAPIClient::V2::ProductAnalyticsAnalyticsListRequest.new({
  data: DatadogAPIClient::V2::ProductAnalyticsAnalyticsListRequestData.new({
    attributes: DatadogAPIClient::V2::ProductAnalyticsAnalyticsListRequestAttributes.new({
      from: 1771232048460,
      query: DatadogAPIClient::V2::ProductAnalyticsAnalyticsListQuery.new({
        columns: [
          "@view.name",
        ],
        limit: 100,
        query: DatadogAPIClient::V2::ProductAnalyticsEventQuery.new({
          data_source: DatadogAPIClient::V2::ProductAnalyticsEventQueryDataSource::PRODUCT_ANALYTICS,
          search: DatadogAPIClient::V2::ProductAnalyticsEventSearch.new({
            query: "@type:view",
          }),
        }),
      }),
      to: 1771836848262,
    }),
    type: DatadogAPIClient::V2::ProductAnalyticsAnalyticsListRequestType::FORMULA_ANALYTICS_EXTENDED_LIST_REQUEST,
  }),
})
p api_instance.query_product_analytics_list(body)

Instructions

First install the library and its dependencies and then save the example to example.rb and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" rb "example.rb"
// List analytics events returns "OK" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	body := datadogV2.ProductAnalyticsAnalyticsListRequest{
		Data: datadogV2.ProductAnalyticsAnalyticsListRequestData{
			Attributes: datadogV2.ProductAnalyticsAnalyticsListRequestAttributes{
				From: 1771232048460,
				Query: datadogV2.ProductAnalyticsAnalyticsListQuery{
					Columns: []string{
						"@view.name",
					},
					Limit: datadog.PtrInt64(100),
					Query: datadogV2.ProductAnalyticsBaseQuery{
						ProductAnalyticsEventQuery: &datadogV2.ProductAnalyticsEventQuery{
							DataSource: datadogV2.PRODUCTANALYTICSEVENTQUERYDATASOURCE_PRODUCT_ANALYTICS,
							Search: datadogV2.ProductAnalyticsEventSearch{
								Query: datadog.PtrString("@type:view"),
							},
						}},
				},
				To: 1771836848262,
			},
			Type: datadogV2.PRODUCTANALYTICSANALYTICSLISTREQUESTTYPE_FORMULA_ANALYTICS_EXTENDED_LIST_REQUEST,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.QueryProductAnalyticsList", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewProductAnalyticsApi(apiClient)
	resp, r, err := api.QueryProductAnalyticsList(ctx, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `ProductAnalyticsApi.QueryProductAnalyticsList`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `ProductAnalyticsApi.QueryProductAnalyticsList`:\n%s\n", responseContent)
}

Instructions

First install the library and its dependencies and then save the example to main.go and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" go run "main.go"
// List analytics events returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.ProductAnalyticsApi;
import com.datadog.api.client.v2.model.ProductAnalyticsAnalyticsListQuery;
import com.datadog.api.client.v2.model.ProductAnalyticsAnalyticsListRequest;
import com.datadog.api.client.v2.model.ProductAnalyticsAnalyticsListRequestAttributes;
import com.datadog.api.client.v2.model.ProductAnalyticsAnalyticsListRequestData;
import com.datadog.api.client.v2.model.ProductAnalyticsAnalyticsListRequestType;
import com.datadog.api.client.v2.model.ProductAnalyticsAnalyticsListResponse;
import com.datadog.api.client.v2.model.ProductAnalyticsBaseQuery;
import com.datadog.api.client.v2.model.ProductAnalyticsEventQuery;
import com.datadog.api.client.v2.model.ProductAnalyticsEventQueryDataSource;
import com.datadog.api.client.v2.model.ProductAnalyticsEventSearch;
import java.util.Collections;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.queryProductAnalyticsList", true);
    ProductAnalyticsApi apiInstance = new ProductAnalyticsApi(defaultClient);

    ProductAnalyticsAnalyticsListRequest body =
        new ProductAnalyticsAnalyticsListRequest()
            .data(
                new ProductAnalyticsAnalyticsListRequestData()
                    .attributes(
                        new ProductAnalyticsAnalyticsListRequestAttributes()
                            .from(1771232048460L)
                            .query(
                                new ProductAnalyticsAnalyticsListQuery()
                                    .columns(Collections.singletonList("@view.name"))
                                    .limit(100L)
                                    .query(
                                        new ProductAnalyticsBaseQuery(
                                            new ProductAnalyticsEventQuery()
                                                .dataSource(
                                                    ProductAnalyticsEventQueryDataSource
                                                        .PRODUCT_ANALYTICS)
                                                .search(
                                                    new ProductAnalyticsEventSearch()
                                                        .query("@type:view")))))
                            .to(1771836848262L))
                    .type(
                        ProductAnalyticsAnalyticsListRequestType
                            .FORMULA_ANALYTICS_EXTENDED_LIST_REQUEST));

    try {
      ProductAnalyticsAnalyticsListResponse result = apiInstance.queryProductAnalyticsList(body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling ProductAnalyticsApi#queryProductAnalyticsList");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

Instructions

First install the library and its dependencies and then save the example to Example.java and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" java "Example.java"
// List analytics events returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_product_analytics::ProductAnalyticsAPI;
use datadog_api_client::datadogV2::model::ProductAnalyticsAnalyticsListQuery;
use datadog_api_client::datadogV2::model::ProductAnalyticsAnalyticsListRequest;
use datadog_api_client::datadogV2::model::ProductAnalyticsAnalyticsListRequestAttributes;
use datadog_api_client::datadogV2::model::ProductAnalyticsAnalyticsListRequestData;
use datadog_api_client::datadogV2::model::ProductAnalyticsAnalyticsListRequestType;
use datadog_api_client::datadogV2::model::ProductAnalyticsBaseQuery;
use datadog_api_client::datadogV2::model::ProductAnalyticsEventQuery;
use datadog_api_client::datadogV2::model::ProductAnalyticsEventQueryDataSource;
use datadog_api_client::datadogV2::model::ProductAnalyticsEventSearch;

#[tokio::main]
async fn main() {
    let body =
        ProductAnalyticsAnalyticsListRequest::new(ProductAnalyticsAnalyticsListRequestData::new(
            ProductAnalyticsAnalyticsListRequestAttributes::new(
                1771232048460,
                ProductAnalyticsAnalyticsListQuery::new(
                    ProductAnalyticsBaseQuery::ProductAnalyticsEventQuery(Box::new(
                        ProductAnalyticsEventQuery::new(
                            ProductAnalyticsEventQueryDataSource::PRODUCT_ANALYTICS,
                            ProductAnalyticsEventSearch::new().query("@type:view".to_string()),
                        ),
                    )),
                )
                .columns(vec!["@view.name".to_string()])
                .limit(100),
                1771836848262,
            ),
            ProductAnalyticsAnalyticsListRequestType::FORMULA_ANALYTICS_EXTENDED_LIST_REQUEST,
        ));
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.QueryProductAnalyticsList", true);
    let api = ProductAnalyticsAPI::with_config(configuration);
    let resp = api.query_product_analytics_list(body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

Instructions

First install the library and its dependencies and then save the example to src/main.rs and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
/**
 * List analytics events returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.queryProductAnalyticsList"] = true;
const apiInstance = new v2.ProductAnalyticsApi(configuration);

const params: v2.ProductAnalyticsApiQueryProductAnalyticsListRequest = {
  body: {
    data: {
      attributes: {
        from: 1771232048460,
        query: {
          columns: ["@view.name"],
          limit: 100,
          query: {
            dataSource: "product_analytics",
            search: {
              query: "@type:view",
            },
          },
        },
        to: 1771836848262,
      },
      type: "formula_analytics_extended_list_request",
    },
  },
};

apiInstance
  .queryProductAnalyticsList(params)
  .then((data: v2.ProductAnalyticsAnalyticsListResponse) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));

Instructions

First install the library and its dependencies and then save the example to example.ts and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" tsc "example.ts"