Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ece4d65

Browse files
committed
update
1 parent 4989eb2 commit ece4d65

File tree

21 files changed

+144
-1453
lines changed

21 files changed

+144
-1453
lines changed

‎.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.DS_Store

‎helloworld/README.md

Lines changed: 121 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,123 @@
1-
# Oracle Functions Hello World
1+
# Function Hello World
22

3-
Get started with Java, Nodejs, Python, Golang and Ruby functions on Oracle Functions
3+
This function returns the "Hello World" message or "Hello <name>" when you provide a name in the function call payload.
44

5-
- Pre-requisite - [Create Application](create-application.md)
6-
- [Java](java/README.md)
7-
- [Nodejs](node/README.md)
8-
- [Python](python/README.md)
9-
- [Golang](golang/README.md)
10-
- [Ruby](ruby/README.md)
5+
As you make your way through this tutorial, look out for this icon ![user input icon](./images/userinput.png).
6+
Whenever you see it, it's time for you to perform an action.
7+
8+
9+
## Pre-requisites
10+
1. Start by making sure all of your policies are correct from this [guide](https://docs.cloud.oracle.com/iaas/Content/Functions/Tasks/functionscreatingpolicies.htm?tocpath=Services%7CFunctions%7CPreparing%20for%20Oracle%20Functions%7CConfiguring%20Your%20Tenancy%20for%20Function%20Development%7C_____4)
11+
12+
2. Have [Fn CLI setup with Oracle Functions](https://docs.cloud.oracle.com/iaas/Content/Functions/Tasks/functionsconfiguringclient.htm?tocpath=Services%7CFunctions%7CPreparing%20for%20Oracle%20Functions%7CConfiguring%20Your%20Client%20Environment%20for%20Function%20Development%7C_____0)
13+
14+
15+
## Create an Application to run your function
16+
You can use an application already created or create a new one using either the CLI or the OCI console.
17+
18+
![user input icon](./images/userinput.png)
19+
20+
### using the CLI
21+
```
22+
fn create app <app-name> --annotation oracle.com/oci/subnetIds='["<subnet-ocid>"]'
23+
```
24+
Get the OCID of the subnet in your VCN you wish to use.
25+
26+
e.g.
27+
```
28+
fn create app myapp --annotation oracle.com/oci/subnetIds='["ocid1.subnet.oc1.phx.aaaaaaaacnh..."]'
29+
```
30+
31+
### using the OCI console
32+
Log in to the [OCI console](https://console.us-phoenix-1.oraclecloud.com/) with your account, select the same region and compartment you specified when you configured the Fn CLI context.
33+
34+
On the OCI console, navigate to Developer Services > Functions. Click `Create Application` and specify:
35+
- The name for the new application as *myapp*.
36+
- The VCN and subnet in which to run the function.
37+
38+
Click `Create`.
39+
40+
![](./images/create-application.png "Create Application")
41+
42+
43+
## Writing the code of function
44+
45+
The [Python folder](./python) contains the files to deploy the HelloWorld function in Python:
46+
* the code of the function, [func.py](./python/func.py)
47+
* its dependencies, [requirements.txt](./python/requirements.txt)
48+
* the function metadata, [func.yaml](./python/func.yaml)
49+
50+
The [Java folder](./java) contains the files to deploy the HelloWorld function in Java:
51+
* the code of the function, [src/main/java/com/example/fn/HelloFunction.java](./java/src/main/java/com/example/fn/HelloFunction.java)
52+
* its dependencies, [pom.xml](./java/pom.xml)
53+
* the function metadata, [func.yaml](./java/func.yaml)
54+
55+
![user input icon](./images/userinput.png)
56+
57+
You can also generation your own HelloWorld function files by running the following command from your terminal:
58+
59+
```
60+
fn init --runtime <runtime-language> helloworld
61+
```
62+
63+
where <runtime-language> is one of the supported runtime languages (currently go, java, node, and python are supported).
64+
65+
For example:
66+
```
67+
fn init --runtime python helloworld
68+
```
69+
70+
A directory called *helloworld* is created containing the necessary files to deploy the HelloWorld function.
71+
72+
73+
## Deploy the function
74+
75+
![user input icon](./images/userinput.png)
76+
77+
Change directory to the *helloworld* directory created in the previous step:
78+
79+
```
80+
cd helloworld
81+
```
82+
83+
If you did not generate your own function and you are deploying what is provided in this repo, change to either `Java` or `Python`.
84+
85+
To deploy the function, run the following command:
86+
```
87+
fn -v deploy --app <your app name>
88+
```
89+
e.g.
90+
```
91+
fn -v deploy --app myapp
92+
```
93+
94+
95+
## Invoke the function
96+
97+
![user input icon](./images/userinput.png)
98+
99+
Invoke the *helloworld* function by entering:
100+
101+
```
102+
fn invoke <your app name> helloworld
103+
```
104+
e.g.
105+
```
106+
fn invoke myapp helloworld
107+
```
108+
109+
The Python version displays `{"message":"Hello World!"}` and the Java version displays `Hello World!`
110+
111+
You can also pass in a payload to invoke the function.
112+
For Java, run:
113+
```
114+
echo -n "Bob" | fn invoke <your app name> helloworld
115+
```
116+
The `Hello Bob!` output is displayed.
117+
For Python, run:
118+
```
119+
echo -n '{"name":"Bob"}' | fn invoke <your app name> helloworld
120+
```
121+
The `{"message":"Hello Bob!"}` output is displayed.
122+
123+
Congratulations! You've just created, deployed, and invoked the HelloWorld function using Oracle Functions!

‎helloworld/create-application.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

‎helloworld/golang/README.md

Lines changed: 0 additions & 48 deletions
This file was deleted.

‎helloworld/golang/func.go

Lines changed: 0 additions & 29 deletions
This file was deleted.

‎helloworld/golang/func.yaml

Lines changed: 0 additions & 5 deletions
This file was deleted.

‎helloworld/golang/go.mod

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /