jake
06/22/2023, 11:15 PMjake
06/22/2023, 11:16 PMjake
06/22/2023, 11:31 PMuser
06/26/2023, 3:37 PMmeltano invoke tap-pardot > output.json
then inspect the records, see the spec docs for details on the records themselves https://hub.meltano.com/singer/spec. Make sure the id property is in the schema and record messages
2. You can also try deselecting that visitor activities stream to see if the rest of your streams work, which would isolate the bad stream.
Its hard to tell right now but my gut says this sounds like its probably a tap issue and not a target issuejake
06/26/2023, 8:20 PM{
"nextPageToken": null,
"nextPageUrl": null,
"values": [
{
"id": 17778405,
"campaignId": 87445,
"createdAt": "2022-08-31T22:24:32-07:00",
"customRedirectId": null,
"details": "N2E Test Form - R&L",
"emailId": null,
"emailTemplateId": null,
"fileId": null,
"formHandlerId": null,
"formId": 2398,
"landingPageId": null,
"listEmailId": null,
"multivariateTestVariationId": null,
"opportunityId": null,
"paidSearchAdId": null,
"prospectId": 31170486,
"siteSearchQueryId": null,
"type": 2,
"typeName": "Form",
"updatedAt": "2022-08-31T22:25:09-07:00",
"visitId": null,
"visitorId": 1500660,
"visitorPageViewId": null
},
{
"id": 17778621,
"campaignId": 87445,
"createdAt": "2022-08-31T22:25:09-07:00",
"customRedirectId": null,
"details": "N2E Test Form - R&L",
"emailId": null,
"emailTemplateId": null,
"fileId": null,
"formHandlerId": null,
"formId": 2398,
"landingPageId": null,
"listEmailId": null,
"multivariateTestVariationId": null,
"opportunityId": null,
"paidSearchAdId": null,
"prospectId": 31170486,
"siteSearchQueryId": null,
"type": 4,
"typeName": "Form",
"updatedAt": "2022-08-31T22:25:09-07:00",
"visitId": null,
"visitorId": 1500660,
"visitorPageViewId": null
},
{
"id": 17780790,
"campaignId": 87445,
"createdAt": "2022-08-31T22:33:01-07:00",
"customRedirectId": null,
"details": "N2E Test Form - Software",
"emailId": null,
"emailTemplateId": null,
"fileId": null,
"formHandlerId": null,
"formId": 2395,
"landingPageId": null,
"listEmailId": null,
"multivariateTestVariationId": null,
"opportunityId": null,
"paidSearchAdId": null,
"prospectId": 31170486,
"siteSearchQueryId": null,
"type": 2,
"typeName": "Form",
"updatedAt": "2022-08-31T22:33:32-07:00",
"visitId": null,
"visitorId": 1501005,
"visitorPageViewId": null
},
{
"id": 17780940,
"campaignId": 87445,
"createdAt": "2022-08-31T22:33:32-07:00",
"customRedirectId": null,
"details": "N2E Test Form - Software",
"emailId": null,
"emailTemplateId": null,
"fileId": null,
"formHandlerId": null,
"formId": 2395,
"landingPageId": null,
"listEmailId": null,
"multivariateTestVariationId": null,
"opportunityId": null,
"paidSearchAdId": null,
"prospectId": 31170486,
"siteSearchQueryId": null,
"type": 4,
"typeName": "Form",
"updatedAt": "2022-08-31T22:33:32-07:00",
"visitId": null,
"visitorId": 1501005,
"visitorPageViewId": null
}
]
}
but i'm trying to get it so that each value is it's own record...otherwise i'm always going to just get 1 record...user
06/26/2023, 9:00 PMpat_nadolny
06/26/2023, 9:02 PMjake
06/26/2023, 9:22 PMmeltano invoke my-tap > restults.txt
and in the tap i defined the schema to be exactly what i get from the api:
{
"$schema": "<http://json-schema.org/draft-07/schema#>",
"type": "object",
"properties": {
"nextPageToken": {
"type": ["null", "string"],
"description": "Token for retrieving the next page of results."
},
"nextPageUrl": {
"type": ["null", "string"],
"description": "URL for retrieving the next page of results."
},
"values": {
"type": "array",
"items": {
"type": "object",
"properties": {
"campaignId": {
"type": "integer",
"description": "Account Engagement ID for the associated campaign."
},
"campaign": {
"type": "object",
"description": "Object representing the campaign related to this object. See documentation for Campaign for fields."
},
etc.
etc.
am i supposed bring it in like this, and then transform it to only output the values
key? i'm assuming that i would need the first two for any pagination, so kinda confused about that.
but mostly, trying to understand if the schema i use on the tap is being used by the target? meaning, it validates the the source data, and then has to be used by the target as well to create the tables in the target db?jake
06/26/2023, 9:27 PMInline Data Mapping
Meltano gives you the flexibility to alter data passing through your EL pipelines to do precisely what you need for your use case. Although commonly users want to replicate their data in the most raw format, using ELT vs ETL, there are many use cases that require minor alterations to data on the fly. This is where mappers, also referred to as inline stream maps, shine!
<https://docs.meltano.com/guide/mappers>
i assumed im supposed to keep it as is because it says users replicate it in the most raw format, and then meltano would be able to figure out the values. but now im thinking that's not the case and i should parse it as you say to remove the values? but if i do that then do i create a new schema for the target somehow?user
06/26/2023, 9:49 PMcampaignId
, campaign
, etc. It might be helpful for you to check out a couple examples from https://github.com/MeltanoLabs, I think https://github.com/MeltanoLabs/tap-gmail is a relatively simple REST example but check out others toouser
06/26/2023, 9:52 PMjake
06/26/2023, 9:56 PMparse_response
method whatever i'm trying to extract for each row?jake
06/26/2023, 9:58 PMrecords_jsonpath = "$.values[*]"
and it returned a bunch of records...so i guess i can still extract the pagination stuff, while leaving the schema to not include it right?user
06/27/2023, 11:39 PM