【AWS CLI 示例集】Lambda

Lambda

我们主要检查是否可以使用AWS Cloud9执行命令。
如果您想提供示例命令,请使用下面的表格提交。
如果列出的命令示例有任何错误,请在此处更正。

建议
建议内容可能会被修改。在提出任何建议之前请注意这一点。


获取函数列表

aws lambda list-functions \
--query 'Functions[*].[Runtime, FunctionName] | map(&[], @)' \
--output text

输出

python3.12      FunctionA
FunctionB-fromECR
python3.12      FunctionC
<以下省略>

by anonymous

获取函数的代码位置 (URL)

aws lambda get-function \
--function-name FunctionA \
--query 'Code.Location' \
--output text

输出

https://awslambda-ap-ne-1-tasks.s3.ap-northeast-1.amazonaws.com/snapshots/123456789012/FunctionA-0123456-aaaa-bbbb-cccc-0123456789?versionId=6rVz02wc9INE2oEsrk2HkEw8iCFMacSA&X-Amz-Security-Token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20240518T223457Z&X-Amz-SignedHeaders=host&X-Amz-Expires=600&X-Amz-Credential=YYYYYYYYYYYYYYYYYYYYYYYYY&X-Amz-Signature=ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

by anonymous

获取函数的代码

url=$(aws lambda get-function \
--function-name FunctionA \
--query 'Code.Location' \
--output text)
curl -s -o code.zip $url
unzip code.zip
rm code.zip
cat lambda_function.py

输出

import json
import boto3
import datetime

def lambda_handler(event, context):
    
    time = datetime.datetime.fromtimestamp(event['timestamp'])
    name = event['name']
    val  = event['value']
    mrx  = event['metric']

    try:
        cw = boto3.client("cloudwatch")
        cw.put_metric_data(
            Namespace="Custom",
            MetricData=[
                {
                    "MetricName": mrx,
                    "Timestamp": time,
                    "Value": val,
                    "Dimensions": [
                        {
                            "Name": "CustomName",
                            "Value": name
                        }
                    ],
                    "Unit": "Count"
                },
            ]
        )

    except Exception as e:
        print("Error:", str(e))
        raise e

    return {
        'statusCode': 200,
        'body': json.dumps('Put cw metric datapoint')
    }

by anonymous

タイトルとURLをコピーしました