AWS 放大。使用现有资源
AWS Amplify. Use existing resources
我已遵循教程:
https://aws-amplify.github.io/docs/android/start?ref=amplify-android-btn
将 AWS S3 与我的 android 应用程序集成。
我可以下载文件,一切正常。
我注意到当我创建一个环境时,它会创建一个新的存储桶,我不想创建一个新的存储桶,我想使用现有的存储桶。
我试过更换 awsconfiguration.json
中的桶。但是没用。
"S3TransferUtility": {
"Default": {
"Bucket": "somebucket",
"Region": "us-east-1"
}
}
AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: <ID>)
我不想创建新的存储桶,我希望能够访问在其他应用程序之间共享对象的装箱存储桶。
我解决了。对于任何感兴趣的人。
用于使用现有存储桶,而不创建带放大的环境。我唯一做的就是在 raw
文件夹中手动添加文件 awsconfiguration.json
。我不使用放大。
所以,我的 awsconfiguration.json
看起来像:
{
"Version": "1.0",
"IdentityManager": {
"Default": {}
},
"CredentialsProvider": {
"CognitoIdentity": {
"Default": {
"PoolId": "cognito-pool-id",
"Region": "region"
}
}
},
"S3TransferUtility": {
"Default": {
"Bucket": "somebucket",
"Region": "region"
}
}
}
为了从 S3 下载对象,我 TransferUtility
是这样的:
val transferUtility = TransferUtility.builder()
.context(context)
.awsConfiguration(AWSMobileClient.getInstance().configuration)
.s3Client(getAmazonS3Client())
.build()
private fun getAmazonS3Client(): AmazonS3Client{
if (amazonS3Client == null) {
amazonS3Client = AmazonS3Client(
CognitoCachingCredentialsProvider(
context,
BuildConfig.S3_POOL_ID,
Regions.US_EAST_2
),
Region.getRegion(Regions.US_EAST_2)
)
}
return amazonS3Client!!
}
我已遵循教程:
https://aws-amplify.github.io/docs/android/start?ref=amplify-android-btn
将 AWS S3 与我的 android 应用程序集成。
我可以下载文件,一切正常。
我注意到当我创建一个环境时,它会创建一个新的存储桶,我不想创建一个新的存储桶,我想使用现有的存储桶。
我试过更换 awsconfiguration.json
中的桶。但是没用。
"S3TransferUtility": {
"Default": {
"Bucket": "somebucket",
"Region": "us-east-1"
}
}
AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: <ID>)
我不想创建新的存储桶,我希望能够访问在其他应用程序之间共享对象的装箱存储桶。
我解决了。对于任何感兴趣的人。
用于使用现有存储桶,而不创建带放大的环境。我唯一做的就是在 raw
文件夹中手动添加文件 awsconfiguration.json
。我不使用放大。
所以,我的 awsconfiguration.json
看起来像:
{
"Version": "1.0",
"IdentityManager": {
"Default": {}
},
"CredentialsProvider": {
"CognitoIdentity": {
"Default": {
"PoolId": "cognito-pool-id",
"Region": "region"
}
}
},
"S3TransferUtility": {
"Default": {
"Bucket": "somebucket",
"Region": "region"
}
}
}
为了从 S3 下载对象,我 TransferUtility
是这样的:
val transferUtility = TransferUtility.builder()
.context(context)
.awsConfiguration(AWSMobileClient.getInstance().configuration)
.s3Client(getAmazonS3Client())
.build()
private fun getAmazonS3Client(): AmazonS3Client{
if (amazonS3Client == null) {
amazonS3Client = AmazonS3Client(
CognitoCachingCredentialsProvider(
context,
BuildConfig.S3_POOL_ID,
Regions.US_EAST_2
),
Region.getRegion(Regions.US_EAST_2)
)
}
return amazonS3Client!!
}