mirror of
https://github.com/aljazceru/IngestRSS.git
synced 2025-12-17 05:54:22 +01:00
66 lines
2.0 KiB
Python
66 lines
2.0 KiB
Python
import os
|
|
import sys
|
|
import json
|
|
import boto3
|
|
from dotenv import load_dotenv
|
|
|
|
# Load environment variables
|
|
load_dotenv()
|
|
|
|
# Set AWS credentials from environment variables
|
|
os.environ['AWS_ACCESS_KEY_ID'] = os.getenv('AWS_ACCESS_KEY_ID')
|
|
os.environ['AWS_SECRET_ACCESS_KEY'] = os.getenv('AWS_SECRET_ACCESS_KEY')
|
|
os.environ['AWS_DEFAULT_REGION'] = os.getenv('AWS_REGION')
|
|
TABLE_NAME = os.getenv('DYNAMODB_TABLE_NAME')
|
|
ACCOUNT_NUM = os.getenv("AWS_ACCOUNT_ID")
|
|
SQS_QUEUE_NAME = os.getenv("SQS_QUEUE_NAME")
|
|
REGION = os.getenv("AWS_REGION")
|
|
os.environ["SQS_QUEUE_URL"] = f"https://sqs.{REGION}.amazonaws.com/{ACCOUNT_NUM}/{SQS_QUEUE_NAME}"
|
|
|
|
|
|
lambda_client = boto3.client("lambda")
|
|
LAMBDA_FUNCTION_NAME = os.getenv("LAMBDA_FUNCTION_NAME")
|
|
|
|
|
|
# Add the src directory to the Python path
|
|
current_dir = os.path.dirname(os.path.abspath(__file__))
|
|
sys.path.append(current_dir)
|
|
|
|
from src.infra.deploy_infrastructure import deploy_infrastructure
|
|
from src.utils.create_lambda_layer import create_lambda_layer
|
|
from src.lambda_function.deploy_lambda import deploy_lambda
|
|
from src.lambda_function.update_lambda_env_vars import update_env_vars
|
|
from src.utils.upload_rss_feeds import upload_rss_feeds
|
|
|
|
def main():
|
|
# Deploy infrastructure
|
|
deploy_infrastructure()
|
|
|
|
# Create Lambda layer
|
|
create_lambda_layer()
|
|
print("Finished with Lambda Layer")
|
|
|
|
|
|
# Deploy Lambda function
|
|
deploy_lambda()
|
|
print("Finished Deploying Lambda")
|
|
|
|
# Update Lambda environment variables
|
|
update_env_vars(LAMBDA_FUNCTION_NAME, )
|
|
print("Finished Environment Variable Updates")
|
|
|
|
# Upload RSS feeds
|
|
rss_feeds_file = os.path.join(current_dir, "rss_feeds.json")
|
|
if os.path.exists(rss_feeds_file):
|
|
with open(rss_feeds_file, 'r') as f:
|
|
rss_feeds = json.load(f)
|
|
upload_rss_feeds(rss_feeds, TABLE_NAME)
|
|
else:
|
|
print(f"WARNING: {rss_feeds_file} not found. Skipping RSS feed upload.")
|
|
|
|
print("RSS Feed Processor launched successfully!")
|
|
|
|
print("RSS Feed Processor launched successfully!")
|
|
|
|
if __name__ == "__main__":
|
|
main() |