AWS Lambda 能否从具有格式化的 AWS CLI 输出文件调用?[关闭]

Can AWS Lambda invoke from AWS CLI output file with formatting? [closed]

提问人:openCivilisation 提问时间:11/13/2023 最后编辑:openCivilisation 更新时间:11/15/2023 访问量:62

问:


想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。

5天前关闭。

当我调用 lambda 函数(在 macOS、Windows 和 Linux 中跨平台)时,它应该输出一个纯文本文件 (config.yml),但该文件包含换行符和转义字符,而不是使用此命令正确格式化:

aws lambda invoke --function-name my_function config.yml

AWS CLI 中的此输出文件的格式是否可以正确?

我试图避免使用 S3 作为中点,因为它可能包含敏感数据。

编辑:我可以通过上传到 s3 来验证文件是否正确包含换行符。只有 Lambda CLI 有这个问题。这是我在 s3 中的示例证书内容:

-----BEGIN NEBULA CERTIFICATE-----
CnYKCmNpdGVzdHVzZXISCoPIoYUMgP7//w8iBXVzZXJzIgVub2RlcyiWwM+qBjCW
49SqBjogEOgUP70on021FY6ljOQJZUiywd7QiQjll8yKvh16rGZKID6RkpuDIiiZ
Y7aIKwHftYU1280YYZj7BUdki8Bf78IGEkDN8poMZMLi/PP2jss7LyL357f+v0jK
51/QipeXKmRKPOjT4EqA2UEVD9MtyMmNOqnuXMowqGrBj4f9eCWDqysM
-----END NEBULA CERTIFICATE-----

下面是我的 lambda 代码的一个示例,它执行 nebula 来生成证书:

    cmd_args = [
        filepath, 'sign',
        '-ca-crt', '/tmp/ca.crt',  # Path to the CA certificate
        '-ca-key', '/tmp/ca.key',  # Path to the CA key
        '-in-pub', '/tmp/pubkey.pub', # Path to the client public key
        '-out-crt', pubkey_crt_name,
        '-name', name,
        '-ip', next_ip,
        '--groups', 'users,nodes',
        '-duration', '24h00m00s'
    ]
    print("Running: {}".format(cmd_args))
    run_command(cmd_args)

    # verify crt
    cmd_args = [
        filepath, 'print',
        '-path', pubkey_crt_name,
    ]
    run_command(cmd_args)

    s3 = boto3.resource('s3')
    bucket = s3.Bucket('nebula.certificates.dev.firehawkvfx.com')

    file_name = pubkey_crt_name
    bucket.upload_file(Filename=file_name, Key=file_name)

    with open(file_name, 'r') as file:
        data = file.read()

    return data

def lambda_handler(event, context):
    try:
        data = get_next_cert(event, context)
    except Exception as e:
        print("Error: {}".format(e))
        clear_tmp() # always clear tmp on error to prevent reuse of old files
        raise e
    finally:
        clear_tmp() # always clear tmp on error to prevent reuse of old files

    return data
亚马逊网络服务 aws-lambda 命令行界面

评论

1赞 stdunbar 11/14/2023
没有一些代码,就不可能提供帮助。前面有API网关吗?你期待什么,你得到了什么?
0赞 John Rotenstein 11/14/2023
我认为将完全包含Lambda函数返回的内容。因此,如果要更改内容,请更改 Lambda 函数的部分。outfilereturn

答: 暂无答案