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

Using ORADIM to Create Instance on Oracle - Windows Platform

Oradim is an Oracle utility that creates a Service to a database.  If a database is created upon install, or if you use Database Assistant to create a db, it will automatically use this utility to create a service to the db upon creation of the db. If you double click on the Services icon in Control Panel, you will see all the services that are available to the machine. If a machine has a db running on it, you will see a service by the name of OracleService(SID) with a manual or automatic startup type. If the startup is set to automatic, the db will shutdown/startup whenever the machine is restarted, else you will have to shutdown/startup manually.  So you have to use oradim only when you create a database without using the Database Configuration Assistant. You have to use Oradim to create services if you created the database manually.   Example of Oradim to create a service for an 9i database: Create an instance by specifying the following options: (type at comma...