小编rum*_*ums的帖子

是否可以使用AWS Lambda来请求oauth 2.0令牌?

我正在寻找避免创建的方法ec2 instance,以便有一个有效的回调URL来执行oauth握手.

我打算用来Lambda连接到遥控器API,但我需要先获得令牌,这个牌只有6个小时有效.

有什么方法可以通过Lambda函数进行握手吗?

lambda oauth amazon-web-services

8
推荐指数
1
解决办法
3335
查看次数

参数组的类型为"dict",我们无法转换为列表

我正在尝试将一些常用的AWS任务分解为角色,这样我就可以在剧本中更灵活地使用它们,并且遇到意想不到的障碍.我无法想出这个:

这个游戏可以直接使用"group"直接在任务中定义为列表:

ec2:
 image: "{{image}}"
 region: "{{region}}"
 group: [ "ssh", "outbound" ]
 [... other stuff]
Run Code Online (Sandbox Code Playgroud)

但是如果我把游戏放在角色中并在'defaults/main.yml'文件中定义'groups',Ansible就会失败,如下所示:

groups: ["ssh", "outbound"]
Run Code Online (Sandbox Code Playgroud)

该剧现在看起来像这样:

ec2:
 image: "{{image}}"
 region: "{{region}}"
 group: "{{groups}}"
 [... other stuff]
Run Code Online (Sandbox Code Playgroud)

Ansible失败了这条消息,似乎认为我的变量是一个字典,而不是一个列表:

fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "argument group is of type <type 'dict'> and we were unable to convert to list"}
Run Code Online (Sandbox Code Playgroud)

我要么缺少明显的东西,要么遇到Ansible变量解析的限制.有人对此有任何见解吗?

ansible ansible-playbook

6
推荐指数
1
解决办法
7977
查看次数

为什么这个Node片段没有被捕获拒绝Promise?

我试图理解为什么我遇到的Promise拒绝异常不是由我在以下代码中的初始try/catch处理的(完整代码在此分支中)

在此特定错误中,nodeCf.deploy正在index.js中调用.

发生错误是因为我应该使用this.deployName,而不是stack.deployName 在我的console.log语句中.

我不明白的是为什么这被认为是一种不妥协的承诺拒绝.我不应该在初始调用nodeCf.deploy时遇到try/catch吗?

// index.js:

  switch (args.action) {
    case 'deploy':
      try {
        await nodeCf.deploy(stacks, envVars);
      } catch (e) {
        console.log(`deployment failed: `, e);
        process.exit(1);
      }
      break;
  < ... >

// nodeCf module:
async deploy(stacks, envVars) {
  var stackOutputs = {};
  await Promise.each(stacks, async(stack) => {
    stackOutputs[stack.name] = await stack.deploy(envVars, 
      stackOutputs).outputs;
  });
}

// stack.deploy:
async deploy(envVars, stackOutputs) {
this.load(envVars, stackOutputs);
await ensureBucket(this.infraBucket);
const s3Resp = await this.uploadTemplate()
const stackResp = await …
Run Code Online (Sandbox Code Playgroud)

node.js promise async-await ecmascript-6 bluebird

3
推荐指数
1
解决办法
67
查看次数

参考无服务器框架中现有的 Cloudformation 堆栈输出

我们正在评估是否对我们的一些新的 AWS 应用程序基础设施使用无服务器。我们大量使用 Cloudformation(由 Ansible 部署),因此我们需要能够干净地引用现有 Cloudformation 堆栈的输出 - 一个直接的例子是获取现有 AWS 网络基础设施的子网 ID 以供 lambda 函数使用。

经过大量浏览后,我还没有找到一种开箱即用的方法来做到这一点。我们现有的 Cloudformation 堆栈的命名方式是这样的:如果我只需输入堆栈的名称和所需的输出变量,我就可以在各种环境中可靠地获得所需的输出。我看到的一个可能的解决方案是使用 aws cli 提取变量并将它们作为环境变量传递给无服务器,但如果可能的话,我希望有一种更干净的方法。

amazon-web-services aws-cloudformation serverless-framework

2
推荐指数
1
解决办法
2258
查看次数

按时间段的分数睡觉

有人能告诉我为什么这样有效:

s := time.Hour/73.0
fmt.Println("sleeping: ", s)
time.Sleep(s)
Run Code Online (Sandbox Code Playgroud)

但这失败了:

d := 73.0
s := time.Hour/d
fmt.Println("sleeping: ", s)
time.Sleep(s)
Run Code Online (Sandbox Code Playgroud)

这是错误:

invalid operation: time.Hour / d (mismatched types time.Duration and float64)
Run Code Online (Sandbox Code Playgroud)

time types const type-conversion go

1
推荐指数
1
解决办法
484
查看次数