问题
ArrayList<ResourcePermission> permissions=new ArrayList<>();
ArrayList<String> action= new ArrayList<>();
action.add("quicksight:UpdateDataSourcePermissions");
action.add("quicksight:DescribeDataSource");
action.add("quicksight:DescribeDataSourcePermissions");
action.add("quicksight:PassDataSource");
action.add("quicksight:UpdateDataSource");
action.add("quicksight:DeleteDataSource");
permissions.add(new ResourcePermission().withPrincipal(PrincipalArn).withActions(action));
return(getClient().createDataSource(new CreateDataSourceRequest().withDataSourceId(DataSourceId).withAwsAccountId(AwsAccountID).withName(DataSourceName).withType(DataSourceType.S3)
.withDataSourceParameters(new DataSourceParameters().withS3Parameters(new S3Parameters().withManifestFileLocation(new ManifestFileLocation().withBucket(Bucket_Name).withKey(ManifestFileName)))).withPermissions(permissions)));
This is code which I am using for creating a dataSource in quicksight
Map<String, PhysicalTable> physicalTableMap=new HashMap<String, PhysicalTable>();
ArrayList<InputColumn> collection =new ArrayList<>();
PhysicalTable physicalTable=new PhysicalTable().withS3Source(new S3Source().withDataSourceArn(DataSourceArn).withInputColumns(collection).withUploadSettings(new UploadSettings().withContainsHeader(false)));
physicalTableMap.put("string",physicalTable);
ArrayList<ResourcePermission> permissions=new ArrayList<>();
ArrayList<String> action=new ArrayList<>();
action.add("quicksight:UpdateDataSetPermissions");
action.add("quicksight:DescribeDataSet");
action.add("quicksight:DescribeDataSetPermissions");
action.add("quicksight:PassDataSet");
action.add("quicksight:DescribeIngestion");
action.add("quicksight:ListIngestions");
action.add("quicksight:UpdateDataSet");
action.add("quicksight:DeleteDataSet");
action.add("quicksight:CreateIngestion");
action.add("quicksight:CancelIngestion");
permissions.add(new ResourcePermission().withPrincipal(PrincipalArn).withActions(action));
return(getClient().createDataSet(new CreateDataSetRequest().withAwsAccountId(AwsAccountID).withDataSetId(DataSetId).withName(DataSetName).withPhysicalTableMap(physicalTableMap).withImportMode(DataSetImportMode.SPICE).withPermissions(permissions)));
this is code for creating data set in QuickSight when I use both of this API simultaneously then problem is created data set is not able to import data from dataset or import always failed
also
do i have to use createIngestion API after creating dataset? if yes then how should i use?
来源:https://stackoverflow.com/questions/62265235/issue-with-quicksight-data-set-unable-to-import-data-from-data-source-and-also-i