Javascript 尝试使用存储时出现无凭据错误。put()

Javascript 尝试使用存储时出现无凭据错误。put(),javascript,amazon-web-services,amplify,Javascript,Amazon Web Services,Amplify,当我尝试将文件放入存储器时,出现无凭据错误。我遵循以下指南: 我用这段代码来测试 这是我对放大和存储的手动配置: import Storage from '@aws-amplify/storage'; export function configureAmplify() { Amplify.configure({ Auth: { identityPoolId: process.env.REACT_APP_identityPoolId,

当我尝试将文件放入存储器时,出现
无凭据错误
。我遵循以下指南:

我用这段代码来测试

这是我对放大和存储的手动配置:

import Storage from '@aws-amplify/storage';

export function configureAmplify() {
    Amplify.configure({
        Auth: {
            identityPoolId: process.env.REACT_APP_identityPoolId,
            region: process.env.REACT_APP_region,
            userPoolId: process.env.REACT_APP_userPoolId,
            userPoolWebClientId: process.env.REACT_APP_userPoolWebClientId
        },
        Storage: {
            bucket: process.env.REACT_APP_bucket_name,
            region: process.env.REACT_APP_region,
            identityPoolId: process.env.REACT_APP_identityPoolId
        }
    });
}

export function SetS3Config(bucket, level) {
    Storage.configure({
        bucket: bucket,
        level: level,
        region: 'eu-west-1',
        identityPoolId: process.env.REACT_APP_identityPoolId
    });
}
所以, 我把解决这个问题的步骤放在这里

步骤1:

如果您试图在未登录web应用程序的情况下上载文件,则放大和存储的手动配置应如下所示:

import Storage from '@aws-amplify/storage';

export function configureAmplify() {
    Amplify.configure({
        Auth: {
            identityPoolId: process.env.REACT_APP_identityPoolId,
            region: process.env.REACT_APP_region,
            userPoolId: process.env.REACT_APP_userPoolId,
            mandatorySignIn: false,
            userPoolWebClientId: process.env.REACT_APP_userPoolWebClientId
        },
        Storage: {
            bucket: process.env.REACT_APP_bucket_name,
            region: process.env.REACT_APP_region,
            identityPoolId: process.env.REACT_APP_identityPoolId
        }
    });
}
这一行:

mandatorySignIn: false
这可以防止强制用户身份验证进入您的应用程序,您的Cognito身份将通过该身份识别您并为您提供对AWS资源的访问

如果仍然收到错误,请尝试以下操作:

步骤2:

  • npm更新
  • 删除节点模块文件夹中的@aws amplify文件夹
  • npm安装

  • 我希望这能起作用。

    您是否设置了Cognito用户池和Cognito标识池?是的,并将Cognito用户池添加到标识池中的身份验证提供程序中?您是否登录web应用程序,然后调用put函数,还是未登录?未登录?这是一个生成错误?
    mandatorySignIn: false