dan*_*dan 4 google-compute-engine google-cloud-functions
我需要使用 Google Functions 在 Google 计算实例中执行 bash 脚本/命令并获得响应。AWS 有一个名为 SSM 的代理,可以让我使用 Lambda 轻松完成此操作,但我在 Google Cloud 上没有找到类似的东西。在 AWS 上使用 nodejs lambda 我使用以下示例:
ssm.sendCommand({
DocumentName: documentName,
InstanceIds: [ instanceId ],
TimeoutSeconds: 3600,
Parameters: {
'commands' : commands
}
}
Run Code Online (Sandbox Code Playgroud)
如何在 Google Cloud 上实现我想要的目标?谢谢。
Google Cloud Functions 的本质是它是最抽象的无服务器范例。它假设您提供的只是要以受支持的语言之一执行的无状态逻辑。您不应该知道也不关心该逻辑是如何执行的。运行bash(例如)假设您的 Cloud Function 正在类 Unix 环境中运行,其中 bash 可用。虽然这可能是真实的陈述,但它不是您与 Cloud Function 环境签订的“核心”合同的一部分。
我建议的另一种解决方案是研究 Google 的 Cloud Run 概念。就像 Cloud Functions 一样,Cloud Run 是无服务器的(您不提供任何服务器,它会扩展到零),但区别在于执行的是 docker 容器。在该容器中,您的“代码”在调用时在容器环境中执行。Google 根据需要启动/关闭这些容器以满足您的传入负载。由于它在容器中运行,因此您可以 100% 控制您的逻辑执行的操作...包括运行 bash 命令并提供运行所需的任何脚本或其他环境。
| 归档时间: |
|
| 查看次数: |
7008 次 |
| 最近记录: |