首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从数据源导入数据的quicksight数据集问题,以及使用createDataSet api创建的摄入问题数据集

无法从数据源导入数据的quicksight数据集问题,以及使用createDataSet api创建的摄入问题数据集
EN

Stack Overflow用户
提问于 2020-06-08 15:11:00
回答 1查看 1.1K关注 0票数 0
代码语言:javascript
复制
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)));

这是我用来在quicksight中创建dataSource的代码

代码语言:javascript
复制
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)));

这是在QuickSight中创建数据集的代码,当我同时使用这两个API时,那么问题就产生了,数据集无法从数据集中导入数据集,或者导入总是失败的。

也是

创建数据集后是否必须使用createIngestion API?如果是,那我该怎么用呢?

EN

回答 1

Stack Overflow用户

发布于 2021-01-08 08:24:27

您需要确保数据源是实际创建的,并且具有状态:"CREATION_SUCCESSFUL".

您可以通过使用DescribeDataSourceRequest并从结果中获得:

describeDataSourceResult.getDataSource().getStatus()

上面的SDK调用是针对JavaV1.API的。

对于v.2 API也应该是类似的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62265235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档