0

我想构建一个应用程序,任何用户都可以来直接上传文件并获取分析报告。应用程序中的用户不必担心创建分析,他所要做的只是上传数据。我试图用 SDK 来做到这一点,但我无法达到任何目的。

这就是我尝试创建 s3 数据源的方式。

const { QuickSightClient, CreateDataSetCommand, CreateDataSourceCommand } = require("@aws-sdk/client-quicksight");
const { CognitoIdentityClient } = require("@aws-sdk/client-cognito-identity");
const { fromCognitoIdentityPool } = require("@aws-sdk/credential-provider-cognito-identity");
 
console.log("Checking...")
 
const client = new QuickSightClient({ 
    region: "us-east-2", 
    credentials: fromCognitoIdentityPool({
        client:new CognitoIdentityClient({region:'us-east-2'}),
        identityPoolId: 'us-east-2:.........................'
    }) 
});
 
const params = {
    AwsAccountId:'............',
    DataSourceId: 'aws-sdk-412021',
    Name: 'demo-s3.csv',
    Type: 'S3'
}
 

 
const uploadFile = async()=> {
        const data = await client.send(
            new CreateDataSourceCommand(params, (err,data) => {
                if(err) alert(err)
                else{
                    console.log(data)
                }
            })
        )
        alert("success")
}

 
uploadFile();
 

我得到的错误:

CORS 策略已阻止从源“null”访问“https://quicksight.us-east-2.amazonaws.com/accounts/.../data-sources”获取:对预检请求的响应不通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。

{消息:缺少身份验证令牌}

4

0 回答 0