Forum Discussion
@ptaylor It’s possible I’m misunderstanding what the token is and how to get it, but my current understanding is that we need to get an AWS STS Token using either the AWS CLI or SDK. I’m basing my statement on what is in this documentation: get-session-token — AWS CLI 1.27.51 Command Reference
This duration can range from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours), with a default of 43,200 seconds (12 hours).
Can you point me in the right direction on how to get a token (how you’re doing it so there isn’t a time-based limitation) so we can use the Bulk Load snap?
My apologies. I misunderstood. Some AWS resources like S3 buckets can be accessed with just an Access Key and Secret, which are long term credentials, depending on the security policies configured for that resource. But others may require an STS Token as well, which is temporary. It looks like our Redshift Bulk Load does require an STS Token when not using an IAM Role.
Let me see if I can bring attention to your question from someone who knows more about this topic than I do.
I think you can do this with a Mapper since the “Target Path” is a JSON-Path. Using a path with some wildcards (
*
), you can spread thequiz_id
value across all the questions. Here’s a suggested Mapper configuration:The first row copies the
quiz_id
to all of the categories (e.g. “sports”) and then the questions (e.g. “q1” and “q2”). Since I set the Mapper to pass through the input doc, the second row deletesquiz_id
from the input.Community7038_2020_03_09.slp (3.8 KB)
Thanks a lot @tstack it worked great.
below is the actual case which I wanted to implement using this logic but it doesn’t seem to be working
Scenario to be implemented:
with reference to JSON payload (refer attached pipeline), the item array has field “lineItemId”, this field i need to be mapped inside AccountingCodingBlockAssignment below ProductRecipientPartyInternalID field.
here if for same lineItemId, there are more then one objects under AccountingCodingBlockAssignment, then it should map respective the “lineItemId” below each objects ProductRecipientPartyInternalID field.i have kept one expected json snap in pipeline for better understanding, archiving this would help us to design desired complex mappings.
Hi,
I have developed logic to archive this through JavaScript, can anyone help me to translate it in snaplogic expression language ? (newPayload is created by passing the actual payload)
let itemlen = newPayload.PurchaseOrderERPRequest_V1.PurchaseOrder.item.length;
for (i = 0; i < itemlen; i++) {
let BlockAssignmentlen = newPayload.PurchaseOrderERPRequest_V1.PurchaseOrder.item[i].AccountingCodingBlockDistribution.AccountingCodingBlockAssignment.length
for (j = 0; j < BlockAssignmentlen; j++) {
newPayload.PurchaseOrderERPRequest_V1.PurchaseOrder.item[i].AccountingCodingBlockDistribution.AccountingCodingBlockAssignment[j][“lineItemId”] = newPayload.PurchaseOrderERPRequest_V1.PurchaseOrder.item[i].lineItemId
}
};In a nutshell want to know the functions/snaps which can be used in snaplogic to archive this.
Thanks
Related Content
- 4 years ago
- 11 months ago