簡體   English   中英

如何通過aws cli在組織的Cloudfront實例中部署lambda @ edge代碼?

[英]How can I deploy lambda@edge code in an organisation's Cloudfront instances via aws cli?

由我們團隊的另一名成員建立的一些AWS存儲桶前面有一個Cloudfront發行版。

我有一些針對lambda @ edge的node.js代碼來重寫請求。

我的問題是如何使用aws命令行工具將其部署到這些存儲桶的Cloudfront中?

我認為,這需要

  1. 要求燙發扮演角色;
  2. 將功能部署到可以使用的地方(而不只是我的帳戶);
  3. 建立角色/信任關系;
  4. 在Cloudfront中創建行為;
  5. 並將功能與“查看器請求”事件相關聯。

我還沒有找到任何連貫的文檔或如何執行所有這些操作的示例,更不用說使用aws工具了。

照原樣,盡管我可以通過命令行列出s3存儲桶的內容,但在通過網站登錄時卻看不到Cloudfront或S3存儲桶。 (我不確定如何通過命令行訪問Cloudfront)。

如果您在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。

鏈接到AWS Dev Guide以編程lambda @ edge

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM