2020-08-31 19:55发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我已经为我的内容配置了S3媒体存储策略。 在s3中初始化其生成的数据。 现在如何为S3媒体网址策略实现Cloudfront? 这样我的内容就可以从Cloudfront投放。
实施CloudFront URL策略非常容易。 设置Hybris以正常方式使用S3媒体存储,并根据需要将CloudFront分发配置为通过签名或未签名的URL来提供存储桶的内容。
然后,您需要编写一个新的自定义类-CloudFrontMediaUrlStrategy。 如果您不需要签名的URL,则代码应该非常简单:
字符串distributionDomain = config.getParameter(" url.domain"); 最终的字符串位置= HttpUtils.urlEncode(media.getLocation(),true); url =" https://" + distributionDomain +"/" +位置; 返回网址;
然后您可以像这样配置存储桶:
(...这里通常的S3媒体存储属性...) media.folder.myfolder.url.strategy = cloudFrontMediaURLStrategy media.folder.myfolder.url.domain = mydistribution.cloudfront.net media.folder.myfolder.url.signed = false
如果您需要签名的URL,那就更麻烦了。 向您的自定义扩展添加依赖项到AWS Java SDK-CloudFront组件:
com.amazonaws aws-java-sdk-cloudfront $ {aws.version}
(对于我的Hybris版本,我使用了与amazoncloud扩展名相同的aws.version)
然后,您基本上需要调用CloudFrontUrlSigner.getSignedURLWithCannedPolicy()(如果需要自定义策略,则可以调用其他功能之一)以生成URL。 查看API文档以了解更多信息。
您需要在存储桶配置中添加一些额外的参数,以便获得必要的信息,并从URL策略类中访问这些参数:
media.folder.myfolder.url.signed = true media.folder.myfolder.url.signed.keypair = mycloudfrontkeypairid media.folder.myfolder.url.signed.keyfile =/path/to/cloudfront/signer/private/key.pem media.folder.myfolder.url.signed.validFor = 30#该网址有效的时间(以分钟为单位)
请注意6.7之前的url.signed.validFor属性存在错误-您需要在Spring配置中实施小修正或使用其他属性名称。
没有将CloudFront集成到hybris平台环境中的默认解决方案。
最多设置5个标签!
实施CloudFront URL策略非常容易。 设置Hybris以正常方式使用S3媒体存储,并根据需要将CloudFront分发配置为通过签名或未签名的URL来提供存储桶的内容。
然后,您需要编写一个新的自定义类-CloudFrontMediaUrlStrategy。 如果您不需要签名的URL,则代码应该非常简单:
然后您可以像这样配置存储桶:
如果您需要签名的URL,那就更麻烦了。 向您的自定义扩展添加依赖项到AWS Java SDK-CloudFront组件:
(对于我的Hybris版本,我使用了与amazoncloud扩展名相同的aws.version)
然后,您基本上需要调用CloudFrontUrlSigner.getSignedURLWithCannedPolicy()(如果需要自定义策略,则可以调用其他功能之一)以生成URL。 查看API文档以了解更多信息。
您需要在存储桶配置中添加一些额外的参数,以便获得必要的信息,并从URL策略类中访问这些参数:
请注意6.7之前的url.signed.validFor属性存在错误-您需要在Spring配置中实施小修正或使用其他属性名称。
没有将CloudFront集成到hybris平台环境中的默认解决方案。
一周热门 更多>