Activo de datos REST genérico
Actualmente, debe cargar un archivo de manifiesto al crear un activo de datos REST. Un archivo de manifiesto describe toda la API de la URL base, incluidas rutas, operaciones, parámetros, estructuras de cuerpo y respuesta de solicitudes y propiedades de objetos. El archivo no debe superar los 3 MB.
Antes de crear un activo de datos REST, asegúrese de comprender lo que está soportado y las limitaciones actuales.
Antes de empezar
Data Integration soporta OpenAPI 3.0.0 (y versiones posteriores) y solo archivos de manifiesto JSON o YML/YAML para el origen de datos REST.
Para crear un activo de datos REST, debe proporcionar la URL base de los puntos finales de la API y cargar el archivo de manifiesto.
Un punto final de API completo consta de una URL base, una ruta de recurso y una URL de servidor que se define en el archivo de manifiesto. Considere el punto final con la ruta como /users/findByStatus
:
https://myapi.example.com/v1/users/findByStatus
Si el archivo de manifiesto tiene la URL del servidor como /v1
, la URL base es:
https://myapi.example.com
Si la URL del servidor no está definida en el archivo de manifiesto o el archivo de manifiesto tiene la URL del servidor como /
, la URL base es:
https://myapi.example.com/v1
Tenga en cuenta las siguientes capacidades soportadas y las limitaciones actuales al crear y utilizar un activo de datos REST como origen en Data Integration:
- El archivo de manifiesto para cargar no debe superar los 3 MB.
- No se admiten los archivos de manifiesto JSON y YML/YAML basados en una versión anterior a 3.0.0.
- OAuth 2.0, Básico y no se admite ninguna autenticación.
- Solo están soportadas las llamadas
GET
. - El encabezado y las cookies de un cuerpo o respuesta de solicitud no están soportados.
- No está soportada una respuesta de JSON como archivo.
- Solo está soportado JSON
content-type
. - Las palabras clave
OneOf
,AnyOf
,AllOf
yAdditionalProperties
no se admiten en un archivo de manifiesto. - El contenido del parámetro se debe describir mediante la palabra clave
schema
; la palabra clave de contenido no está soportada. - No se admite un valor por defecto para un parámetro. En el caso de un parámetro opcional con valor por defecto, se debe proporcionar explícitamente un valor por defecto.
- Solo están soportados los tipos de dato Entero, Largo, Flotante, Doble, Número y Cadena.
- Los formatos de datos Fecha, Contraseña, Correo electrónico y Binario se ignoran y se tratan como Cadena únicamente.
- Solo están soportados los tipos primitivos para los parámetros de ruta.
- Los parámetros de consulta están soportados para primitivos y matrices de primitivos.
- La matriz de matriz en una respuesta JSON no está soportada.
- Los atributos de estilo y desglose se ignoran y un parámetro de consulta se trata como style=form, explode=true mientras que un parámetro de ruta de acceso se trata como style=simple, explode=false.
- La referencia (
#ref
) debe ser solo local; no puede apuntar a ninguna URL ni a otro archivo. #ref
paraschema
está soportado.responses
,headers
yparameters
no deben utilizar#ref
.- Actualmente, la opción Probar conexión para un activo de datos REST no está implantada; siempre devuelve true (successful).
- Al visualizar los detalles del activo de datos, no se admite la creación de perfiles de datos ni la vista previa de datos jerárquicos.
- En una respuesta, solo los atributos de nivel raíz se asignan a nombres de columna.
- Si un punto final devuelve una matriz de primitivos, solo hay una columna como "
<name>_index
", dondeindex
es>= 0
Propiedades del activo de datos REST
Asegúrese de tener la URL base y el archivo de manifiesto antes de crear el activo de datos REST.
Para utilizar un secreto para la contraseña con autenticación básica, consulte Secretos de OCI Vault y carteras de Oracle.
Para crear un activo de datos que se conecte a un origen REST, complete las siguientes propiedades y detalles de conexión. Consulte Sample Manifest File.
Campo | Descripción |
---|---|
Propiedades | |
Nombre | Introduzca un nombre para el activo de datos. |
Identificador | El identificador es un valor generado por el sistema basado en el nombre. Puede cambiar el valor del identificador, pero después de crearlo y guardarlo, no puede actualizarlo. |
Descripción | (Opcional) Agregar una descripción. |
Tipo | El campo muestra el tipo de origen de datos seleccionado en el panel Seleccionar tipo de activo de datos (como se describe en Creación de un activo de datos). Data Integration muestra los campos de propiedad de activos de datos y los campos de conexión por defecto basados en este tipo. |
URL Base |
Introduzca la URL base de sus puntos finales de API. Por ejemplo: O bien,
|
Cargar archivo de manifiesto |
Borre el archivo YML/YAML o JSON para cargar el archivo de manifiesto que puede pasar por la URL base. También puede hacer clic en el enlace Seleccionar archivo para buscar la ubicación que tiene el archivo. Si no proporciona un archivo de manifiesto y aparece el mensaje |
Información de la conexión por defecto | |
Nombre | Introduzca un nombre para la conexión por defecto. |
Identificador | El identificador es un valor generado por el sistema basado en el nombre. Puede cambiar el valor del identificador, pero después de crearlo y guardarlo, no puede actualizarlo. |
Descripción | (Opcional) Agregar una descripción. |
Autenticación |
Seleccione uno de los siguientes métodos de autenticación:
El tipo de autenticación de una conexión no se puede cambiar después de crearla. |
(Opcional) Prueba de conexión | |
Probar conexión | Después de completar todos los campos necesarios, seleccione Probar conexión para asegurarse de que los detalles del activo de datos se han introducido correctamente y de que se puede establecer la conexión. Si la prueba se realiza correctamente, aparece un mensaje que indica que se ha realizado correctamente. Si la prueba falla con un mensaje de error, revise la configuración de conexión y vuelva a intentarlo. |
Archivo de manifiesto de ejemplo
{
"openapi": "3.0.1",
"servers": [
{
"url": "/v1",
"description": "Generated server url"
}
],
"paths": {
"/orders": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getOrders",
"responses": {
"200": {
"$ref": "#/components/responses/orderSuccess"
}
}
}
},
"/paginatedOrders": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getPaginatedOrdersRowOffset",
"parameters": [
{
"name": "maximumPageSize",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "firstRowNumber",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "rowOffsetParameter",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "pageSizeParameter",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedOrders"
}
}
}
}
}
}
},
"/paginatedOrdersPageNum": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getPaginatedOrdersPageNumberBased",
"parameters": [
{
"name": "maximumPageSize",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "firstPageNumber",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "pageSizeParameter",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "pageNumberParameter",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedOrders"
}
}
}
}
}
}
},
"/orders/{orderNo}": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getOrdersByOrderID",
"parameters": [
{
"$ref": "#/components/parameters/orderNum"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Order"
}
}
}
}
}
},
"delete": {
"tags": [
"rest-connector-controller"
],
"operationId": "deleteOrder",
"parameters": [
{
"name": "orderNo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/orders/noAuth/{orderNo}": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getOrdersByOrderIDNoAuth",
"parameters": [
{
"name": "orderNo",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Order"
}
}
}
}
}
}
},
"/orders/headers/validation": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getOrdersAfterHeadersValidation",
"parameters": [
{
"name": "UserId",
"in": "header",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "Password",
"in": "header",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "Email",
"in": "header",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SalesOrders"
}
}
}
}
}
}
},
"/orders/filterbystore": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getOrdersByStore",
"parameters": [
{
"$ref": "#/components/parameters/storeId"
},
{
"name": "customerName",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Order"
}
}
}
}
}
}
}
},
"/orders/byName": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getOrdersByCustomerName",
"parameters": [
{
"name": "customerName",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Order"
}
}
}
}
}
}
}
},
"/orders/byEmail": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getOrdersByCustomerEmail",
"parameters": [
{
"name": "customerEmail",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Order"
}
}
}
}
}
}
}
},
"/customers/getCustomersName": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getCustomersName",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
},
"/customers/getCustomer": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getCustomer",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Customer"
}
}
}
}
}
}
},
"/customers/getCustomerList": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getCustomersList",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Customer"
}
}
}
}
}
}
}
},
"/customers/getCustomerEmail": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getCustomerInfoSingleField",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"customerEmail": {
"type": "string"
}
}
}
}
}
}
}
}
},
"/headOffice": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getHeadOffice",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HeadOffice"
}
}
}
}
}
}
},
"/namedPrimitiveArray": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getNamedPrimitiveArray",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
}
}
},
"/primitive": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getSinglePrimitive",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "string"
}
}
}
}
}
}
},
"/reservedColumns": {
"get": {
"tags": [
"rest-connector-controller"
],
"operationId": "getReservedColumns",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Positions"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"Address": {
"type": "object",
"properties": {
"street": {
"type": "string"
},
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"zipcode": {
"type": "string"
}
}
},
"Fullfilment": {
"type": "object",
"properties": {
"storeNo": {
"type": "string"
},
"lineItems": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LineItems"
}
}
}
},
"LineItems": {
"type": "object",
"properties": {
"itemName": {
"type": "string"
},
"itemId": {
"type": "string"
},
"qty": {
"type": "string"
}
}
},
"Order": {
"type": "object",
"properties": {
"customerName": {
"type": "string"
},
"orderNo": {
"type": "string"
},
"phoneNo": {
"type": "string"
},
"email": {
"type": "string"
},
"address": {
"$ref": "#/components/schemas/Address"
},
"fullfilments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Fullfilment"
}
}
}
},
"PaginatedOrders": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Order"
}
}
}
},
"SalesOrders": {
"type": "object",
"properties": {
"orders": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Order"
}
}
}
},
"Customer": {
"type": "object",
"properties": {
"customerEmail": {
"type": "string"
},
"type": {
"type": "string"
},
"customerName": {
"type": "string"
},
"phoneno": {
"type": "string"
},
"address": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"HeadOffice": {
"type": "object",
"properties": {
"longitude": {
"type": "number"
},
"latitude": {
"type": "number",
"format": "double"
},
"turnover": {
"type": "number",
"format": "float"
},
"milliSeconds": {
"type": "integer",
"format": "int64"
},
"storeNo": {
"type": "integer",
"format": "int32"
},
"noOfEmployees": {
"type": "integer"
}
}
},
"Positions": {
"type": "object",
"properties": {
"position": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Position_1": {
"type": "integer"
},
"Position": {
"type": "string"
},
"Position_3": {
"type": "number",
"format": "float"
},
"Position_4": {
"type": "number",
"format": "double"
},
"Position_2": {
"type": "integer",
"format": "int64"
},
"Position_11": {
"type": "string"
}
}
}
}
}
}
},
"parameters": {
"orderNum": {
"name": "orderNo",
"in": "path",
"required": true,
"content": {
"application/json": {
"schema": {
"type": "string"
}
}
}
},
"storeId": {
"name": "storeId",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
}
},
"responses": {
"orderSuccess": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SalesOrders"
}
}
}
}
}
}
}