使用 AWS CloudFront 和 Android
Using AWS CloudFront and Android
对于我正在进行的项目,我需要从 AWS S3 在 Android 上使用视频。
我正在使用带有签名 url 的私人文件访问。
一切正常,但视频流初始化时间很长(可能 6-10 秒)。
我正在尝试合并 CloudFront 以帮助更快地提供内容。
我已经在 AWS 控制台上创建了我的 'Distribution' 并将适当的字段设置为私人内容等..
我一直在生成正确的 url,以便从 CloudFront 而不是 S3 使用文件。
我似乎没有找到关于 CloudFront + Android 的任何文档,也没有找到任何 gradle 依赖项。
我发现的在线资源指向 Java 依赖于 CloudFrontUrlSigner class (它只包含在 Java SDK 中,而不是 AndroidSDK)
所以我尝试在我的 app.gradle 文件上使用 compile 'com.amazonaws:aws-java-sdk-cloudfront:1.10.+'
并且我可以 'complete' 指南,但是我遇到构建时错误。
我怎样才能做到这一点?
谢谢,大卫。
如果您计划在 Android 上通过 CloudFront 访问私人内容,这会有点棘手。您需要使用私钥对网址进行签名。参见 http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-trusted-signers.html. However, this is usually considered a risk on mobile platform as you need to deploy the key to your app. It's the main reason that CloudFrontUrlSigner is unavailable to the AWS Android SDK. I suggest to create your own backend which can vend a CloudFront url and send to your app. Here is the code that signs urls https://github.com/aws/aws-sdk-java/blob/master/aws-java-sdk-cloudfront/src/main/java/com/amazonaws/services/cloudfront/CloudFrontUrlSigner.java。
对于我正在进行的项目,我需要从 AWS S3 在 Android 上使用视频。
我正在使用带有签名 url 的私人文件访问。 一切正常,但视频流初始化时间很长(可能 6-10 秒)。
我正在尝试合并 CloudFront 以帮助更快地提供内容。 我已经在 AWS 控制台上创建了我的 'Distribution' 并将适当的字段设置为私人内容等..
我一直在生成正确的 url,以便从 CloudFront 而不是 S3 使用文件。
我似乎没有找到关于 CloudFront + Android 的任何文档,也没有找到任何 gradle 依赖项。
我发现的在线资源指向 Java 依赖于 CloudFrontUrlSigner class (它只包含在 Java SDK 中,而不是 AndroidSDK)
所以我尝试在我的 app.gradle 文件上使用 compile 'com.amazonaws:aws-java-sdk-cloudfront:1.10.+'
并且我可以 'complete' 指南,但是我遇到构建时错误。
我怎样才能做到这一点?
谢谢,大卫。
如果您计划在 Android 上通过 CloudFront 访问私人内容,这会有点棘手。您需要使用私钥对网址进行签名。参见 http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-trusted-signers.html. However, this is usually considered a risk on mobile platform as you need to deploy the key to your app. It's the main reason that CloudFrontUrlSigner is unavailable to the AWS Android SDK. I suggest to create your own backend which can vend a CloudFront url and send to your app. Here is the code that signs urls https://github.com/aws/aws-sdk-java/blob/master/aws-java-sdk-cloudfront/src/main/java/com/amazonaws/services/cloudfront/CloudFrontUrlSigner.java。