I need help calling an API form a URL and pulling that data to my S3 bucket

0

Hello, I am having trouble calling an API using Lambda trigger to collect data from this URL: https://data.nasdaq.com/api/v3/datatables/ZILLOW/DATA?indicator_id=ZSFH&region_id=99999&api_key=__afpDhxkYvt5XZzfEB- I wasnt sure what the best way to approach this was but I believe it can all be done through a lambda function? Also is there a certain way to word this process? I was looking for information about it online, but all I could find was tutorials of using the API Gateway which is not the approach that I am looking for thank you!

gefragt vor einem Jahr343 Aufrufe
1 Antwort
0

Hi,

it should definitely possible, without involving an API Gateway.

Make sure Lambda is either non in a VPC 8as it gets outbound internet traffic automatically), or if it is in VPC, then you will need a NAT Gateway + Internet Gateway (IGW).

Nevertheless, depending on your language of choice, you can use libraries such as native https or axios for NodeJS one or requests (https://pypi.org/project/requests/) for Python.

An example for Node:

const axios = require('axios');

exports.handler = async (event) => {
    const url = 'https://data.nasdaq.com/api/v3/datatables/ZILLOW/DATA?indicator_id=ZSFH&region_id=99999&api_key=__afpDhxkYvt5XZzfEB-';
    const response = await axios.get(url);
    const data = response.data;
    return data;
};

or for Python:

import requests

def lambda_handler(event, context):
    url = 'https://data.nasdaq.com/api/v3/datatables/ZILLOW/DATA?indicator_id=ZSFH&region_id=99999&api_key=__afpDhxkYvt5XZzfEB-';
    response = requests.get(url)
    data = response.json()
    return data

Hope it helps ;)

profile picture
EXPERTE
beantwortet vor einem Jahr

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen