Decision service metadata

Every decision service comes with a set of metadata. Use the decision runtime REST API to view or modify the decision service metadata that are not coming from the decision service archive.

For more information, see the endpoints ending with /metadata in the decision runtime REST API in Reference.

Metadata in the decision service archive

Table 1 shows the metadata that exists in the decision service archive. This metadata is automatically available through the decision service management REST API, enabling its full identification and traceability across its entire lifecycle.

Note: You cannot edit or delete the decision service metadata.
Each metadata has a simple value of type: String.
Table 1. Decision service metadata
Name Description Example value
contentVersion

The version of this file.

"1.0.0"
decisionId

A unique identifier for the decision service archive.

Use this ID if you want to execute a specific build of a decision service archive.

samples.LoanValidation:LoanValidationDecisionService:4.6.2.2
decisionServiceDescription

The business description of the decision service.

This decision service evaluates loan requests and renders approval or denial outcomes.

commitId

The Git commit identifier for the source of the deployed version of the decision service archive.

"39ff2ddde9ac2ee21c7d67b664beaf03524e0ed6"
buildTime

The time at which the decision service archive was built in ISO 8601 representation.

"2021-04-19T10:36:42Z"
deploymentSpaceId

The identifier of the deployment space.

Restriction: Decision services that are present in preview and test deployment spaces are periodically deleted. Do not deploy decision services to these deployment spaces as they contain ephemeral decision services.
When you use the run service to deploy the decision service archive, it is "embedded".
deploymentTime The time of the deployment of the decision service archive in the runtime. 2021-11-03T11:36:46Z
mavenGroupId

The Maven group ID of this archive.

"samples.LoanValidation"
mavenArtifactId

The Maven artifact ID of this archive.

"LoanValidation"
mavenVersion

The version of this archive given at build time.

"4.6.2.2"
decisionServiceName

The name of the decision service.

"samples.LoanValidation"
decisionServiceId

The identifier of the decision service.

For example, you can use this ID when you want to execute the last deployed decision service archive build.

"LoanValidation"
decisionServiceVersion

The version of the decision service.

"4.6.2.2"
engineRuntimeVersion

The version of the decision engine embedded in the decision service archive.

"2.8.1"
engineAPIVersion

The version of the decision engine API used when building this decision service archive.

"2.8.0"
mlIntegrationRuntimeVersion

The version of the machine learning runtime embedded in the decision service archive.

"6.0.12"
deploymentSpaceHashCodeId

A hexadecimal representation of the hashcode (SHA256) of deploymentSpaceId

9289140B1AC28DBDA1437B283E6CA608E33186654E7D3A995DA268C35906CD4C
decisionHashCodeId

A hexadecimal representation of the hashcode (SHA256) of decisionId

E9C7618B3B7EF1FB99A93510C920227A297DE45F0EE2471BC58439CF922056E

Metadata for automation services

The metadata for automation services are generated when a decision service is published as an automation service. Use the decision runtime REST API to view or modify the automation service metadata.

Note: You can edit or delete the automation service metadata.
Table 2. Decision service metadata for automation services
Name Description Example value
automationServiceId

The identifier of the automation service. If the decision service is not published as an automation service, this metadata is not defined.

"/dba/automation_service/decision/_105930706/testoco_281021/loanvalidation"
automationServiceVersionedId

The identifier of this particular version of the automation service. If the decision service is not published as an automation service, this metadata is not defined.

"/dba/automation_service/decision/_105930706/testoco_281021/v1/loanvalidation"

Mandatory metadata for invoking machine learning services

When a decision service needs to access to a machine learning provider, it must specify the required information by using the related metadata REST API. For more information about this REST API, see PUT /deploymentSpaces/{deploymentSpaceId}/decisions/{decisionId}/metadata method in the Decision runtime REST API reference in Reference.

The corresponding metadata must follow this pattern: ml_provider_name and ml_provider_info_id. For ml_provider_name, there are 3 cases: Open Prediction Service (OPS) provider, Watson® Machine Learning (WML) provider, and Amazon SageMaker.

OPS provider case:
"<ml_provider_name>": {
   "name": "<ml_provider_name>",
   "kind": "ENCRYPTED", 
   "readOnly": false, 
   "value": { 
     "name": "<ml_provider_name>",
     "type": "OPS",
     "description": "A description",
     "version" : "V1",
     "authInfo": {
       "authType" : "NONE"
     },
     "providerAdditionalInfo": {
       "providerType" : "OPS",
       "mlUr" : "<your-OPS-url>"
     }
    }
  }
