Generisches REST-Datenasset
Derzeit müssen Sie eine Manifestdatei hochladen, wenn Sie ein REST-Datenasset erstellen. Eine Manifestdatei beschreibt die gesamte API Ihrer Basis-URL, einschließlich Pfaden, Vorgängen, Parametern, Anforderungsbody- und Antwortstrukturen und Objekteigenschaften. Die Datei darf nicht größer als 3 MB sein.
Bevor Sie ein REST-Datenasset erstellen, stellen Sie sicher, dass Sie verstehen, was unterstützt wird, und alle aktuellen Einschränkungen.
Bevor Sie beginnen
Data Integration unterstützt OpenAPI 3.0.0 (und höher) und nur JSON- oder YML/YAML-Manifestdateien für Ihre REST-Datenquelle.
Um ein REST-Datenasset zu erstellen, müssen Sie die Basis-URL Ihrer API-Endpunkte angeben und die Manifestdatei hochladen.
Ein vollständiger API-Endpunkt besteht aus einer Basis-URL, einem Ressourcenpfad und einer Server-URL, die in der Manifestdatei definiert ist. Betrachten Sie den Endpunkt mit dem Pfad /users/findByStatus
:
https://myapi.example.com/v1/users/findByStatus
Wenn die Manifestdatei die Server-URL /v1
enthält, lautet die Basis-URL:
https://myapi.example.com
Wenn die Server-URL nicht in der Manifestdatei definiert ist oder die Manifestdatei die Server-URL als /
aufweist, lautet die Basis-URL:
https://myapi.example.com/v1
Berücksichtigen Sie die folgenden unterstützten Funktionen und aktuellen Einschränkungen beim Erstellen und Verwenden eines REST-Datenassets als Quelle in Data Integration:
- Die Manifestdatei zum Hochladen darf 3 MB nicht überschreiten.
- JSON- und YML/YAML-Manifestdateien, die auf einer Version unter 3.0.0 basieren, werden nicht unterstützt.
- OAuth 2.0, Basic und keine Authentifizierung werden unterstützt.
- Nur
GET
-Aufrufe werden unterstützt. - Header und Cookies in einem Anforderungstext oder einer Antwort werden nicht unterstützt.
- Eine JSON-Antwort als Datei wird nicht unterstützt.
- Nur JSON
content-type
wird unterstützt. - Die Schlüsselwörter
OneOf
,AnyOf
,AllOf
undAdditionalProperties
werden in einer Manifestdatei nicht unterstützt. - Parameterinhalte sollten mit dem Schlüsselwort
schema
beschrieben werden. Das Inhaltsschlüsselwort wird nicht unterstützt. - Ein Standardwert für einen Parameter wird nicht unterstützt. Bei einem optionalen Parameter mit Default muss ein Default-Wert explizit angegeben werden.
- Es werden nur die Datentypen "Ganzzahl", "Lang", "Gleitkommazahl", "Doppelt", "Zahl" und "Zeichenfolge" unterstützt.
- Datenformate Datum, Kennwort, E-Mail und Binär werden ignoriert und nur als Zeichenfolge behandelt.
- Nur primitive Typen für Pfadparameter werden unterstützt.
- Primitive und Array von Primitiven werden für Abfrageparameter unterstützt.
- Array von Array in einer JSON-Antwort wird nicht unterstützt.
- Stil- und Explosionsattribute werden ignoriert, und ein Abfrageparameter wird als style=form, explode=true behandelt, während ein Pfadparameter als style=simple, explode=false behandelt wird.
- Referenz (
#ref
) darf nur lokal sein und darf nicht auf eine URL oder eine andere Datei verweisen. #ref
fürschema
wird unterstützt.responses
,headers
undparameters
dürfen#ref
nicht verwenden.- Derzeit ist die Option "Verbindung testen" für ein REST-Datenasset nicht implementiert. Sie gibt immer "true" (erfolgreich) zurück.
- Beim Anzeigen der Datenassetdetails wird die Datenprofilerstellung oder Vorschau von hierarchischen Daten nicht unterstützt.
- In einer Antwort werden nur Attribute auf Root-Ebene Spaltennamen zugeordnet.
- Wenn ein Endpunkt ein Array von Primitiven zurückgibt, gibt es nur eine Spalte wie "
<name>_index
", wobeiindex
>= 0
ist
REST-Datenasseteigenschaften
Stellen Sie sicher, dass Sie über die Basis-URL und Manifestdatei verfügen, bevor Sie das REST-Datenasset erstellen.
Informationen zur Verwendung eines Secrets für das Kennwort mit Basisauthentifizierung finden Sie unter OCI Vault Secrets und Oracle Wallets.
Um ein Datenasset zu erstellen, das eine Verbindung zu einer REST-Quelle herstellt, führen Sie die folgenden Eigenschaften und Verbindungsdetails aus. Siehe Beispielmanifestdatei.
Feld | Beschreibung |
---|---|
Eigenschaften | |
Name | Geben Sie einen Namen für das Datenasset ein. |
Identifier | Die ID ist ein vom System generierter Wert, der auf dem Namen basiert. Sie können den ID-Wert ändern. Nach dem Erstellen und Speichern können Sie die ID jedoch nicht mehr aktualisieren. |
Beschreibung | (Optional) Fügen Sie eine Beschreibung hinzu. |
Typ | Das Feld zeigt den Datenquellentyp an, den Sie im Bereich Datenassettyp auswählen ausgewählt haben (wie unter Datenasset erstellen beschrieben). Data Integration zeigt die Datenasset-Eigenschaftsfelder und Standardverbindungsfelder basierend auf diesem Typ an. |
Basis-URL |
Geben Sie die Basis-URL Ihrer API-Endpunkte ein. Beispiel: oder
|
Manifestdatei hochladen |
Löschen Sie die YML-/YAML- oder JSON-Datei, um die Manifestdatei hochzuladen, die durch die Basis-URL geleitet werden kann. Alternativ können Sie auf den Link Datei auswählen klicken, um zu dem Speicherort zu navigieren, in dem sich die Datei befindet. Wenn Sie keine Manifestdatei angeben und die Meldung |
Standardverbindungsinformationen | |
Name | Geben Sie einen Namen für die Standardverbindung ein. |
Identifier | Die ID ist ein vom System generierter Wert, der auf dem Namen basiert. Sie können den ID-Wert ändern. Nach dem Erstellen und Speichern können Sie die ID jedoch nicht mehr aktualisieren. |
Beschreibung | (Optional) Fügen Sie eine Beschreibung hinzu. |
Authentifizierung |
Wählen Sie eine der folgenden Authentifizierungsmethoden:
Der Authentifizierungstyp für eine Verbindung kann nach der Erstellung nicht mehr geändert werden. |
(Optional) Verbindung testen | |
Anmeldung testen | Nachdem Sie alle erforderlichen Felder ausgefüllt haben, wählen Sie Verbindung testen aus, um sicherzustellen, dass die Datenassetdetails korrekt eingegeben wurden und die Verbindung hergestellt werden kann. Wenn der Test erfolgreich war, wird eine Erfolgsmeldung angezeigt. Wenn der Test mit einer Fehlermeldung nicht erfolgreich verläuft, prüfen Sie die Verbindungseinstellungen, und versuchen Sie es erneut. |
Beispielmanifestdatei
{
"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"
}
}
}
}
}
}
}