use of com.amazonaws.athena.connector.lambda.security.FederatedIdentity in project aws-athena-query-federation by awslabs.
the class MetadataRequestDeserializer method doTypedDeserialize.
protected FederationRequest doTypedDeserialize(JsonParser jparser, DeserializationContext ctxt) throws IOException {
assertFieldName(jparser, IDENTITY_FIELD);
FederatedIdentity identity = identityDeserializer.deserialize(jparser, ctxt);
String queryId = getNextStringField(jparser, QUERY_ID_FIELD);
String catalogName = getNextStringField(jparser, CATALOG_NAME_FIELD);
return doRequestDeserialize(jparser, ctxt, identity, queryId, catalogName);
}
use of com.amazonaws.athena.connector.lambda.security.FederatedIdentity in project aws-athena-query-federation by awslabs.
the class BigQueryRecordHandlerTest method init.
@Before
public void init() {
System.setProperty("aws.region", "us-east-1");
logger.info("Starting init.");
federatedIdentity = Mockito.mock(FederatedIdentity.class);
// MockitoAnnotations.initMocks(this);
allocator = new BlockAllocatorImpl();
amazonS3 = mock(AmazonS3.class);
mockS3Client();
// Create Spill config
spillConfig = SpillConfig.newBuilder().withEncryptionKey(encryptionKey).withMaxBlockBytes(100000).withMaxInlineBlockBytes(100).withNumSpillThreads(0).withRequestId(UUID.randomUUID().toString()).withSpillLocation(s3SpillLocation).build();
schemaForRead = new Schema(BigQueryTestUtils.getTestSchemaFieldsArrow());
spillWriter = new S3BlockSpiller(amazonS3, spillConfig, allocator, schemaForRead, ConstraintEvaluator.emptyEvaluator());
spillReader = new S3BlockSpillReader(amazonS3, allocator);
// Mock the BigQuery Client to return Datasets, and Table Schema information.
BigQueryPage<Dataset> datasets = new BigQueryPage<Dataset>(BigQueryTestUtils.getDatasetList(BigQueryTestUtils.PROJECT_1_NAME, 2));
when(bigQuery.listDatasets(any(String.class))).thenReturn(datasets);
BigQueryPage<Table> tables = new BigQueryPage<Table>(BigQueryTestUtils.getTableList(BigQueryTestUtils.PROJECT_1_NAME, "dataset1", 2));
when(bigQuery.listTables(any(DatasetId.class))).thenReturn(tables);
// The class we want to test.
bigQueryRecordHandler = new BigQueryRecordHandler(amazonS3, awsSecretsManager, athena, bigQuery);
logger.info("Completed init.");
}
use of com.amazonaws.athena.connector.lambda.security.FederatedIdentity in project aws-athena-query-federation by awslabs.
the class ExampleRecordHandler method logCaller.
/**
* Demonstrates how you can capture the identity of the caller that ran the Athena query which triggered the Lambda invocation.
*
* @param request
*/
private void logCaller(FederationRequest request) {
FederatedIdentity identity = request.getIdentity();
logger.info("logCaller: account[" + identity.getAccount() + "] arn[" + identity.getArn() + "]");
}
use of com.amazonaws.athena.connector.lambda.security.FederatedIdentity in project aws-athena-query-federation by awslabs.
the class BigQueryMetadataHandlerTest method setUp.
@Before
public void setUp() throws InterruptedException {
System.setProperty("aws.region", "us-east-1");
MockitoAnnotations.initMocks(this);
bigQueryMetadataHandler = new BigQueryMetadataHandler(bigQuery);
blockAllocator = new BlockAllocatorImpl();
federatedIdentity = Mockito.mock(FederatedIdentity.class);
job = mock(Job.class);
jobStatus = mock(JobStatus.class);
when(bigQuery.create(any(JobInfo.class), any())).thenReturn(job);
when(job.waitFor(any())).thenReturn(job);
when(job.getStatus()).thenReturn(jobStatus);
}
use of com.amazonaws.athena.connector.lambda.security.FederatedIdentity in project aws-athena-query-federation by awslabs.
the class ExampleMetadataHandler method logCaller.
/**
* Demonstrates how you can capture the identity of the caller that ran the Athena query which triggered the Lambda invocation.
*
* @param request
*/
private void logCaller(FederationRequest request) {
FederatedIdentity identity = request.getIdentity();
logger.info("logCaller: account[" + identity.getAccount() + "] arn[" + identity.getArn() + "]");
}
Aggregations