Boto3 和 botocore python 等效于打字稿中的凭据调用

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

2

我继承了一个 python lambda,我需要将其转换为 node js。我有点坚持处理身份验证的代码,所以我想知道下面的 python 代码的 JS 等价物是什么:

import boto3
import json
import requests
from requests_aws4auth import AWS4Auth

region = "eu-west-1"
service = "es"

credentials = boto3.Session().get_credentials()
awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token)

r = requests.get(url, auth=awsauth)

或者这个

def get_credentials(session):
    session_credentials = session.get_credentials()
    if not session_credentials:
        return None

    read_only_credentials = session_credentials.get_frozen_credentials()
    expiration = None
    if hasattr(session_credentials, '_expiry_time') and session_credentials._expiry_time:
        if isinstance(session_credentials._expiry_time, datetime):
            expiration = session_credentials._expiry_time
        else:
            LOGGER.debug("Expiration in session credentials is of type {}, not datetime".format(type(expiration)))
    credentials = convert_creds(read_only_credentials, expiration)
    return credentials

这是我正在进行的工作,似乎是使用 javascript aws-sdk 的相关调用:

import AWS from "aws-sdk"

const region = "eu-west-1"
const service = "es"

const credentials = AWS.Credentials().get()

const response = await fetch(url, {
  headers: { Authorization: credentials },
  credentials: "include"
})

我知道 python 代码可以工作,所以我只需要将它转换为 JS。正如您所看到的,我不太确定在获得凭据后如何处理它,或者在 fetch 调用中 auth=awsauth 的等价物是什么。任何帮助将非常感激。谢谢!

typescript amazon-web-services single-sign-on aws-sdk aws-sdk-js-v3
© www.soinside.com 2019 - 2024. All rights reserved.