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
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||