7.7查询服务API

目标

  • 使用查询服务API管理查询模板和查询计划

上下文

在本练习中,您将执行API调用,以使用Postman集合管理查询模板和查询计划。 您将定义查询模板,执行常规查询和CTAS查询。 CTAS​查询(创建表作为选择查询)将其结果集存储在显式数据集中。 常规查询存储在隐式(或系统生成的)数据集中,通常以镶木地板文件格式导出。

文档

7.7.1查询服务API

查询服务API允许您管理针对Adobe Experience Platform数据湖的非交互式查询。

非交互性意味着执行查询的请求不会导致立即响应。 将处理查询,其结果集将以隐式或显式形式存储(CTAS:按选择创建表)数据集。

7.7.2示例查询

作为示例查询,您将使用7.3中列出的第一个查询-查询、查询、查询…和客户流失分析:

我们每天有多少产品视图?

SQL

select date_format( timestamp , 'yyyy-MM-dd') AS Day,
       count(*) AS productViews
from   demo_system_event_dataset_for_website_global_v1_1
where  --aepTenantId--.demoEnvironment.brandName IN ('Luma Telco', 'Citi Signal')
and eventType = 'commerce.productViews'
group by Day
limit 10;

7.7.3查询

在您的计算机上打开邮递员。 作为第3单元的一部分,您创建了邮递员环境并导入了邮递员集合。 如果您尚未执行此操作,请按照练习3.3.3🔗中的说明进行操作。

作为导入的邮递员集合的一部分,您将看到一个文件夹​3。 查询服务. 如果看不到此文件夹,请重新下载邮递员集合,并按练习3.3中的说明将该集合重新导入邮递员。

QS

注意

此时,仅文件夹​1。 查询​包含请求。 其他请求将添加到层级。

打开该文件夹,了解查询服务API调用,以执行、监视和下载查询结果集。

对[/查询/查询]的POST调用,其有效负载如下,将触发执行我们的查询;

7.7.3.1创建查询

单击名为​1.1 QS —— 创建查询​的请求,然后转到​标题。 然后您将看到:

区段

我们来关注此标题字段:

x-sandbox-name --module7sandbox--
注意

您需要指定所使用的Adobe Experience Platform沙箱的名称。 标题字段​x-sandbox-name​应为--module7sandbox--

转至此请求的​正文​部分。 在此请求的​Body​中,您将看到以下内容:

区段

{
    "name" : "ldap - QS API demo - Citi Signal - Product Views Per Day",
	"description": "ldap - QS API demo - Citi Signal - Product Views Per Day",
	"dbName": "module7:all",
	"sql": "select date_format( timestamp , 'yyyy-MM-dd') AS Day, count(*) AS productViews from demo_system_event_dataset_for_website_global_v1_1 where _experienceplatform.demoEnvironment.brandName IN ('Luma Telco', 'Citi Signal') and eventType = 'commerce.productViews' group by Day limit 10"
}

注意:请通过将​ldap​替换为您的特定​ldap​来更新以下请求中的变量​name

添加特定​ldap​后,正文应类似于:

{
    "name" : "vangeluw - QS API demo - Citi Signal - Product Views Per Day",
	"description": "vangeluw - QS API demo - Citi Signal - Product Views Per Day",
	"dbName": "module7:all",
	"sql": "select date_format( timestamp , 'yyyy-MM-dd') AS Day, count(*) AS productViews from demo_system_event_dataset_for_website_global_v1_1 where _experienceplatform.demoEnvironment.brandName IN ('Luma Telco', 'Citi Signal') and eventType = 'commerce.productViews' group by Day limit 10"
}
注意

上述JSON主体中的键​dbName​引用在您的Adobe Experience Platform实例中使用的沙箱。 如果使用PROD沙箱,dbName应为​prod:all,如果使用其他沙箱,如​module7,dbName应等于​module7:all

接下来,单击蓝色​发送​按钮以创建段并视图其结果。

区段

成功时,POST请求将返回以下响应:

{
    "isInsertInto": false,
    "request": {
        "dbName": "module7:all",
        "sql": "select date_format( timestamp , 'yyyy-MM-dd') AS Day, count(*) AS productViews from demo_system_event_dataset_for_website_global_v1_1 where _experienceplatform.demoEnvironment.brandName IN ('Luma Telco', 'Citi Signal') and eventType = 'commerce.productViews' group by Day limit 10",
        "name": "vangeluw - QS API demo - Citi Signal - Product Views Per Day",
        "description": "vangeluw - QS API demo - Citi Signal - Product Views Per Day"
    },
    "clientId": "5a143b5ae4aa4631a1f3b09cd051333f",
    "state": "SUBMITTED",
    "rowCount": 0,
    "errors": [],
    "isCTAS": false,
    "version": 1,
    "id": "8f0d7f25-f7aa-493b-9792-290f884a7e5b",
    "elapsedTime": 0,
    "updated": "2021-01-20T13:23:13.951Z",
    "client": "API",
    "userId": "A3392DB95FFF08EE0A495E87@techacct.adobe.com",
    "created": "2021-01-20T13:23:13.951Z",
    "_links": {
        "self": {
            "href": "https://platform-va7.adobe.io/data/foundation/query/queries/8f0d7f25-f7aa-493b-9792-290f884a7e5b",
            "method": "GET"
        },
        "soft_delete": {
            "href": "https://platform-va7.adobe.io/data/foundation/query/queries/8f0d7f25-f7aa-493b-9792-290f884a7e5b",
            "method": "PATCH",
            "body": "{ \"op\": \"soft_delete\"}"
        },
        "cancel": {
            "href": "https://platform-va7.adobe.io/data/foundation/query/queries/8f0d7f25-f7aa-493b-9792-290f884a7e5b",
            "method": "PATCH",
            "body": "{ \"op\": \"cancel\"}"
        }
    }
}

