{"id":13836492,"url":"https://github.com/oracle-samples/oracle-functions-samples","last_synced_at":"2025-06-17T02:36:15.870Z","repository":{"id":37924224,"uuid":"239532327","full_name":"oracle-samples/oracle-functions-samples","owner":"oracle-samples","description":"Examples demonstrating how to use Oracle Functions","archived":false,"fork":false,"pushed_at":"2024-05-11T06:44:49.000Z","size":6586,"stargazers_count":134,"open_issues_count":14,"forks_count":123,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-09T21:13:29.586Z","etag":null,"topics":["faas","functions-as-a-service","java","oracle-cloud","oracle-cloud-infrastructure","oracle-functions","python","serverless-functions"],"latest_commit_sha":null,"homepage":"https://www.oracle.com/cloud/cloud-native/functions/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"upl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oracle-samples.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-10T14:32:25.000Z","updated_at":"2025-03-20T12:48:38.000Z","dependencies_parsed_at":"2024-08-15T01:17:52.076Z","dependency_job_id":null,"html_url":"https://github.com/oracle-samples/oracle-functions-samples","commit_stats":null,"previous_names":["oracle/oracle-functions-samples"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-samples%2Foracle-functions-samples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-samples%2Foracle-functions-samples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-samples%2Foracle-functions-samples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-samples%2Foracle-functions-samples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oracle-samples","download_url":"https://codeload.github.com/oracle-samples/oracle-functions-samples/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248111973,"owners_count":21049578,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["faas","functions-as-a-service","java","oracle-cloud","oracle-cloud-infrastructure","oracle-functions","python","serverless-functions"],"created_at":"2024-08-04T15:00:47.158Z","updated_at":"2025-04-09T21:13:36.905Z","avatar_url":"https://github.com/oracle-samples.png","language":null,"readme":"# Oracle Functions Samples\n\n![Oracle Functions logo](./images/FunctionsLogo_16x16.png)\n\nThis repository provides examples demonstrating how to use Oracle Functions.\n\n## Setup\n* [Quick start](https://docs.oracle.com/en-us/iaas/Content/Functions/Tasks/functionsquickstartguidestop.htm)\n\n## Basic Observability Guidance\n* [Functions](./samples/basic-observability/functions.md)\n* [Service Connector Hub](./samples/basic-observability/service-connector-hub.md)\n* [Notifications Service](./samples/basic-observability/notifications.md)\n\n## How To\n| Description                                          | Python | Java | \n|------------------------------------------------------|:------:|:----:|\n| Hello World                                          |[sample](./samples/helloworld)|[sample](./samples/helloworld)|\n| List OCI Compute instances                           |[sample](./samples/oci-list-instances-python)|[sample](./samples/oci-list-instances-java)|\n| Control OCI Compute instances (start/stop/status)    |[sample](./samples/oci-compute-control-python)|\n| List OCI compartments                                |[sample](./samples/oci-list-compartments-python)|\n| List objects in OCI Object Storage                   |[sample](./samples/oci-objectstorage-list-objects-python)|[sample](./samples/oci-objectstorage-list-objects-java)|\n| Read an object in OCI Object Storage                 |[sample](./samples/oci-objectstorage-get-object-python)|[sample](./samples/oci-objectstorage-get-object-java)|\n| Create an object in OCI Object Storage               |[sample](./samples/oci-objectstorage-put-object-python)|[sample](./samples/oci-objectstorage-put-object-java)|\n| Create a PAR in OCI Object Storage                   |[sample](./samples/oci-objectstorage-create-par-python)||\n| Copy object from one OCI Object Storage bucket to another |[sample](./samples/oci-objectstorage-copy-objects-python)||\n| Display an OCI Cloud Event                           |[sample](./samples/oci-event-display-python)|\n| Invoke another Function using the OCI SDK            |[sample](./samples/oci-invoke-function-python)|||\n| Run a SQL statement against Autonomous DB using ORDS | [sample](./samples/oci-adb-ords-runsql-python) | \n| Run a SQL statement against Autonomous DB using DB Client |[sample](./samples/oci-adb-client-runsql-python)|| \n| Publish a notification using ONS                     |[sample](./samples/oci-ons-publish-python)|\n| Send an email using Email Delivery Service           |[sample](./samples/oci-email-send-python)|\n| Decrypt cipher using Vault keys                      |[sample](./samples/oci-vault-decrypt-python)\n| Get a secret from Vault                              |[sample](./samples/oci-vault-get-secret-python)|\n| Write IAM policies that enables Functions in a tenancy to access resources in other tenancies ||[sample](./samples/oci-cross-tenancy-policies-java)\n| Trace a function with APM and add custom child spans using Zipkin |[sample](./samples/trace-functions-with-apm)|\n\n## Functions and API Gateway\n[Oracle Cloud Functions](https://www.oracle.com/cloud-native/functions/) and [OCI API Gateway](https://www.oracle.com/api) together enable developers to create serverless APIs and perform function based authorization.\n| Description                                          | Python | Java | \n|------------------------------------------------------|:------:|:----:|\n| API Gateway Function authorizer for IDCS             | |[sample](./samples/oci-apigw-authorizer-idcs-java) |\n| Function that returns the API Gateway HTTP request information for testing | [sample](./samples/oci-apigw-display-httprequest-info-python) | |\n| Validate an API key   |[sample](./samples/oci-apigw-apikey-validation-python) | |\n| BasicAuth Validation with IDCS | |[sample](./samples/oci-apigw-idcs-auth-basic) |\n\n\n## Using Service Connector Hub with Functions\n| Description                                          | Code |\n|------------------------------------------------------|:------:|\n| _**Logging \u003e\u003e Service Connector Hub \u003e\u003e Functions**_ | |\n| Move logs from OCI to Datadog using Service Connector Hub, Logging (Source), Functions (Target) and Datadog | [sample](./samples/oci-logs-datadog) |\n| Send SMS messages for logs using Service Connector Hub, Logging (Source), Functions (Target) and Syniverse SMS | [sample](./samples/oci-notification-syniverse) |\n| | |\n| _**Streaming \u003e\u003e Service Connector Hub \u003e\u003e Functions**_ | |\n| Convert JSON to CSV format using Service Connector Hub, Streams (Source and Target) and Functions (Task) | [sample](./samples/oci-serviceconnector-streaming-json-to-csv-python) |\n| Convert JSON to Parquet format using Service Connector Hub, Streams (Source and Target) and Functions (Task) | [sample](./samples/oci-serviceconnector-streaming-json-to-parquet-python) |\n\n\n## Other Use Cases\n| Description                                          | Code |\n|------------------------------------------------------|:------:|\n| Provide the size of an image (Custom Dockerfile, image library) | [sample](./samples/imagedims-python) |\n| Automatically load data from Object Storage into Autonomous DataWarehouse | [sample](./samples/oci-load-file-into-adw-python) |\n| Automatically resize VM on High Memory Alerts (Notifications trigger a function) | [sample](./samples/oci-ons-compute-shape-increase-python) |\n| Check if a compute instance is tagged correctly on provisioning, if not, stop it | [sample](./samples/oci-stop-untagged-instance-python) |\n| Send SMS messages for monitoring alarms using Monitoring, Notifications Service, Functions and Syniverse SMS | [sample](./samples/oci-notification-syniverse) |\n| Export a collection of historical metrics from Monitoring Service using the Monitoring Query Language (MQL)  | [sample](./samples/oci-monitoring-metric-export-python) |\n\n\n## Community-led Examples\n| Description                                          | Code | Blog |\n|------------------------------------------------------|:------:|:----:|\n| Serverless SaaS Extensions using Oracle Functions, API Gateway and VBCS | [repo](https://github.com/oracle/cloud-asset-fusion-serverless-vbcs-sample) | [blog](https://www.ateam-oracle.com/the-cloud-native-approach-to-extending-your-saas-applications)\n| Function that demonstrates connectivity between Oracle SaaS applications with OIC | [sample](./samples/oci-oic-hcm-object-upload)|\n\n## Documentation\n\nYou can find the online documentation for Oracle Functions at [docs.oracle.com](https://docs.cloud.oracle.com/iaas/Content/Functions/Concepts/functionsoverview.htm) and information about the Fn project at [https://fnproject.io/](https://fnproject.io/).\n\n## Contributing\n\nSee [CONTRIBUTING](./CONTRIBUTING.md)\n\n## Security\n\nPlease consult the [security guide](./SECURITY.md) for our responsible security vulnerability disclosure process\n\n## License\n\nSee [LICENSE](./LICENSE.txt)\n","funding_links":[],"categories":["Services"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foracle-samples%2Foracle-functions-samples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foracle-samples%2Foracle-functions-samples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foracle-samples%2Foracle-functions-samples/lists"}