first commit
BIN
images/Connect_Rest_3.png
Normal file
|
After Width: | Height: | Size: 91 KiB |
BIN
images/Connection_Apigateway_Rest_Api.png
Normal file
|
After Width: | Height: | Size: 222 KiB |
BIN
images/Connection_Rest_2.png
Normal file
|
After Width: | Height: | Size: 74 KiB |
BIN
images/Create_Integration_1.png
Normal file
|
After Width: | Height: | Size: 189 KiB |
BIN
images/Excel_api_migration_source.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
images/Integration_1.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
images/Integration_1a.png
Normal file
|
After Width: | Height: | Size: 102 KiB |
BIN
images/Integration_1b.png
Normal file
|
After Width: | Height: | Size: 139 KiB |
BIN
images/Integration_1c.png
Normal file
|
After Width: | Height: | Size: 136 KiB |
BIN
images/Integration_1d.png
Normal file
|
After Width: | Height: | Size: 155 KiB |
BIN
images/Integration_2.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
images/Integration_2a.png
Normal file
|
After Width: | Height: | Size: 195 KiB |
BIN
images/Integration_3.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
images/Integration_3a.png
Normal file
|
After Width: | Height: | Size: 145 KiB |
BIN
images/Integration_4.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
images/Integration_4a.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
images/Integration_4b.png
Normal file
|
After Width: | Height: | Size: 154 KiB |
BIN
images/Integration_4c.png
Normal file
|
After Width: | Height: | Size: 116 KiB |
BIN
images/Integration_5.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
images/Integration_5a.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
images/Integration_5b.png
Normal file
|
After Width: | Height: | Size: 140 KiB |
BIN
images/Integration_5c.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
images/Integration_5d.png
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
images/Integration_5e.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
images/Integration_5f.png
Normal file
|
After Width: | Height: | Size: 110 KiB |
BIN
images/Integration_6.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
images/Integration_6a.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
images/Integration_6b.png
Normal file
|
After Width: | Height: | Size: 136 KiB |
BIN
images/Integration_6c.png
Normal file
|
After Width: | Height: | Size: 129 KiB |
BIN
images/Integration_6d.png
Normal file
|
After Width: | Height: | Size: 275 KiB |
BIN
images/Test_1.png
Normal file
|
After Width: | Height: | Size: 145 KiB |
BIN
images/Test_1a.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
images/Test_1aa.png
Normal file
|
After Width: | Height: | Size: 144 KiB |
BIN
images/Test_2.png
Normal file
|
After Width: | Height: | Size: 582 KiB |
BIN
images/connection_rest_1.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
299
index.md
Normal file
@@ -0,0 +1,299 @@
|
||||
# Migrate your APIs to Oracle Cloud API Gateway
|
||||
|
||||
## Introduction
|
||||
|
||||
## Objectives
|
||||
|
||||
## Prerequisites
|
||||
|
||||
## Task 1: Understand your Source API data structure
|
||||
|
||||

|
||||
|
||||
[ {
|
||||
"API_NAME" : "cep",
|
||||
"TYPE" : "REST",
|
||||
"METHOD" : "GET",
|
||||
"PATH_PREFIX" : "/okecep",
|
||||
"PATH" : "/cep",
|
||||
"ENDPOINT" : "http://129.153.138.208/cep",
|
||||
"QUERY_PARAMETERS" : "cep",
|
||||
"GROOVY_SCRIPT" : "",
|
||||
"AUTHENTICATION_TYPE" : "BASIC",
|
||||
"ENVIRONMENT" : "QA",
|
||||
"HEADER" : "",
|
||||
"HEADER_VALUE" : ""
|
||||
}, {
|
||||
"API_NAME" : "calculator",
|
||||
"TYPE" : "SOAP",
|
||||
"METHOD" : "POST",
|
||||
"PATH_PREFIX" : "/dneonline",
|
||||
"PATH" : "/calculator",
|
||||
"ENDPOINT" : "http://www.dneonline.com/calculator.asmx",
|
||||
"QUERY_PARAMETERS" : "",
|
||||
"GROOVY_SCRIPT" : "",
|
||||
"AUTHENTICATION_TYPE" : "BASIC",
|
||||
"ENVIRONMENT" : "DEV",
|
||||
"HEADER" : "",
|
||||
"HEADER_VALUE" : ""
|
||||
} ]
|
||||
|
||||
|
||||
## Task : Understand the OCI API Gateway Deployment Data
|
||||
|
||||
{
|
||||
"requestPolicies": {
|
||||
"authentication": {
|
||||
"type": "CUSTOM_AUTHENTICATION",
|
||||
"tokenHeader": "",
|
||||
"tokenQueryParam": "",
|
||||
"tokenAuthScheme": "authentication-scheme",
|
||||
"isAnonymousAccessAllowed": false,
|
||||
"functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaac2______kg6fq",
|
||||
"maxClockSkewInSeconds": 0,
|
||||
"validationPolicy": {
|
||||
"type": "REMOTE_DISCOVERY",
|
||||
"clientDetails": {
|
||||
"type": "CUSTOM",
|
||||
"clientId": "client-id",
|
||||
"clientSecretId": "secret-ocid",
|
||||
"clientSecretVersionNumber": 0
|
||||
},
|
||||
"sourceUriDetails": {
|
||||
"type": "DISCOVERY_URI",
|
||||
"uri": "well-known-uri"
|
||||
},
|
||||
"isSslVerifyDisabled": true,
|
||||
"maxCacheDurationInHours": 0,
|
||||
"additionalValidationPolicy": {
|
||||
"issuers": ["issuer-url", "issuer-url"],
|
||||
"audiences": ["intended-audience"],
|
||||
"verifyClaims": [{
|
||||
"key": "claim-name",
|
||||
"values": ["acceptable-value", "acceptable-value"],
|
||||
"isRequired": true
|
||||
}]
|
||||
}
|
||||
},
|
||||
"tokenHeader": "Authorization",
|
||||
"validationPolicy": {
|
||||
"type": "REMOTE_DISCOVERY",
|
||||
"clientDetails": {
|
||||
"type": "CUSTOM",
|
||||
"clientId": "5hsti38yhy5j2a4tas455rsu6ru8yui3wrst4n1",
|
||||
"clientSecretId": "ocid1.vaultsecret.oc1.iad.amaaaaaa______cggit3q",
|
||||
"clientSecretVersionNumber": 1
|
||||
},
|
||||
"sourceUriDetails": {
|
||||
"type": "DISCOVERY_URI",
|
||||
"uri": "https://my-idp/oauth2/default/.well-known/openid-configuration"
|
||||
},
|
||||
"isSslVerifyDisabled": false,
|
||||
"maxCacheDurationInHours": 2,
|
||||
"additionalValidationPolicy": {
|
||||
"issuers": ["https://identity.oraclecloud.com/"],
|
||||
"audiences": ["api.dev.io"],
|
||||
"verifyClaims": [{
|
||||
"key": "is_admin",
|
||||
"values": ["service:app", "read:hello"],
|
||||
"isRequired": true
|
||||
}]
|
||||
}
|
||||
}
|
||||
},
|
||||
"mutualTls":{
|
||||
"isVerifiedCertificateRequired": true,
|
||||
"allowedSans": ["api.weather.com"]
|
||||
}
|
||||
},
|
||||
"routes": [
|
||||
{
|
||||
"path": "/weather",
|
||||
"methods": ["GET"],
|
||||
"backend": {
|
||||
"type": "HTTP_BACKEND",
|
||||
"url": "https://api.weather.gov/${request.auth[region]}"
|
||||
},
|
||||
"requestPolicies": {
|
||||
"authorization": {
|
||||
"type": "ANY_OF",
|
||||
"allowedScope": [ "weatherwatcher" ]
|
||||
},
|
||||
"headerValidations": {
|
||||
"headers": {
|
||||
"name": "header-name",
|
||||
"required": true
|
||||
},
|
||||
"validationMode": "ENFORCING|PERMISSIVE|DISABLED"
|
||||
},
|
||||
"queryParameterValidations": {
|
||||
"parameters": {
|
||||
"name": "query-parameter-name",
|
||||
"required": true
|
||||
},
|
||||
"validationMode": "ENFORCING|PERMISSIVE|DISABLED"
|
||||
},
|
||||
"bodyValidation": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"media-type-1": {
|
||||
"validationType": "NONE"
|
||||
},
|
||||
"media-type-2": {
|
||||
"validationType": "NONE"
|
||||
}
|
||||
},
|
||||
"validationMode": "ENFORCING|PERMISSIVE|DISABLED"
|
||||
},
|
||||
"headerTransformations": {
|
||||
"renameHeaders": {
|
||||
"items": [
|
||||
{
|
||||
"from": "original-name",
|
||||
"to": "new-name"
|
||||
}
|
||||
]
|
||||
},
|
||||
"setHeaders": {
|
||||
"items": [
|
||||
{
|
||||
"name": "header-name",
|
||||
"values": ["header-value"],
|
||||
"ifExists": "OVERWRITE|APPEND|SKIP"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"queryParameterTransformations": {
|
||||
"filterQueryParameters": {
|
||||
"type": "BLOCK|ALLOW",
|
||||
"items": [
|
||||
{
|
||||
"name": "query-parameter-name"
|
||||
}
|
||||
]
|
||||
},
|
||||
"renameQueryParameters": {
|
||||
"items": [
|
||||
{
|
||||
"from": "original-name",
|
||||
"to": "new-name"
|
||||
}
|
||||
]
|
||||
},
|
||||
"setQueryParameters": {
|
||||
"items": [
|
||||
{
|
||||
"name": "query-parameter-name",
|
||||
"values": ["query-parameter-value"],
|
||||
"ifExists": "OVERWRITE|APPEND|SKIP"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"responsePolicies": {
|
||||
"headerTransformations": {
|
||||
"filterHeaders": {
|
||||
"type": "BLOCK|ALLOW",
|
||||
"items": [
|
||||
{
|
||||
"name": "header-name"
|
||||
}
|
||||
]
|
||||
},
|
||||
"renameHeaders": {
|
||||
"items": [
|
||||
{
|
||||
"from": "original-name",
|
||||
"to": "new-name"
|
||||
}
|
||||
]
|
||||
},
|
||||
"setHeaders": {
|
||||
"items": [
|
||||
{
|
||||
"name": "header-name",
|
||||
"values": ["header-value"],
|
||||
"ifExists": "OVERWRITE|APPEND|SKIP"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
## Task 2: Create Connections
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||

|
||||
|
||||
## Task 3: Create the Integration
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## Task : Test the migration
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||