Skip to main content

How to create a simple Serverless API Using Oracle Cloud Functions

Modern cloud applications are moving toward serverless architectures because they reduce infrastructure management and allow developers to focus on code.

Oracle Cloud Infrastructure (OCI) provides a powerful serverless service called “Oracle Functions”. It allows developers to run code without managing servers.

In this post, I’ll go through how to create a simple serverless API using Oracle Functions and expose it through an HTTP endpoint.

Oracle Functions provides several advantages,

  • No server management
  • Automatic scaling
  • Pay only for execution time
  • Easy integration with other OCI services

 The process of flow is as below,

  1. User sends an HTTP request
  2. OCI API Gateway triggers a Function
  3. Function processes the request
  4. Response is returned

Lets see how to create a simple function.

1.      First create a function using the 'Fn Project CLI' supported by OCI.

fn init --runtime python myhello-function
cd myhello-function

2.      Open the func.py file and update it.

def handler(ctx, data: bytes=None):
    name = "Test"
    if data:
        name = data.decode('utf-8')
    return f"Hello {name} Greetings from Oracle!"

This will read input and returns a message.

 3.      Deploy it to Oracle Cloud.

fn deploy --app myapp

After deployment the function will run inside OCI’s serverless environment.

4.      You can test it using:

echo -n "Pubudu" | fn invoke myapp myhello-function

5.      You should see below output

Hello Pubudu Greetings from Oracle!

You can make this function public by creating an OCI API Gateway, connecting it to the deployed function and generating a public HTTP endpoint. This allows the function to be accessed as a serverless API.

Comments

Popular posts from this blog

Setting ORACLE_SID

The  Oracle System ID  ( S ID ) is used to uniquely identify a particular database on a system How to set ORACLE_SID: Windows: set ORACLE_SID=orcl Unix/ Linux: export ORACLE_SID=orcl SID is case sensitive in Unix / Linux environments. How to check the current ORACLE_SID: Windows: Go to the commnand prompt and type as C:\> set ORACLE_SID (This will show if any ORACLE_SID is already set). C:\> set (To know all the parameters set) Unix/ Linux: echo $ORACLE_SID