在AWS Lambda中调用Shell脚本可以通过使用subprocess
模块来实现。下面是一个示例代码,演示了如何从AWS Lambda函数中调用Shell脚本:
import subprocess
def lambda_handler(event, context):
# 在Lambda函数中调用Shell脚本
subprocess.call(['/bin/bash', '-c', 'path/to/your/script.sh'])
# 或者使用绝对路径调用Shell脚本
subprocess.call(['/bin/bash', '-c', '/full/path/to/your/script.sh'])
# 若要获取Shell脚本的输出,可以使用subprocess.check_output
output = subprocess.check_output(['/bin/bash', '-c', 'path/to/your/script.sh'])
# 在Lambda函数中打印Shell脚本的输出
print(output.decode('utf-8'))
return {
'statusCode': 200,
'body': 'Shell脚本成功执行'
}
请确保将path/to/your/script.sh
替换为实际的Shell脚本路径。上述代码中的subprocess.call
和subprocess.check_output
函数可以调用Shell脚本并获取输出。
另外,需要注意的是,AWS Lambda函数需要具有执行Shell脚本的权限。你可以将IAM角色分配给Lambda函数,授予所需的权限。
希望这个示例能够帮助你在AWS Lambda中调用Shell脚本!