|
| 1 | +CREATE MATERIALIZED VIEW {table_name}_mview AS |
| 2 | +SELECT |
| 3 | + rec.userIdentity.type AS `aws.cloudtrail.userIdentity.type`, |
| 4 | + rec.userIdentity.principalId AS `aws.cloudtrail.userIdentity.principalId`, |
| 5 | + rec.userIdentity.arn AS `aws.cloudtrail.userIdentity.arn`, |
| 6 | + rec.userIdentity.accountId AS `aws.cloudtrail.userIdentity.accountId`, |
| 7 | + rec.userIdentity.invokedBy AS `aws.cloudtrail.userIdentity.invokedBy`, |
| 8 | + rec.userIdentity.accessKeyId AS `aws.cloudtrail.userIdentity.accessKeyId`, |
| 9 | + rec.userIdentity.userName AS `aws.cloudtrail.userIdentity.userName`, |
| 10 | + rec.userIdentity.sessionContext.attributes.mfaAuthenticated AS `aws.cloudtrail.userIdentity.sessionContext.attributes.mfaAuthenticated`, |
| 11 | + CAST(rec.userIdentity.sessionContext.attributes.creationDate AS TIMESTAMP) AS `aws.cloudtrail.userIdentity.sessionContext.attributes.creationDate`, |
| 12 | + rec.userIdentity.sessionContext.sessionIssuer.type AS `aws.cloudtrail.userIdentity.sessionContext.sessionIssuer.type`, |
| 13 | + rec.userIdentity.sessionContext.sessionIssuer.principalId AS `aws.cloudtrail.userIdentity.sessionContext.sessionIssuer.principalId`, |
| 14 | + rec.userIdentity.sessionContext.sessionIssuer.arn AS `aws.cloudtrail.userIdentity.sessionContext.sessionIssuer.arn`, |
| 15 | + rec.userIdentity.sessionContext.sessionIssuer.accountId AS `aws.cloudtrail.userIdentity.sessionContext.sessionIssuer.accountId`, |
| 16 | + rec.userIdentity.sessionContext.sessionIssuer.userName AS `aws.cloudtrail.userIdentity.sessionContext.sessionIssuer.userName`, |
| 17 | + rec.userIdentity.sessionContext.ec2RoleDelivery AS `aws.cloudtrail.userIdentity.sessionContext.ec2RoleDelivery`, |
| 18 | + |
| 19 | + rec.eventVersion AS `aws.cloudtrail.eventVersion`, |
| 20 | + CAST(rec.eventTime AS TIMESTAMP) AS `@timestamp`, |
| 21 | + rec.eventSource AS `aws.cloudtrail.eventSource`, |
| 22 | + rec.eventName AS `aws.cloudtrail.eventName`, |
| 23 | + rec.eventCategory AS `aws.cloudtrail.eventCategory`, |
| 24 | + rec.eventType AS `aws.cloudtrail.eventType`, |
| 25 | + rec.eventId AS `aws.cloudtrail.eventId`, |
| 26 | + |
| 27 | + rec.awsRegion AS `aws.cloudtrail.awsRegion`, |
| 28 | + rec.sourceIPAddress AS `aws.cloudtrail.sourceIPAddress`, |
| 29 | + rec.userAgent AS `aws.cloudtrail.userAgent`, |
| 30 | + rec.errorCode AS `errorCode`, |
| 31 | + rec.errorMessage AS `errorMessage`, |
| 32 | + rec.requestParameters AS `aws.cloudtrail.requestParameter`, |
| 33 | + rec.responseElements AS `aws.cloudtrail.responseElements`, |
| 34 | + rec.additionalEventData AS `aws.cloudtrail.additionalEventData`, |
| 35 | + rec.requestId AS `aws.cloudtrail.requestId`, |
| 36 | + rec.resources AS `aws.cloudtrail.resources`, |
| 37 | + rec.apiVersion AS `aws.cloudtrail.apiVersion`, |
| 38 | + rec.readOnly AS `aws.cloudtrail.readOnly`, |
| 39 | + rec.recipientAccountId AS `aws.cloudtrail.recipientAccountId`, |
| 40 | + rec.serviceEventDetails AS `aws.cloudtrail.serviceEventDetails`, |
| 41 | + rec.sharedEventId AS `aws.cloudtrail.sharedEventId`, |
| 42 | + rec.vpcEndpointId AS `aws.cloudtrail.vpcEndpointId`, |
| 43 | + rec.tlsDetails.tlsVersion AS `aws.cloudtrail.tlsDetails.tls_version`, |
| 44 | + rec.tlsDetails.cipherSuite AS `aws.cloudtrail.tlsDetailscipher_suite`, |
| 45 | + rec.tlsDetails.clientProvidedHostHeader AS `aws.cloudtrail.tlsDetailsclient_provided_host_header` |
| 46 | +FROM |
| 47 | + {table_name} |
| 48 | + LATERAL VIEW explode(Records) myTable AS rec |
| 49 | +WITH ( |
| 50 | + auto_refresh = true, |
| 51 | + checkpoint_location = '{s3_checkpoint_location}', |
| 52 | + watermark_delay = '1 min', |
| 53 | + extra_options = '{ "{table_name}": { "maxFilesPerTrigger": "10" }}' |
| 54 | +) |
0 commit comments