提问人:openCivilisation 提问时间:11/13/2023 最后编辑:openCivilisation 更新时间:11/15/2023 访问量:62
AWS Lambda 能否从具有格式化的 AWS CLI 输出文件调用?[关闭]
Can AWS Lambda invoke from AWS CLI output file with formatting? [closed]
问:
当我调用 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
答: 暂无答案
评论
outfile
return