查询的当前​状态​为​SUBMITTED,一旦执行,其状态将变为​SUCCESS

您还可以通过Adobe Experience PlatformUI查找提交的查询,打开Adobe Experience Platform,导航到​查询,导航到​日志,然后选择查询:

区段

7.7.3.2获取查询

单击名为​1.2 QS —— 获取查询​的请求,然后转到​标头。 然后您将看到:

区段

我们来关注此标题字段:

x-sandbox-name --module7sandbox--
注意

您需要指定所使用的Adobe Experience Platform沙箱的名称。 标题字段​x-sandbox-name​应为--module7sandbox--

转至​Params。 然后您将看到:

区段

使用​orderby​参数,可以根据​created​属性指定排序顺序。 请注意,创建前面的​'-'​符号,这意味着查询的列表返回顺序将使用其创建日期的​降序​顺序。 你的查询应该在列表上。

接下来,单击蓝色​发送​按钮以创建段并视图其结果。

区段

请求成功后,将返回与下面类似的响应。 响应的​状态​可以是​SUBMITTEDIN_PROGRESS​或​SUCCESS。 查询状态​SUCCESS​可能需要几分钟时间。 您可以重复多次发送此请求,直到您看到​SUCCESS​状态。

{
    "queries": [
        {
            "isInsertInto": false,
            "request": {
                "dbName": "module7:all",
                "sql": "select date_format( timestamp , 'yyyy-MM-dd') AS Day, count(*) AS productViews from demo_system_event_dataset_for_website_global_v1_1 where _experienceplatform.demoEnvironment.brandName IN ('Luma Telco', 'Citi Signal') and eventType = 'commerce.productViews' group by Day limit 10",
                "name": "vangeluw - QS API demo - Citi Signal - Product Views Per Day",
                "description": "vangeluw - QS API demo - Citi Signal - Product Views Per Day"
            },
            "clientId": "5a143b5ae4aa4631a1f3b09cd051333f",
            "state": "SUCCESS",
            "rowCount": 1,
            "errors": [],
            "isCTAS": false,
            "version": 1,
            "id": "8f0d7f25-f7aa-493b-9792-290f884a7e5b",
            "elapsedTime": 217481,
            "updated": "2021-01-20T13:26:51.432Z",
            "client": "API",
            "userId": "A3392DB95FFF08EE0A495E87@techacct.adobe.com",
            "created": "2021-01-20T13:23:13.951Z",
            "_links": {
                "self": {
                    "href": "https://platform-va7.adobe.io/data/foundation/query/queries/8f0d7f25-f7aa-493b-9792-290f884a7e5b",
                    "method": "GET"
                },
                "soft_delete": {
                    "href": "https://platform-va7.adobe.io/data/foundation/query/queries/8f0d7f25-f7aa-493b-9792-290f884a7e5b",
                    "method": "PATCH",
                    "body": "{ \"op\": \"soft_delete\"}"
                },
                "referenced_datasets": [
                    {
                        "id": "60080ace62c49a19490c5870",
                        "href": "https://platform-va7.adobe.io/data/foundation/catalog/dataSets/60080ace62c49a19490c5870"
                    }
                ]
            }
        }
     ]
    },
    "version": 1
}

当状态为​SUCCESS​时,请继续下一个请求。

7.7.3.3获取查询状态

单击名为​1.3 QS —— 获取查询状态​的请求,然后转到​标头。 然后您将看到:

区段

我们来关注此标题字段:

x-sandbox-name --module7sandbox--
注意

您需要指定所使用的Adobe Experience Platform沙箱的名称。 标题字段​x-sandbox-name​应为--module7sandbox--

接下来,单击蓝色​发送​按钮以创建段并视图其结果。

区段

请求成功后,将返回与下面类似的响应。

