メタデータREST APIの管理
Oracle REST APIを使用して、データ・ストア抽出メタデータを表示できます。
-
RESTサーバーURL: 通常は、Oracle CloudサービスのURL。 たとえば、https://servername.fa.us2.oraclecloud.com:<host:port>/biacm/restです
-
ユーザー名とパスワード: 使用するリソースにアクセスする権限を持つOracle Cloudサービス・ユーザー。
RESTサーバーURL、ユーザー名およびパスワードは、Oracle Cloudサービス管理者に送信されたようこそ電子メールに記載されています。
DataStoreMetaの取得
DataStoreメタデータを取得するには、PathParamとしてdataStoreIdを渡します。 QueryParamのlocaleはオプションです。
URLの例
リソースURLの例を次に示します。
GET
/meta/datastores/CrmAnalyticsAM.PartiesAnalyticsAM.Person/meta/datastores/CrmAnalyticsAM.PartiesAnalyticsAM.Person?locale=ko
応答の例
JSON形式の応答本文の例を次に示します。
{
"dataStoreId": "CrmAnalyticsAM.PartiesAnalyticsAM.Person",
"dataStoreName": "CrmAnalyticsAM.PartiesAnalyticsAM.Person",
"filters": null,
"isEffectiveDateDisabled": false,
"isFlexDataStore": false,
"isSilentError": false,
"columns": [{
"name": "CreatedBy",
"label": "Created By",
"dataType": "VARCHAR",
"size": "64",
"precision": "64",
"scale": "-127",
"isPrimaryKey": false,
"isPopulate": true,
"isLastUpdateDate": false,
"isNaturalKey": false
}, {
"name": "CreationDate",
"label": "Creation Date",
"dataType": "TIMESTAMP",
"size": "0",
"precision": "0",
"scale": "-127",
"isPrimaryKey": false,
"isPopulate": true,
"isLastUpdateDate": false,
"isNaturalKey": false
}, {
"name": "LastUpdateDate",
"label": "Last Updated Date",
"dataType": "TIMESTAMP",
"size": "0",
"precision": "0",
"scale": "-127",
"isPrimaryKey": false,
"isPopulate": true,
"isLastUpdateDate": true,
"isNaturalKey": false
}, {
"name": "LastUpdatedBy",
"label": "Last Updated By",
"dataType": "VARCHAR",
"size": "64",
"precision": "64",
"scale": "-127",
"isPrimaryKey": false,
"isPopulate": true,
"isLastUpdateDate": false,
"isNaturalKey": false
}, {
"name": "PartyId",
"label": "PartyId",
"dataType": "NUMERIC",
"size": "8",
"precision": "18",
"scale": "0",
"isPrimaryKey": false,
"isPopulate": true,
"isLastUpdateDate": false,
"isNaturalKey": false
}, {
"name": "PersonProfileId",
"label": "PersonProfileId",
"dataType": "NUMERIC",
"size": "8",
"precision": "18",
"scale": "0",
"isPrimaryKey": true,
"isPopulate": true,
"isLastUpdateDate": false,
"isNaturalKey": false
},
VOメタデータの予想される動作
この項では、SDM VOと非SDM VOのメタデータAPI属性に関する追加詳細を示します。
次の表は、SDM VOと非SDM VOのVO属性の違いを示しています。
VO属性 | SDM VO (属性のフェッチ) | 非SDM VO (属性のフェッチ) |
---|---|---|
dataStoreId | はい | はい |
dataStoreName | はい | はい |
filters | はい | いいえ |
isEffectiveDateDisabled | はい | いいえ |
isFlexDataStore | はい | いいえ |
isSilentError | はい | いいえ |
次の表は、SDM VOと非SDM VOの列属性の違いを示しています。
VO属性 | SDM VO (属性のフェッチ) | 非SDM VO (属性のフェッチ) |
---|---|---|
name | はい | はい |
label | はい | はい |
dataType | はい | はい |
size | はい | はい |
precision | はい | はい |
scale | はい | はい |
isPrimaryKey | はい | いいえ |
isPopulate | はい | いいえ |
isLastUpdateDate | はい | いいえ |
isNaturalKey | はい | いいえ |
isEffectiveStartDate | はい | いいえ |
isCreationDate | はい | いいえ |
colConversion | はい | いいえ |
ユーザー・カスタマイズを含むDataStoreMetaの取得
DataStoreメタデータを取得するには、PathParamとしてdataStoreIdを渡します。 QueryParamのlocaleはオプションです。
URLの例
リソースURLの例を次に示します。
GET
/meta/datastores/CrmAnalyticsAM.PartiesAnalyticsAM.Person?includeCustomization=true
/meta/datastores/CrmAnalyticsAM.PartiesAnalyticsAM.Person?includeCustomization=true&locale=ko
応答の例
JSON形式の応答本文の例を次に示します。
{
"dataStoreId": "CrmAnalyticsAM.PartiesAnalyticsAM.Person",
"dataStoreName": "CrmAnalyticsAM.PartiesAnalyticsAM.Person",
"filters": null,
"isEffectiveDateDisabled": false,
"isFlexDataStore": false,
"isSilentError": false,
"columns": [{
"name": "CreatedBy",
"label": "Created By",
"dataType": "VARCHAR",
"size": "64",
"precision": "64",
"scale": "-127",
"isPrimaryKey": false,
"isPopulate": true,
"isLastUpdateDate": false,
"isNaturalKey": false
}, {
"name": "CreationDate",
"label": "Creation Date",
"dataType": "TIMESTAMP",
"size": "0",
"precision": "0",
"scale": "-127",
"isPrimaryKey": false,
"isPopulate": true,
"isLastUpdateDate": false,
"isNaturalKey": false
}, {
"name": "LastUpdateDate",
"label": "Last Updated Date",
"dataType": "TIMESTAMP",
"size": "0",
"precision": "0",
"scale": "-127",
"isPrimaryKey": false,
"isPopulate": true,
"isLastUpdateDate": true,
"isNaturalKey": false
}, {
"name": "LastUpdatedBy",
"label": "Last Updated By",
"dataType": "VARCHAR",
"size": "64",
"precision": "64",
"scale": "-127",
"isPrimaryKey": false,
"isPopulate": true,
"isLastUpdateDate": false,
"isNaturalKey": false
}, {
"name": "PartyId",
"label": "PartyId",
"dataType": "NUMERIC",
"size": "8",
"precision": "18",
"scale": "0",
"isPrimaryKey": false,
"isPopulate": true,
"isLastUpdateDate": false,
"isNaturalKey": false
}, {
"name": "PersonProfileId",
"label": "PersonProfileId",
"dataType": "NUMERIC",
"size": "8",
"precision": "18",
"scale": "0",
"isPrimaryKey": true,
"isPopulate": true,
"isLastUpdateDate": false,
"isNaturalKey": false
},
データ・ストアの作成または更新
この方法を使用して、データ・ストアを作成または更新します。 たとえば、データ・ストアにフィルタを追加するとします。 DataStoreメタデータを取得するには、PathParamとしてdataStoreIdを渡します。 必要なフィルタをfilters属性に追加し、ルートキーdsmetaをJSONファイルに追加します。
URLの例
リソースURLの例を次に示します。
PUT
/meta/datastores/
要求のサンプル
JSON形式のサンプル要求本文の例を次に示します。
{"offerings": ["HR_AN_OFRNG"],
"dsMeta":{
"dataStoreId": "CrmAnalyticsAM.GeographiesAnalyticsAM.ZoneHelper",
"dataStoreName": "CrmAnalyticsAM.GeographiesAnalyticsAM.ZoneHelper",
"filters": null,
"isEffectiveDateDisabled": false,
"isFlexDataStore": false,
"isSilentError": false,
"columns": [
{
"name": "MasChildId",
"label": "MasChildId",
"dataType": "NUMERIC",
"size": "8",
"precision": "0",
"scale": "-127",
"isPrimaryKey": false,
"isPopulate": true,
"isLastUpdateDate": false,
"isNaturalKey": false,
"isEffectiveStartDate": false,
"isCreationDate": false,
"colConversion": null
},
{
"name": "MasHierarchyNodeId",
"label": "MasHierarchyNodeId",
"dataType": "NUMERIC",
"size": "8",
"precision": "18",
"scale": "0",
"isPrimaryKey": true,
"isPopulate": true,
"isLastUpdateDate": false,
"isNaturalKey": false,
"isEffectiveStartDate": false,
"isCreationDate": false,
"colConversion": null
},
{
"name": "MasLastUpdateDate",
"label": "MasLastUpdateDate",
"dataType": "TIMESTAMP",
"size": "0",
"precision": "0",
"scale": "-127",
"isPrimaryKey": false,
"isPopulate": true,
"isLastUpdateDate": true,
"isNaturalKey": false,
"isEffectiveStartDate": false,
"isCreationDate": false,
"colConversion": null
},
{
"name": "MasLevelNumber",
"label": "MasLevelNumber",
"dataType": "NUMERIC",
"size": "8",
"precision": "0",
"scale": "-127",
"isPrimaryKey": false,
"isPopulate": true,
"isLastUpdateDate": false,
"isNaturalKey": false,
"isEffectiveStartDate": false,
"isCreationDate": false,
"colConversion": null
}]
}}
ジョブ定義の取得
ジョブ定義を取得するには、PathParamとしてjobIdを渡します。 たとえば - /meta/jobs/1
URLの例
リソースURLの例を次に示します。
GET
/meta/jobs/{jobId}
応答のサンプル
{
"dataStores": [
{
"dataStoreMeta": {
"columns": [
{
"name": "CreatedBy",
"isPrimaryKey": false,
"isPopulate": false,
"isLastUpdateDate": false,
"isNaturalKey": false,
"isEffectiveStartDate": false,
"isCreationDate": false,
"colConversion": null
},
{
"name": "CreationDate",
"isPrimaryKey": false,
"isPopulate": false,
"isLastUpdateDate": false,
"isNaturalKey": false,
"isEffectiveStartDate": false,
"isCreationDate": true,
"colConversion": null
},
{
"name": "EnabledFlag",
"isPrimaryKey": false,
"isPopulate": false,
"isLastUpdateDate": false,
"isNaturalKey": false,
"isEffectiveStartDate": false,
"isCreationDate": false,
"colConversion": null
},
{
"name": "LastUpdateDate",
"isPrimaryKey": false,
"isPopulate": false,
"isLastUpdateDate": false,
"isNaturalKey": false,
"isEffectiveStartDate": false,
"isCreationDate": false,
"colConversion": null
},
{
"name": "LastUpdatedBy",
"isPrimaryKey": false,
"isPopulate": false,
"isLastUpdateDate": false,
"isNaturalKey": false,
"isEffectiveStartDate": false,
"isCreationDate": false,
"colConversion": null
},
ジョブの作成または更新
この方法を使用して、ジョブを作成または更新します。 たとえば - /meta/jobs/
URLの例
リソースURLの例を次に示します。
PUT
/meta/jobs/
要求のサンプル
{
"dataStores": [
{
"dataStoreMeta": {
"columns": [
{
"name": "CreatedBy",
"isPrimaryKey": false,
"isPopulate": false,
"isLastUpdateDate": false,
"isNaturalKey": false,
"isEffectiveStartDate": false,
"isCreationDate": false,
"colConversion": null
},
{
"name": "CreationDate",
"isPrimaryKey": false,
"isPopulate": false,
"isLastUpdateDate": false,
"isNaturalKey": false,
"isEffectiveStartDate": false,
"isCreationDate": true,
"colConversion": null
},
{
"name": "EnabledFlag",
"isPrimaryKey": false,
"isPopulate": false,
"isLastUpdateDate": false,
"isNaturalKey": false,
"isEffectiveStartDate": false,
"isCreationDate": false,
"colConversion": null
},
{
"name": "LastUpdateDate",
"isPrimaryKey": false,
"isPopulate": false,
"isLastUpdateDate": false,
"isNaturalKey": false,
"isEffectiveStartDate": false,
"isCreationDate": false,
"colConversion": null
},
{
"name": "LastUpdatedBy",
"isPrimaryKey": false,
"isPopulate": false,
"isLastUpdateDate": false,
"isNaturalKey": false,
"isEffectiveStartDate": false,
"isCreationDate": false,
"colConversion": null
],
"dataStoreKey": "FscmTopModelAM.FinGlJrnlEntriesAM.JournalHeaderPVO",
"filters": "__DATASTORE__.JrnlHdrPeriodName = 'Nov-21' and
__DATASTORE__.JournalBatchPostingStatusCode = 'P'",
"isEffectiveDateDisabled": false,
"isFlexDataStore": false,
"isSilentError": true,
"initialExtractDate": null,
"chunkType": null,
"chunkDateSeqIncr": 0,
"chunkDateSeqMin": 0,
"chunkPkSeqIncr": 0,
"useUnionForIncremental": false
},
"lastExtractDate": "2021-04-01T21:19:30.000",
"groupNumber": 0,
"groupItemPriority": 0
}
],
"schedules": null,
"name": "CFA_RFR_GL_FULL_CUSTOM_JOB",
"description": "FULL Period Extract Job to sync FCR GL Transaction sync
tables from ERP"
}
応答のサンプル
{
"status": <SUCCESS/SUCCESS_WITH_WARNING>,
"id": <JOB_ID>,
"message": <Any warning message>
}