无法阅读S3TransferUtility,请检查您的setup或awsconfiguration.json文件

时间:2018-03-16 15:36:01

标签: android amazon-s3

我是使用AWS sdk进行视频传输的新手。但是我收到错误“无法阅读S3TransferUtility,请检查您的设置或awsconfiguration.json文件”。这是我的代码。

在我的清单文件中,我有

<service android:name="com.amazonaws.mobileconnectors.s3.transferutility.TransferService" android:enabled="true" />

在我的oncreate中,我正在做这件事。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_upload_post);

    AWSMobileClient.getInstance().initialize(this).execute();

transferUtility =
                TransferUtility.builder()
                        .context(this)
                        .awsConfiguration(AWSMobileClient.getInstance().getConfiguration())
                        .s3Client(new AmazonS3Client(AWSMobileClient.getInstance().getCredentialsProvider()))
                        .build();

}

异常来自.build。我调试了代码,它完全找到位于文件夹中的配置文件,因为我可以在调试中看到数据,但我认为transferutility.TransferService没有运行。有人可以请帮助。感谢名单

3 个答案:

答案 0 :(得分:3)

在项目中添加awsconfiguration.json并更改池ID和区域属性。您可以阅读更多相关信息here

答案 1 :(得分:1)

由于某种原因,自动生成的“ awsconfiguration”文件未包含最重要的部分“ S3TransferUtility ”。因此,您必须手动添加它。 您的“ awsconfiguration.json”文件应如下所示:

{
  "UserAgent": "MobileHub/1.0",
  "Version": "1.0",
  "CredentialsProvider": {
"CognitoIdentity": {
  "Default": {
    "PoolId": "us-east-1:<RANDOM-GUID>",
    "Region": "us-east-1"
  }
}
  },
  "IdentityManager": {
    "Default": {}
  },
  "PinpointAnalytics": {
    "Default": {
      "AppId": "<UNIQUE ID>",
      "Region": "us-east-1"
    }
  },
  "PinpointTargeting": {
    "Default": {
      "Region": "us-east-1"
    }
  },
  "S3TransferUtility": {
    "Default": {
      "Bucket": "<YOUR BUCKET NAME>",
      "Region": "us-east-1"
    }
  }
}

答案 2 :(得分:0)

在我的 awsconfiguration.json 中,添加以下几行,然后开始工作

  "S3TransferUtility": {
    "Default": {
      "Bucket": "<YOUR BUCKET NAME>",
      "Region": "us-east-1"
    }
  }