WML provider case:
"<ml_provider_name>": {
   "name": "<ml_provider_name>",
   "kind": "ENCRYPTED", 
   "readOnly": false, 
   "value": { 
     "name":"<ml_provider_name>",
     "type":"WML",
     "description": "A description",
     "version" : "V1",
     "authInfo":{
       "authType":"IAM",
       "apiKey":"<your_apikey>",
       "authUrl":"https://iam.bluemix.net/identity/token"
     },
     "providerAdditionalInfo":{
       "providerType":"WML",
       "mlUrl":"<your_WML_url>",
       "spaceId":"<your-WML--spaceId>"
     }
   }
 }
AWS SageMaker case:
"<ml_provider_name>": {
   "name": "<ml_provider_name>",
   "kind": "ENCRYPTED", 
   "readOnly": false, 
   "value": {
     "name":"<ml_provider_name>",
     "type":"AWS",
     "description": "A description",
     "version" : "V1",
     "authInfo":{
       "authType":"AWS",
       "accessKeyId":"<your_access_key_id>",
       "accessKeyValue":"<your_access_key_value>"
     },
     "providerAdditionalInfo":{
       "providerType":"AWS",
       "region":"<your-aws-region>"
     }
   }
 }
The following ml_provider_info_id pattern can be used for all provider cases:

"<ml_provider_info_id>": { 
   "name": "<ml_provider_info_id>", 
   "kind": "PLAIN", 
   "readOnly": false, 
   "value": { 
      "id": "<ml_provider_info_id>", 
      "providerId" : "<ml_provider_name>", 
      "deploymentId": "<ml_deployment_id>" 
   } 
}

One such entry must exist for each machine learning provider that is required by the decision service. The two mandatory metadata are coupled, therefore the value for <ml_provider_name> must be the same.

You can find the values for the metadata (for example, name, type, or mlUrl) in the following locations:
  • For <ml_provider_name>: <predictiveModelName>/resources/extannotations/decisions/<decisionAutomationName> /<decisionServiceName>/<predictiveModelName>/provider.json
  • For <ml_provider_info_id>: <predictiveModelName>/resources/extannotations/decisions/<decisionAutomationName> /<decisionServiceName>/<predictiveModelName>/providerInfo.json
These JSON files are available in the remote Git repository that the decision service is connected to.
Note: The values for the secrets (for example, apiKey) are not available in the JSON file.

The values are the same only when you use the same machine learning provider as the one that is used in the authoring environment.

If a different machine learning provider is targeted, the mlUrl, authUrl, instanceId, and apiKey must be changed.

When you use a different machine learning provider, the same model must be created on this provider. This model has a different deploymentId as the one that is used in the authoring environment. Therefore, deploymentId in the <ml_provider_info_id> metadata must be set to the deploymentId that is effectively targeted.

Table 3. Machine learning provider metadata
Name Description
name

The name of the machine learning provider.

You can find the value for name in the JSON file that is described earlier.

type
Supported types:
  • WML for Watson Machine Learning
  • OPS for Open Prediction Service
  • AWS for AWS SageMaker
mlUrl

The URL of the provider that is extracted from IBM Watson®™ Studio or IBM® Open Prediction Service.

authUrl

If mlUrl points to a production IBM Cloud® (for example, https://us-south.ml.cloud.ibm.com), authUrl is https://iam.bluemix.net/identity/token.

Currently, only applies to Watson Machine Learning.

spaceId

The spaceId that is extracted from the machine learning provider.

Currently, only applies to Watson Machine Learning.

apiKey

The apiKey is obtained from the https://cloud.ibm.com/iam/apikeys service.

It applies to Watson Machine Learning only.

id

The ID of the machine learning provider information.

You can find the value for the ID in the JSON file that is described earlier.

providerId

The name of the machine learning provider.

You can find the value for the name in the JSON file that is described earlier.

deploymentId

The ID of the deployment that is targeted for prediction on the machine learning provider.

region

The AWS region for your account. Applies to AWS SageMaker only.

accessKeyId

Your AWS access key ID. Applies to AWS SageMaker only.

accessKeyValue

Your AWS access key value. Applies to AWS SageMaker only.