45
loading...
This website collects cookies to deliver better user experience
{
name: "Ethereum",
symbol: "ETH",
price: 2000
}
google-cloud-secret-manager
faunadb
from flask import request, jsonify
from faunadb import query as q
from faunadb.objects import Ref
from faunadb.client import FaunaClient
from google.cloud import secretmanager
def index(request):
project_id = "<YOUR_PROJECT_ID>"
secret_id = "faunasecret"
secret_manager = secretmanager.SecretManagerServiceClient()
response = secret_manager.access_secret_version(request={"name": f"projects/{project_id}/secrets/{secret_id}/versions/1"})
payload = response.payload.data.decode("UTF-8")
client = FaunaClient(secret=payload)
doc = q.documents(q.collection("cryptocurrencies"))
query = q.map_(lambda a: q.get(a), q.paginate(doc))
result = client.query(query)
cryptos = list(map(lambda a: a["data"], result["data"]))
return jsonify(cryptos)
$ curl --header "Content-Type: application/json" YOUR_CLOUD_FUNCTION_URL
[{"name":"Bitcoin","price":38000,"symbol":"BTC"},{"name":"Ethereum","price":2200,"symbol":"ETH"}]
from flask import request, jsonify
from faunadb import query as q
from faunadb.objects import Ref
from faunadb.client import FaunaClient
from google.cloud import secretmanager
def index(request):
project_id = "<PROJECT ID>"
secret_id = "faunasecret"
secret_manager = secretmanager.SecretManagerServiceClient()
response = secret_manager.access_secret_version(request={"name": f"projects/{project_id}/secrets/{secret_id}/versions/1"})
payload = response.payload.data.decode("UTF-8")
client = FaunaClient(secret=payload)
crypto = request.get_json()
create = q.create(q.collection("cryptocurrencies"), {"data": crypto})
result = client.query(create)
if "ref" in result:
return "Success"
else:
return "Failed"
$ curl --header "Content-Type: application/json" --request POST --data '{"name": "Uniswap", "symbol": "UNI", "price": 21}' YOUR_CLOUD_FUNCTION_URL
Success
from flask import request, jsonify
from faunadb import query as q
from faunadb.objects import Ref
from faunadb.client import FaunaClient
from google.cloud import secretmanager
def index(id):
project_id = "<YOUR_PROJECT_ID>"
secret_id = "faunasecret"
secret_manager = secretmanager.SecretManagerServiceClient()
response = secret_manager.access_secret_version(request={"name": f"projects/{project_id}/secrets/{secret_id}/versions/1"})
payload = response.payload.data.decode("UTF-8")
client = FaunaClient(secret=payload)
crypto = request.get_json()
crypto_id = crypto["id"]
data = crypto["data"]
collection = q.documents(q.collection("cryptocurrencies"))
page = q.map_(lambda a: q.get(a), q.paginate(collection))
result = client.query(page)
ref = result["data"][crypto_id]["ref"]
got = q.update(ref, {"data": data})
result = client.query(got)
if "ref" in result:
return "Success"
else:
return "Failed"
$ curl --header "Content-Type: application/json" --request POST --data '{"data": {"name": "Bitcoin", "symbol": "BTC", "price": 40000}, "id": 0}' YOUR_CLOUD_FUNCTION_URL
Success
from flask import request, jsonify
from faunadb import query as q
from faunadb.objects import Ref
from faunadb.client import FaunaClient
from google.cloud import secretmanager
def index(id):
project_id = "<YOUR_PROJECT_ID>"
secret_id = "faunasecret"
secret_manager = secretmanager.SecretManagerServiceClient()
response = secret_manager.access_secret_version(request={"name": f"projects/{project_id}/secrets/{secret_id}/versions/1"})
payload = response.payload.data.decode("UTF-8")
client = FaunaClient(secret=payload)
crypto = request.get_json()
crypto_id = crypto["id"]
data = crypto["data"]
collection = q.documents(q.collection("cryptocurrencies"))
page = q.map_(lambda a: q.get(a), q.paginate(collection))
result = client.query(page)
ref = result["data"][crypto_id]["ref"]
got = q.delete(ref, {"data": data})
result = client.query(got)
if "ref" in result:
return "Success"
else:
return "Failed"
$ curl --header "Content-Type: application/json" --request POST --data '{"id": 2}' YOUR_CLOUD_FUNCTION_URL
Success