{
    "isInsertInto": false,
    "request": {
        "dbName": "module7:all",
        "sql": "select date_format( timestamp , 'yyyy-MM-dd') AS Day, count(*) AS productViews from demo_system_event_dataset_for_website_global_v1_1 where _experienceplatform.demoEnvironment.brandName IN ('Luma Telco', 'Citi Signal') and eventType = 'commerce.productViews' group by Day limit 10",
        "name": "vangeluw - QS API demo - Citi Signal - Product Views Per Day",
        "description": "vangeluw - QS API demo - Citi Signal - Product Views Per Day"
    },
    "clientId": "5a143b5ae4aa4631a1f3b09cd051333f",
    "state": "SUCCESS",
    "rowCount": 1,
    "errors": [],
    "isCTAS": false,
    "version": 1,
    "id": "8f0d7f25-f7aa-493b-9792-290f884a7e5b",
    "elapsedTime": 217481,
    "updated": "2021-01-20T13:26:51.432Z",
    "client": "API",
    "userId": "A3392DB95FFF08EE0A495E87@techacct.adobe.com",
    "created": "2021-01-20T13:23:13.951Z",
    "_links": {
        "self": {
            "href": "https://platform-va7.adobe.io/data/foundation/query/queries/8f0d7f25-f7aa-493b-9792-290f884a7e5b",
            "method": "GET"
        },
        "soft_delete": {
            "href": "https://platform-va7.adobe.io/data/foundation/query/queries/8f0d7f25-f7aa-493b-9792-290f884a7e5b",
            "method": "PATCH",
            "body": "{ \"op\": \"soft_delete\"}"
        },
        "referenced_datasets": [
            {
                "id": "60080ace62c49a19490c5870",
                "href": "https://platform-va7.adobe.io/data/foundation/catalog/dataSets/60080ace62c49a19490c5870"
            }
        ]
    }
}

当查询达到​SUCCESS​的状态时,响应还将指示查询通过​rowCount​属性检索的行数。 在示例中,查询返回10行。 让我们在下一节中看看如何检索10行。

7.7.3.4检索查询结果

上述​SUCCESS​响应包含​referenced_datasets​属性,该属性指向存储查询结果的隐式数据集。 要访问结果,我们使用其​href​或​id​属性。

单击名为​1.4 QS —— 获取查询结果​的请求,然后转到​标头。 然后您将看到:

区段

我们来关注此标题字段:

x-sandbox-name --module7sandbox--
注意

您需要指定所使用的Adobe Experience Platform沙箱的名称。 标题字段​x-sandbox-name​应为--module7sandbox--

接下来,单击蓝色​发送​按钮以创建段并视图其结果。

区段

此请求的响应将指向数据集文件:

{
    "60080ace62c49a19490c5870": {
        "name": "Demo System - Event Dataset for Website (Global v1.1)",
        "description": "Demo System - Event Dataset for Website (Global v1.1)",
        "enableErrorDiagnostics": false,
        "tags": {
            "adobe/siphon/partition/definition": [
                "day(timestamp, _ACP_DATE)",
                "identity(_ACP_BATCHID)"
            ],
            "aep/siphon/partitions": [
                "_ACP_DATE",
                "_ACP_BATCHID"
            ],
            "acp_granular_plugin_validation_flags": [
                "identity:enabled",
                "profile:enabled"
            ],
            "adobe/siphon/buffered-promotion-recency": [
                "live"
            ],
            "adobe/siphon/use-buffered-promotion": [
                "true"
            ],
            "adobe/pqs/table": [
                "demo_system_event_dataset_for_website_global_v1_1"
            ],
            "aep/siphon/expire-snapshot-timestamp": [
                "1611141272703"
            ],
            "acp_granular_validation_flags": [
                "requiredFieldCheck:enabled"
            ],
            "acp_validationContext": [
                "enabled"
            ],
            "adobe/siphon/table/format": [
                "iceberg"
            ],
            "unifiedProfile": [
                "enabled:true",
                "enabledAt:2021-01-20 10:49:51"
            ],
            "unifiedIdentity": [
                "enabled:true"
            ]
        },
        "namespace": "ACP",
        "state": "DRAFT",
        "imsOrg": "907075E95BF479EC0A495C73@AdobeOrg",
        "sandboxId": "62cd9f38-8529-4b05-8d9f-388529db0540",
        "lastBatchId": "01EWFQZ15XRNNB1FPKPW5ETRVP",
        "lastBatchStatus": "success",
        "lastSuccessfulBatch": "01EWFQZ15XRNNB1FPKPW5ETRVP",
        "version": "1.0.6",
        "created": 1611139790698,
        "updated": 1611149266031,
        "createdClient": "750e24ee855b4ac18ccc4f4817f96ee1",
        "createdUser": "3A260B485E909A170A495E76@techacct.adobe.com",
        "updatedUser": "acp_foundation_dataTracker@AdobeID",
        "viewId": "60080ace62c49a19490c5871",
        "fileDescription": {
            "persisted": true,
            "containerFormat": "parquet",
            "format": "parquet"
        },
        "files": "@/dataSets/60080ace62c49a19490c5870/views/60080ace62c49a19490c5871/files",
        "schemaMetadata": {
            "delta": [],
            "gdpr": []
        },
        "schemaRef": {
            "id": "https://ns.adobe.com/experienceplatform/schemas/d9b88a044ad96154637965a97ed63c7b20bdf2ab3b4f642e",
            "contentType": "application/vnd.adobe.xed-full+json;version=1"
        }
    }
}
注意

不久将添加更多练习,帮助您与查询服务API交互。

下一步:摘要和优势

返回模块7

返回到所有模块

在此页面上