Filtrar dados de origem
As etapas a seguir descrevem as etapas a serem seguidas para filtrar os dados no nível de linha para sua origem.
Recupere as especificações da conexão
A primeira etapa na filtragem de dados em nível de linha para a origem é recuperar as especificações de conexão da origem e determinar os operadores e o idioma compatíveis com a origem.
Para recuperar a especificação de conexão de uma determinada origem, faça uma solicitação GET para o ponto de extremidade /connectionSpecs
da API Flow Service e forneça o nome da propriedade da origem como parte dos parâmetros de consulta.
Formato da API
GET /connectionSpecs/{QUERY_PARAMS}
Parâmetro | Descrição |
---|---|
{QUERY_PARAMS} | Os parâmetros de consulta opcionais para filtrar os resultados. Você pode recuperar a especificação de conexão Google BigQuery aplicando a propriedade name e especificando "google-big-query" em sua pesquisa. |
Solicitação
A solicitação a seguir recupera as especificações de conexão para Google BigQuery.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs?property=name=="google-big-query"' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Resposta
Uma resposta bem-sucedida retorna o código de status 200 e as especificações de conexão para Google BigQuery, incluindo informações sobre o idioma de consulta e operadores lógicos com suporte.
"attributes": {
"filterAtSource": {
"enabled": true,
"queryLanguage": "SQL",
"logicalOperators": [
"and",
"or",
"not"
],
"comparisonOperators": [
"=",
"!=",
"<",
"<=",
">",
">=",
"like",
"in"
],
"columnNameEscapeChar": "`",
"valueEscapeChar": "'"
}
Propriedade | Descrição |
---|---|
attributes.filterAtSource.enabled | Determina se a origem consultada oferece suporte à filtragem de dados em nível de linha. |
attributes.filterAtSource.queryLanguage | Determina o idioma da consulta que a fonte consultada aceita. |
attributes.filterAtSource.logicalOperators | Determina os operadores lógicos que você pode usar para filtrar dados em nível de linha para a origem. |
attributes.filterAtSource.comparisonOperators | Determina operadores de comparação que você pode usar para filtrar dados em nível de linha para sua origem. Consulte a tabela abaixo para obter mais informações sobre operadores de comparação. |
attributes.filterAtSource.columnNameEscapeChar | Determina o caractere a ser usado para colunas de escape. |
attributes.filterAtSource.valueEscapeChar | Determina como os valores serão cercados ao gravar uma consulta SQL. |
Operadores de comparação
Operador | Descrição |
---|---|
== | Define se a propriedade é igual ao valor fornecido. |
!= | Define se a propriedade não é igual ao valor fornecido. |
< | Define se a propriedade é menor que o valor fornecido. |
> | Filtra especificando se a propriedade é maior que o valor fornecido. |
<= | Filtra se a propriedade é menor ou igual ao valor fornecido. |
>= | Filtra se a propriedade é maior ou igual ao valor fornecido. |
like | Filtros sendo usados em uma cláusula WHERE para procurar um padrão especificado. |
in | Define se a propriedade está dentro de um intervalo especificado. |
Especificar condições de filtragem para assimilação
Depois de identificar os operadores lógicos e o idioma de consulta compatíveis com sua origem, você pode usar o Profile Query Language (PQL) para especificar as condições de filtragem que deseja aplicar aos dados de origem.
No exemplo abaixo, as condições são aplicadas apenas a dados de seleção que sejam iguais aos valores fornecidos para os tipos de nó listados como parâmetros.
{
"type": "PQL",
"format": "pql/json",
"value": {
"nodeType": "fnApply",
"fnName": "=",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "city"
},
{
"nodeType": "literal",
"value": "DDN"
}
]
}
}
Pré-visualizar seus dados
Você pode visualizar seus dados fazendo uma solicitação GET para o ponto de extremidade /explore
da API Flow Service enquanto fornece filters
como parte de seus parâmetros de consulta e especifica suas condições de entrada do PQL em Base64.
Formato da API
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=table&object={TABLE_PATH}&preview=true&filters={FILTERS}
Parâmetro | Descrição |
---|---|
{BASE_CONNECTION_ID} | A ID de conexão básica da sua origem. |
{TABLE_PATH} | A propriedade de caminho da tabela que você deseja inspecionar. |
{FILTERS} | As condições de filtragem do PQL estão codificadas em Base64. |
Solicitação
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/89d1459e-3cd0-4069-acb3-68f240db4eeb/explore?objectType=table&object=TESTFAS.FASTABLE&preview=true&filters=ewogICJ0eXBlIjogIlBRTCIsCiAgImZvcm1hdCI6ICJwcWwvanNvbiIsCiAgInZhbHVlIjogewogICAgIm5vZGVUeXBlIjogImZuQXBwbHkiLAogICAgImZuTmFtZSI6ICJhbmQiLAogICAgInBhcmFtcyI6IFsKICAgICAgewogICAgICAgICJub2RlVHlwZSI6ICJmbkFwcGx5IiwKICAgICAgICAiZm5OYW1lIjogImxpa2UiLAogICAgICAgICJwYXJhbXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJub2RlVHlwZSI6ICJmaWVsZExvb2t1cCIsCiAgICAgICAgICAgICJmaWVsZE5hbWUiOiAiY2l0eSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJub2RlVHlwZSI6ICJsaXRlcmFsIiwKICAgICAgICAgICAgInZhbHVlIjogIk0lIgogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgXQogIH0KfQ==\' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Resposta
Uma resposta bem-sucedida retorna o conteúdo e a estrutura dos dados.
{
"format": "flat",
"schema": {
"columns": [
{
"name": "FIRSTNAME",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "LASTNAME",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "CITY",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "AGE",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "HEIGHT",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "ISEMPLOYED",
"type": "boolean",
"xdm": {
"type": "boolean"
}
},
{
"name": "POSTG",
"type": "boolean",
"xdm": {
"type": "boolean"
}
},
{
"name": "LATITUDE",
"type": "double",
"xdm": {
"type": "number"
}
},
{
"name": "LONGITUDE",
"type": "double",
"xdm": {
"type": "number"
}
},
{
"name": "JOINEDDATE",
"type": "string",
"meta:xdmType": "date-time",
"xdm": {
"type": "string",
"format": "date-time"
}
},
{
"name": "CREATEDAT",
"type": "string",
"meta:xdmType": "date-time",
"xdm": {
"type": "string",
"format": "date-time"
}
},
{
"name": "CREATEDATTS",
"type": "string",
"meta:xdmType": "date-time",
"xdm": {
"type": "string",
"format": "date-time"
}
}
]
},
"data": [
{
"CITY": "MZN",
"LASTNAME": "Jain",
"JOINEDDATE": "2022-06-22T00:00:00",
"LONGITUDE": 1000.222,
"CREATEDAT": "2022-06-22T17:19:33",
"FIRSTNAME": "Shivam",
"POSTG": true,
"HEIGHT": "169",
"CREATEDATTS": "2022-06-22T17:19:33",
"ISEMPLOYED": true,
"LATITUDE": 2000.89,
"AGE": "25"
},
{
"CITY": "MUM",
"LASTNAME": "Kreet",
"JOINEDDATE": "2022-09-07T00:00:00",
"LONGITUDE": 10500.01,
"CREATEDAT": "2022-09-07T17:19:33",
"FIRSTNAME": "Rakul",
"POSTG": true,
"HEIGHT": "155",
"CREATEDATTS": "2022-09-07T17:19:33",
"ISEMPLOYED": false,
"LATITUDE": 2500.89,
"AGE": "42"
},
{
"CITY": "MAN",
"LASTNAME": "Lee",
"JOINEDDATE": "2022-09-14T00:00:00",
"LONGITUDE": 1000.222,
"CREATEDAT": "2022-09-14T05:02:33",
"FIRSTNAME": "Denzel",
"POSTG": true,
"HEIGHT": "185",
"CREATEDATTS": "2022-09-14T05:02:33",
"ISEMPLOYED": true,
"LATITUDE": 123.89,
"AGE": "16"
}
]
}
Criar uma conexão de origem para dados filtrados
Para criar uma conexão de origem e assimilar dados filtrados, faça uma solicitação POST para o ponto de extremidade /sourceConnections
e forneça suas condições de filtragem nos parâmetros do corpo da solicitação.
Formato da API
POST /sourceConnections
Solicitação
A solicitação a seguir cria uma conexão de origem para assimilar dados de test1.fasTestTable
onde city
= DDN
.
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "BigQuery Source Connection",
"description": "Source Connection for Filter test",
"baseConnectionId": "89d1459e-3cd0-4069-acb3-68f240db4eeb",
"data": {
"format": "tabular"
},
"params": {
"tableName": "test1.fasTestTable",
"filters": {
"type": "PQL",
"format": "pql/json",
"value": {
"nodeType": "fnApply",
"fnName": "=",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "city"
},
{
"nodeType": "literal",
"value": "DDN"
}
]
}
}
},
"connectionSpec": {
"id": "3c9b37f8-13a6-43d8-bad3-b863b941fedd",
"version": "1.0"
}
}'
Resposta
Uma resposta bem-sucedida retorna o identificador exclusivo (id
) da conexão de origem recém-criada.
{
"id": "b7581b59-c603-4df1-a689-d23d7ac440f3",
"etag": "\"ef05d265-0000-0200-0000-6019e0080000\""
}
Filtrar entidades de atividade para Marketo Engage
Você pode usar a filtragem em nível de linha para filtrar entidades de atividade ao usar o Marketo Engage conector de origem. Atualmente, você só pode filtrar por entidades de atividade e tipos de atividade padrão. As atividades personalizadas permanecem controladas em Marketo mapeamentos de campo.
Marketo tipos de atividades padrão
A tabela a seguir descreve os tipos de atividade padrão para Marketo. Use essa tabela como referência para seus critérios de filtragem.
ID do tipo de atividade | Nome do tipo de atividade |
---|---|
1 | Visitar página da Web |
2 | Preencher formulário |
3 | Clique em Link |
6 | Enviar e-mail |
7 | Email entregue |
8 | Email rejeitado |
9 | Cancelar assinatura de email |
10 | Abrir e-mail |
11 | Clique em Email |
12 | Novo lead |
21 | Converter lead |
22 | Alterar pontuação |
24 | Adicionar à lista |
25 | Remover da lista |
27 | Email rejeitado temporariamente |
32 | Mesclar leads |
34 | Adicionar à oportunidade |
35 | Remover da oportunidade |
36 | Atualizar oportunidade |
46 | Momento interessante |
101 | Alterar estágio de receita |
104 | Alterar status na progressão |
110 | Chamar Webhook |
113 | Adicionar à criação |
114 | Alterar Faixa de Criação |
115 | Alterar cadência de criação |
Siga as etapas abaixo para filtrar suas entidades de atividade padrão ao usar o conector de origem Marketo.
Criar um fluxo de dados de rascunho
Primeiro, crie um Marketo fluxo de dados e salve-o como rascunho. Consulte a documentação a seguir para obter as etapas detalhadas sobre como criar um fluxo de dados de rascunho:
Recuperar a ID do fluxo de dados
Depois de ter um fluxo de dados em rascunho, você deve recuperar a ID correspondente.
Na interface, navegue até o catálogo de fontes e selecione Fluxos de Dados no cabeçalho superior. Use a coluna de status para identificar todos os fluxos de dados que foram salvos no modo de rascunho e, em seguida, selecione o nome do fluxo de dados. Em seguida, use o painel Propriedades à direita para localizar sua ID de fluxo de dados.
Recuperar detalhes do fluxo de dados
Em seguida, você deve recuperar os detalhes do fluxo de dados, especialmente a ID da conexão de origem associada ao fluxo de dados. Para recuperar os detalhes do fluxo de dados, faça uma solicitação GET para o ponto de extremidade /flows
e forneça sua ID de fluxo de dados como um parâmetro de caminho.
Formato da API
GET /flows/{FLOW_ID}
Parâmetro | Descrição |
---|---|
{FLOW_ID} | A ID do fluxo de dados que você deseja recuperar. |
Solicitação
A solicitação a seguir recupera informações sobre a ID do fluxo de dados: a7e88a01-40f9-4ebf-80b2-0fc838ff82ef
.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/flows/a7e88a01-40f9-4ebf-80b2-0fc838ff82ef' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Resposta
Uma resposta bem-sucedida retorna os detalhes do fluxo de dados, incluindo informações sobre as conexões de origem e de destino correspondentes. Você deve anotar suas IDs de conexão de origem e destino, pois esses valores são necessários posteriormente, para publicar seu fluxo de dados.
{
"items": [
{
"id": "a7e88a01-40f9-4ebf-80b2-0fc838ff82ef",
"createdAt": 1728592929650,
"updatedAt": 1728597187444,
"createdBy": "acme@AdobeID",
"updatedBy": "acme@AdobeID",
"createdClient": "exc_app",
"updatedClient": "acme",
"sandboxId": "7f3419ce-53e2-476b-b419-ce53e2376b02",
"sandboxName": "prod",
"imsOrgId": "acme@AdobeOrg",
"name": "Marketo Engage Standard Activities ACME",
"description": "",
"flowSpec": {
"id": "15f8402c-ba66-4626-b54c-9f8e54244d61",
"version": "1.0"
},
"state": "enabled",
"version": "\"600290fc-0000-0200-0000-67084cc30000\"",
"etag": "\"600290fc-0000-0200-0000-67084cc30000\"",
"sourceConnectionIds": [
"56f7eb3a-b544-4eaa-b167-ef1711044c7a"
],
"targetConnectionIds": [
"7e53e6e8-b432-4134-bb29-21fc6e8532e5"
],
"inheritedAttributes": {
"properties": {
"isSourceFlow": true
},
"sourceConnections": [
{
"id": "56f7eb3a-b544-4eaa-b167-ef1711044c7a",
"connectionSpec": {
"id": "bf1f4218-73ce-4ff0-b744-48d78ffae2e4",
"version": "1.0"
},
"baseConnection": {
"id": "0137118b-373a-4c4e-847c-13a0abf73b33",
"connectionSpec": {
"id": "bf1f4218-73ce-4ff0-b744-48d78ffae2e4",
"version": "1.0"
}
}
}
],
"targetConnections": [
{
"id": "7e53e6e8-b432-4134-bb29-21fc6e8532e5",
"connectionSpec": {
"id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
"version": "1.0"
}
}
]
},
"options": {
"isSampleDataflow": false,
"errorDiagnosticsEnabled": true
},
"transformations": [
{
"name": "Mapping",
"params": {
"mappingVersion": 0,
"mappingId": "f6447514ef95482889fac1818972e285"
}
}
],
"runs": "/runs?property=flowId==a7e88a01-40f9-4ebf-80b2-0fc838ff82ef",
"lastOperation": {
"started": 1728592929650,
"updated": 0,
"operation": "create"
},
"lastRunDetails": {
"id": "2d7863d5-ca4d-4313-ac52-2603eaf2cdbe",
"state": "success",
"startedAtUTC": 1728594713537,
"completedAtUTC": 1728597183080
},
"labels": [],
"recordTypes": [
{
"type": "experienceevent",
"extensions": {}
}
]
}
]
}
Recuperar detalhes da conexão de origem
Em seguida, use sua ID de conexão de origem e faça uma solicitação GET ao ponto de extremidade /sourceConnections
para recuperar os detalhes da conexão de origem.
Formato da API
GET /sourceConnections/{SOURCE_CONNECTION_ID}
Parâmetro | Descrição |
---|---|
{SOURCE_CONNECTION_ID} | A ID da conexão de origem que você deseja recuperar. |
Solicitação
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections/56f7eb3a-b544-4eaa-b167-ef1711044c7a' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Resposta
Uma resposta bem-sucedida retorna os detalhes da conexão de origem. Anote a versão, pois você precisará desse valor na próxima etapa para atualizar sua conexão de origem.
{
"items": [
{
"id": "b85b895f-a289-42e9-8fe1-ae448ccc7e53",
"createdAt": 1729634331185,
"updatedAt": 1729634331185,
"createdBy": "acme@AdobeID",
"updatedBy": "acme@AdobeID",
"createdClient": "exc_app",
"updatedClient": "acme",
"sandboxId": "7f3419ce-53e2-476b-b419-ce53e2376b02",
"sandboxName": "prod",
"imsOrgId": "acme@AdobeOrg",
"name": "New Source Connection - 2024-10-23T03:28:50+05:30",
"description": "Source connection created from the workflow",
"baseConnectionId": "fd9f7455-1e23-4831-9283-7717e20bee40",
"state": "draft",
"data": {
"format": "tabular",
"schema": null,
"properties": null
},
"connectionSpec": {
"id": "2d31dfd1-df1a-456b-948f-226e040ba102",
"version": "1.0"
},
"params": {
"columns": [],
"tableName": "Activity"
},
"version": "\"210068a6-0000-0200-0000-6718201b0000\"",
"etag": "\"210068a6-0000-0200-0000-6718201b0000\"",
"inheritedAttributes": {
"baseConnection": {
"id": "fd9f7455-1e23-4831-9283-7717e20bee40",
"connectionSpec": {
"id": "2d31dfd1-df1a-456b-948f-226e040ba102",
"version": "1.0"
}
}
},
"lastOperation": {
"started": 1729634331185,
"updated": 0,
"operation": "draft_create"
}
}
]
}