尝试使用Cognito(在Android应用中)在s3上托管文件,如下所示:
....
AmazonS3 s3 = new AmazonS3Client(getCredentials(MyActivity.this));
S3Object object = s3.getObject(new GetObjectRequest("mybucket", "myfile"));
....
public static CognitoCachingCredentialsProvider getCredentials(Context ctx)
{
CognitoCachingCredentialsProvider cognitoProvider = new CognitoCachingCredentialsProvider(
ctx,
"us-east-1:xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx", /* Identity Pool ID */
Regions.US_EAST_1 /* Region */
);
return cognitoProvider;
}
显示此错误:
Unable to execute HTTP request: Unable to resolve host "cognito-identity.us-east-1.amazonaws.com": No address associated with hostname
: I/AmazonHttpClient(3427): java.net.UnknownHostException: Unable to resolve host "cognito-identity.us-east-1.amazonaws.com": No address associated with hostname
: I/AmazonHttpClient(3427): at java.net.InetAddress.lookupHostByName(InetAddress.java:400)
: I/AmazonHttpClient(3427): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:242)
可能出错?
答案 0 :(得分:1)
您可能忘记了包含以下权限:
<uses-permission android:name="android.permission.INTERNET" />
有关详细信息,请参阅Set Up the SDK for Android。
答案 1 :(得分:1)
如果未打开手机互联网数据,也会发生此错误。在向云服务发出请求之前,请务必检查设备互联网或数据服务是否已启用/可用。