我们的另一个团队在我们的某些AWS存储桶的前面有一个Cloudfront发行版。
我有一些针对lambda @ edge的node.js代码来重写请求。
我的问题是如何使用aws命令行工具将其部署到这些存储桶的Cloudfront中?
我认为,这将需要
我还没有找到任何连贯的文档或如何执行所有这些操作的示例,更不用说使用aws工具了。
按原样,尽管我可以通过命令行列出s3存储桶内容,但是当我通过网站登录时却看不到Cloudfront或S3存储桶。 (我不确定如何通过命令行访问Cloudfront。)
答案 0 :(得分:1)
如果您的功能已部署在Lambda中,则应将其添加到CloudFront分布配置的“ LambdaFunctionAssociations”元素中,然后使用update-distribution CLI命令更新配置,例如:
aws cloudfront update-distribution --id C123456789 --distribution-config file://local/path/to/distrib-config.json
id是您的发行版ID
如果要获取当前的CloudFront分配配置,可以执行aws cloudfront get-distribution-config --id C123456789
如果您要首先创建函数,则aws lambda create-function
将返回创建的函数ARN以传递到配置中。 https://docs.aws.amazon.com/cli/latest/reference/lambda/create-function.html
当您说“只为我的账户”时,是指一个单独的AWS账户,还是要在与CloudFront分布和S3存储桶相同的AWS账户中使用IAM用户?听起来您的AWS Console用户不同于在aws cli中设置了访问密钥的用户。 aws cloudfront list-distributions
将让您通过命令行查看CloudFront。