Untitled
unknown
plain_text
2 years ago
1.7 kB
8
Indexable
from flask import Flask, request, jsonify
from cassandra.cluster import Cluster
from cassandra.query import SimpleStatement
app = Flask(__name__)
cluster = Cluster(['127.0.0.1']) # Replace with your Cassandra cluster IP address
session = cluster.connect('hobs_ods_staging') # Replace with your Cassandra keyspace
@app.route('/data', methods=['GET'])
def get_data():
# Extract path parameters
event_date = request.args.get('hoscd_event_date')
business_id = request.args.get('hoscd_businessid')
status = request.args.get('hoscd_status')
username = request.args.get('hoscd_username')
# Build query based on provided path parameters
if event_date:
query = SimpleStatement("SELECT * FROM hos_cart_details WHERE hoscd_event_date=%s", consistency_level=2)
result = session.execute(query, [event_date])
elif business_id:
query = SimpleStatement("SELECT * FROM hos_cart_details WHERE hoscd_businessid=%s", consistency_level=2)
result = session.execute(query, [business_id])
elif status:
query = SimpleStatement("SELECT * FROM hos_cart_details WHERE hoscd_status=%s", consistency_level=2)
result = session.execute(query, [status])
elif username:
query = SimpleStatement("SELECT * FROM hos_cart_details WHERE hoscd_username=%s", consistency_level=2)
result = session.execute(query, [username])
else:
# Return 400 Bad Request error if no path parameters are provided
return jsonify({'error': 'Please provide at least one path parameter'}), 400
# Convert result to list of dictionaries and return as JSON response
data = [dict(row) for row in result]
return jsonify(data)
Editor is loading...