如何将数据发送到 API Post 以供 Lambda 函数使用

问题描述 投票:0回答:1

我正在尝试在异步函数中使用 fetch 发布我的客户名称。

 async function ExecuteEC2(customer) {
    const response = await fetch(
      'https:api',
      {
        method: 'POST',
        body: {
          Customer: customer,
        },

        success: function (response) { 
          alert(response.status);
        },
        error: function () {
          alert("error with database");
        }
      }
    );
    
  }

我的按钮中使用了该函数,以便在单击它时触发 API。然后通过使用 API 网关,它会触发我们特定的 Lambda 执行。

<button
            className="btn btn-primary bt-btn btn-size"
            type="button"
            onClick={() => {
              alert("Oh, hi " + customer);
              ExecuteEC2(customer);
            }}
          >
            Configure Ansible
          </button>
          <Modal
            showModal={showModal}
            setShowModal={setShowModal}
            devices={options.AllCSRList}
            user={user}
            customer={customer}
          />

最后,已设置 lambda 函数以读取 API 数据并将其应用到我们的 EC2。但是,每当我尝试获取客户数据时,它都不会出现。我将在哪里以及如何修改它以将其推送到帖子中?

import time
import json
import boto3
import urllib3
import requests
from pprint import pprint 

region = 'eu-west-2'
instance = 'i-ec2'
ec2 = boto3.client('ec2', region_name=region)

def handler(event, context):

    customer_name = event['Customer']

    
    print(customer_name)

    #boto3 client
    client = boto3.client('ec2')
    ssm = boto3.client('ssm')
    # status = client.describe_instance_status(IncludeAllInstances = True)
    # pprint(status)
    
    # response = ssm.send_command(

    #     InstanceIds=['i-ec2'],
    #     DocumentName="AWS-RunShellScript",
    #     Parameters={'commands':[
    #     "mkdir create2.txt",
    #     ]},
            
    # )
        
    # print(response)
    
    
    return {
        'statusCode': 200,
        'body': json.dumps(customer_name)
    }
        
amazon-web-services api post amazon-ec2 lambda
1个回答
0
投票

注意:我正在写关于 lambda 的 javascript 版本的答案。 发布数据位于事件对象的 body 属性中。

body = event["body"]

此外,

body
是一个 json 字符串,您必须将其转换为 json/字典。

然后

customer_name = body["Customer"]
© www.soinside.com 2019 - 2024. All rights reserved.