要在Node.js 12 AWS Lambda中调用Binance API并使用签名,你可以按照以下步骤进行操作:
首先,确保已经安装了Node.js和AWS CLI,并且已经设置了AWS CLI的配置。
在Lambda函数的代码中,使用npm
或yarn
安装crypto-js
和axios
依赖项。这些依赖项将帮助我们进行签名和API调用。可以在函数的根目录中运行以下命令:
npm install crypto-js axios
或
yarn add crypto-js axios
创建一个Lambda函数,例如BinanceAPICall
。
在函数代码中,引入所需的依赖项:
const CryptoJS = require('crypto-js');
const axios = require('axios');
function generateSignature(queryString, apiSecret) {
return CryptoJS.HmacSHA256(queryString, apiSecret).toString(CryptoJS.enc.Hex);
}
exports.handler = async (event) => {
// 设置Binance API的URL和参数
const url = 'https://api.binance.com/api/v3/order';
const params = {
symbol: 'BTCUSDT',
side: 'BUY',
type: 'LIMIT',
timeInForce: 'GTC',
quantity: 0.001,
price: 30000,
timestamp: Date.now()
};
// 生成签名
const queryString = Object.keys(params).map(key => `${key}=${params[key]}`).join('&');
const signature = generateSignature(queryString, 'YOUR_API_SECRET');
// 添加签名到参数中
params.signature = signature;
try {
// 发起API调用
const response = await axios.post(url, null, { params });
// 输出API调用结果
console.log(response.data);
return response.data;
} catch (error) {
console.error(error);
return error;
}
};
请确保替换代码中的YOUR_API_SECRET
为你的Binance API密钥的密钥部分。
部署Lambda函数到AWS Lambda,并在需要的时候触发它。
这样,你就可以在Node.js 12 AWS Lambda中调用Binance API并使用签名进行API调用了。