【问题标题】:Where do you set the credentials configuration for AWS pinpoint in a react native project?在 react native 项目中,您在哪里设置 AWS pinpoint 的凭证配置?
【发布时间】:2019-07-15 21:58:41
【问题描述】:

当我尝试启动我的 react-native 项目时,我收到以下错误: AWSPinpointProvider 记录事件失败:配置中缺少凭证的凭证错误。我还没有使用记录功能,所以我假设这是来自配置功能。我是 react-native 和 AWS pinpoint 的新手,那么我应该在哪里配置凭证?我有一个 ~/.aws/credentials 和 ~/.aws/config 文件,我可以连接到 cognito,它只是导致问题的精确定位。当然,我使用的是 aws amplify。任何帮助将不胜感激。

import { withAuthenticator } from 'aws-amplify-react-native';  
import Auth from '@aws-amplify/auth';
import Analytics from '@aws-amplify/analytics';
import awsconfig from './aws-exports';
Auth.configure(awsconfig);
Analytics.configure(awsconfig);

我希望在 Pinpoint 中看到应用启动等事件。我至少希望它不会让应用崩溃。

【问题讨论】:

  • 你不需要那行Analytics.configure(awsconfig);。删除它 :) PS 查看我写的 this tutorial,我在其中解释了使用 Amplify 进行分析。

标签: react-native aws-amplify aws-pinpoint


【解决方案1】:

首次使用 AWS Amplify 配置您的 React-Native 项目时(即使用命令 “amplify init”),您可能会在终端上看到一个部分:"?您要使用 AWS 配置文件吗?( Y/n )"

*如果您选择 “Y”,则在 “amplify/.config” 文件夹内有一个名为 “local-aws-info.json”的 JSON 文件 将在从中获取您的凭据的位置创建。对于此选项,此 “local-aws-info.json” 文件的结构将类似于以下内容:

{
    "dev": {
        "configLevel": "project",
        "useProfile": true,
        "profileName": "syumaK"
    }
}

对于此选项,amplify 将在配置 awscli 时使用指定的 AWS 配置文件。

如果您选择“n”,系统会提示您输入您的“access-key” “密钥” & “区域”。在 “amplify/.config” 文件夹中,将创建一个名为 “local-aws-info.json” 的 JSON 文件,从中获取您的凭据。对于此选项,此 “local-aws-info.json” 文件的结构将类似于以下内容:

{
    "dev": {
        "configLevel": "project",
        "useProfile": false,
        "awsConfigFilePath": "/Users/syumaK/.amplify/awscloudformation/AjWphtMBs0"
    }
}

此外,我的 "App.js" 文件导入语句如下所示:

import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { withAuthenticator } from 'aws-amplify-react-native';
import Amplify from '@aws-amplify/core';
import { Analytics } from 'aws-amplify'; 
import aws_exports from './aws-exports'; 
Amplify.configure(aws_exports); Analytics.configure(aws_exports);
window.LOG_LEVEL = 'DEBUG';

我已经使用以下环境规范测试了上述建议:

  • 操作系统:Mac High Sierra v10.13.6
  • “aws-amplify”:“^1.1.28”
  • “aws-amplify-react-native”:“^2.1.12”
  • “反应”:“16.8.3” “反应原生”:“0.59.9”

【讨论】:

    【解决方案2】:

    查看调试日志后,这是由于您的身份验证配置不允许未经身份验证使用您的应用造成的。一种解决方法是在放大 cli 中设置您的身份验证以允许未经身份验证的使用和使用,例如,withAuthenticator hoc 不允许在没有身份验证的情况下进入您的应用程序。

    【讨论】:

      猜你喜欢
      • 2018-03-28
      • 2010-09-13
      • 1970-01-01
      • 2018-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多