【问题标题】:How to download AWS Lambda Layer如何下载 AWS Lambda 层
【发布时间】:2019-06-16 05:40:34
【问题描述】:

是否可以使用 AWS CLI 下载 Lambda 层?

我看过这个记录在案的命令。 https://docs.aws.amazon.com/lambda/latest/dg/API_GetLayerVersion.html

但是当我尝试用下面的东西运行它时。

aws lambda get-layer-version --layer-name arn:aws:lambda:us-east-1:209497400698:layer:php-73 --version-number 7

我收到此错误。

调用时发生错误(InvalidParameterValueException) GetLayerVersion 操作:无效的图层名称: arn:aws:lambda:us-east-1:209497400698:layer:php-73

是否可以通过 CLI 下载图层?

作为额外说明,我正在尝试下载这些图层中的任何一个 https://runtimes.bref.sh/

【问题讨论】:

  • 我刚刚编辑了我的答案,以在该网页中包含一个 arn 的示例。你能告诉我这是否能回答问题吗?

标签: aws-lambda aws-cli


【解决方案1】:

应该可以使用 AWS CLI 以编程方式下载层。例如

# https://docs.aws.amazon.com/cli/latest/reference/lambda/get-layer-version.html
URL=$(aws lambda get-layer-version --layer-name YOUR_LAYER_NAME_HERE --version-number YOUR_LAYERS_VERSION --query Content.Location --output text)
curl $URL -o layer.zip

对于该网页中的 arn,我必须使用另一个使用 arn 值的 api。例如:

# https://docs.aws.amazon.com/cli/latest/reference/lambda/get-layer-version-by-arn.html
URL=$(aws lambda get-layer-version-by-arn --arn arn:aws:lambda:us-east-1:209497400698:layer:php-73:7 --query Content.Location --output text)
curl $URL -o php.zip

HTH

-詹姆斯

【讨论】:

  • 这行得通。如果你想直接在命令行上运行 curl $(aws lambda get-layer-version-by-arn --arn arn:aws:lambda:eu-west-1:12333444:layer:ner-deps-layer:4 --查询 Content.Location --输出文本) -o l.zip
  • 如何将层加载到 AWS CLI ?
  • @hYk 请提出一个新问题
  • 我能够使用--layer-cache-basedir 标志使其工作。
  • 还有一种情况是你使用了别人的图层,如果他忘记给图层下载权限,你可以使用一个脚本,把/opt文件夹下的任何东西,压缩然后将其放入您帐户的 S3 中,供以后下载和修改。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-21
  • 2021-12-19
  • 1970-01-01
  • 2020-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多