グローバル・データソースの更新
/essbase/rest/v1/datasources/{datasourceName}
指定されたグローバルレベル・データソースを更新します。更新が成功した場合は、更新後のデータソースについて詳細を返します。type
とconnection
は、すべてのタイプのデータソースに必須の入力内容です。必要なその他の入力内容は、データソースのタイプによって異なります。
リクエスト
- application/json
- application/xml
- datasourceName(required): string
データソース名。
更新後のデータソースの詳細。
object
- application(required): string
データソースのtypeがESSBASEである場合に適用可能。Essbaseアプリケーション名。
- columns(required): object ColumnsType
- connection(required): string
このデータソースで使用される接続。
- cube(required): string
データソースのtypeがESSBASEである場合に適用可能。Essbaseデータベース名。
- customDelimiter: string
delimiterに指定されている値が
Custom
である場合の、データ・レコードのカスタム・デリミタ。 - delimeter: string
データソースのtypeが
DELIMITEDFILE
である場合の、データ・レコードのデリミタ。デリミタは、CSVフォーマットの場合はComma
、タブ区切りフォーマットの場合はTab
にできます。カスタム・デリミタを使用するには、値Custom
を使用し、デリミタをcustomDelimiterの値として指定します。 - description(required): string
このデータソースのオプションの説明。
- endRow: integer(int64)
データソースがExcelファイルまたはテキスト・ファイルである場合の、終了行番号。
- headerRow: integer(int64)
データソースがExcelファイルまたはテキスト・ファイルである場合の、ヘッダー行番号。ヘッダーがない場合は0。
- headers: array headers
- ignoreErrorRecords: boolean
- links: array links
- name: string
データソース名。先頭は文字である必要があります。文字、アンダースコア文字および数字のみを含めることができます。
- query(required): string
データソースに関連付けられている問合せ。たとえば、外部データベースの場合はSQL問合せ、または別のEssbaseキューブの場合はMDX問合せ。問合せによって、このデータソース内の使用可能にするデータが選択されます。
- queryParameters: array queryParameters
データソース問合せがパラメータ化されている場合の、パラメータ実装詳細。たとえば、問合せ
select * from profit_data where year=?
のように、パラメータを渡すための?
プレースホルダが問合せに含まれる場合、実装詳細を定義する必要があります。 - sheet(required): string
データソースがExcelファイルである場合の、ワークシート名。
- skipHiddenRows: boolean
- startRow(required): integer(int64)
オプション(指定されていない場合、デフォルトは1です)。データソースがExcelファイルまたはテキスト・ファイルである場合の、(headerRowが存在する場合はこれを除いた)データ開始行番号。たとえば、headerRowが1として指定され、startRowが10として指定されている場合、実際のデータ開始行は11になります。
- type(required): string
指定可能な値:
[ "TEMPLATE", "EXCELFILE", "DB", "DELIMITEDFILE", "FIXEDWIDTHFILE", "BI", "ESSBASE", "JDBC", "SPARK", "MS_SQL", "MYSQL", "DB2", "ORACLE", "FILE" ]
- widths(required): array widths
array
データソース問合せがパラメータ化されている場合の、パラメータ実装詳細。たとえば、問合せselect * from profit_data where year=?
のように、パラメータを渡すための?
プレースホルダが問合せに含まれる場合、実装詳細を定義する必要があります。
object
- format: string
- index: integer(int32)
- name: string
- nullable: boolean
- system: boolean
- type: string
指定可能な値:
[ "STRING", "DOUBLE", "DATE", "TIMESTAMP", "LONG" ]
object
- defaultValue: string
実行時にパラメータに無効なコンテキストがある場合に、データソースがフォールバックとして使用する固定のデフォルト・パラメータ値。例: Jan。データソース問合せがパラメータ化されており(パラメータを渡すための
?
プレースホルダが含まれている)、かつプレースホルダが代替変数を参照することも、外部ソースで開発されたユーザー定義関数を参照することも意図されていない場合にのみ必須。 - index: integer(int32)
データソース問合せパラメータの順序インデックス。たとえば、最初のパラメータの場合は1、2番目のパラメータの場合は2、など。
- name: string
各自のユースケースに対して意味のある、データソース問合せパラメータのオプションの名前。たとえば、Param1のかわりにparam_G_monthを使用して、そのパラメータで現在の月のグローバル変数を使用することを示したり、名前をparam_appName_monthに変更して、そのパラメータで現在の月のアプリケーション・レベルの変数を使用することを示すことができます。
- required: boolean
データソース問合せパラメータが必須の場合はtrue、それ以外の場合はfalse。
- subVariableName: string
useSubVariableがtrueの場合、Essbase代替変数の名前。
- type: string
指定可能な値:
[ "STRING", "DOUBLE", "DATE", "TIMESTAMP", "LONG" ]
データソース問合せパラメータのデータ型。
- useSubVariable: boolean
データソース問合せパラメータでEssbase代替変数を参照する場合はtrue、それ以外の場合はfalse。
レスポンス
- application/json
- application/xml
200 レスポンス
OK
データソースが正常に更新されました。
object
- application(required): string
データソースのtypeがESSBASEである場合に適用可能。Essbaseアプリケーション名。
- columns(required): object ColumnsType
- connection(required): string
このデータソースで使用される接続。
- cube(required): string
データソースのtypeがESSBASEである場合に適用可能。Essbaseデータベース名。
- customDelimiter: string
delimiterに指定されている値が
Custom
である場合の、データ・レコードのカスタム・デリミタ。 - delimeter: string
データソースのtypeが
DELIMITEDFILE
である場合の、データ・レコードのデリミタ。デリミタは、CSVフォーマットの場合はComma
、タブ区切りフォーマットの場合はTab
にできます。カスタム・デリミタを使用するには、値Custom
を使用し、デリミタをcustomDelimiterの値として指定します。 - description(required): string
このデータソースのオプションの説明。
- endRow: integer(int64)
データソースがExcelファイルまたはテキスト・ファイルである場合の、終了行番号。
- headerRow: integer(int64)
データソースがExcelファイルまたはテキスト・ファイルである場合の、ヘッダー行番号。ヘッダーがない場合は0。
- headers: array headers
- ignoreErrorRecords: boolean
- links: array links
- name: string
データソース名。先頭は文字である必要があります。文字、アンダースコア文字および数字のみを含めることができます。
- query(required): string
データソースに関連付けられている問合せ。たとえば、外部データベースの場合はSQL問合せ、または別のEssbaseキューブの場合はMDX問合せ。問合せによって、このデータソース内の使用可能にするデータが選択されます。
- queryParameters: array queryParameters
データソース問合せがパラメータ化されている場合の、パラメータ実装詳細。たとえば、問合せ
select * from profit_data where year=?
のように、パラメータを渡すための?
プレースホルダが問合せに含まれる場合、実装詳細を定義する必要があります。 - sheet(required): string
データソースがExcelファイルである場合の、ワークシート名。
- skipHiddenRows: boolean
- startRow(required): integer(int64)
オプション(指定されていない場合、デフォルトは1です)。データソースがExcelファイルまたはテキスト・ファイルである場合の、(headerRowが存在する場合はこれを除いた)データ開始行番号。たとえば、headerRowが1として指定され、startRowが10として指定されている場合、実際のデータ開始行は11になります。
- type(required): string
指定可能な値:
[ "TEMPLATE", "EXCELFILE", "DB", "DELIMITEDFILE", "FIXEDWIDTHFILE", "BI", "ESSBASE", "JDBC", "SPARK", "MS_SQL", "MYSQL", "DB2", "ORACLE", "FILE" ]
- widths(required): array widths
array
データソース問合せがパラメータ化されている場合の、パラメータ実装詳細。たとえば、問合せselect * from profit_data where year=?
のように、パラメータを渡すための?
プレースホルダが問合せに含まれる場合、実装詳細を定義する必要があります。
object
- format: string
- index: integer(int32)
- name: string
- nullable: boolean
- system: boolean
- type: string
指定可能な値:
[ "STRING", "DOUBLE", "DATE", "TIMESTAMP", "LONG" ]
object
- defaultValue: string
実行時にパラメータに無効なコンテキストがある場合に、データソースがフォールバックとして使用する固定のデフォルト・パラメータ値。例: Jan。データソース問合せがパラメータ化されており(パラメータを渡すための
?
プレースホルダが含まれている)、かつプレースホルダが代替変数を参照することも、外部ソースで開発されたユーザー定義関数を参照することも意図されていない場合にのみ必須。 - index: integer(int32)
データソース問合せパラメータの順序インデックス。たとえば、最初のパラメータの場合は1、2番目のパラメータの場合は2、など。
- name: string
各自のユースケースに対して意味のある、データソース問合せパラメータのオプションの名前。たとえば、Param1のかわりにparam_G_monthを使用して、そのパラメータで現在の月のグローバル変数を使用することを示したり、名前をparam_appName_monthに変更して、そのパラメータで現在の月のアプリケーション・レベルの変数を使用することを示すことができます。
- required: boolean
データソース問合せパラメータが必須の場合はtrue、それ以外の場合はfalse。
- subVariableName: string
useSubVariableがtrueの場合、Essbase代替変数の名前。
- type: string
指定可能な値:
[ "STRING", "DOUBLE", "DATE", "TIMESTAMP", "LONG" ]
データソース問合せパラメータのデータ型。
- useSubVariable: boolean
データソース問合せパラメータでEssbase代替変数を参照する場合はtrue、それ以外の場合はfalse。
400 レスポンス
不正なリクエスト
データソースの更新に失敗しました。
例
次の例では、既存のグローバル・データソースを更新する方法を示します。
この例では、cURLを使用して、Windowsシェル・スクリプトからREST APIにアクセスします。呼出し元ユーザーのIDおよびパスワードは変数であり、properties.bat
内でその変数値が設定されています。
cURLコマンドを含むスクリプト
call properties.bat
curl -X PUT "https://myserver.example.com:9001/essbase/rest/v1/datasources/EssbaseDS?links=none" -H Accept:application/json -H Content-Type:application/json --data "@./updateDSessbase.json" -u %User%:%Password%
前述のcURLの例では、JSONペイロードがupdateDSessbase.json
で配信されます。ペイロードに含める必要がある詳細は、更新しているデータソースのtypeによって異なります。Essbaseデータソースを更新する場合の例を次に示します。
サンプルのJSONペイロード - Essbaseデータソース
updateDSessbase.json
でREST APIに渡される次のサンプルのJSONペイロードは、別のEssbaseキューブ用のデータソースを更新する場合の例です。必須パラメータは、必須パラメータは、name、connection、type、columns、application、cubeおよびqueryです。
{
"name":"EssbaseDS",
"type":"ESSBASE",
"connection":"essconn",
"columns":{
"Column":[
{
"index":1,
"name":"Measures",
"type":"STRING"
},
{
"index":2,
"name":"Oregon",
"type":"STRING"
},
{
"index":3,
"name":"California",
"type":"STRING"
},
{
"index":4,
"name":"Utah",
"type":"STRING"
}]
},
"query":"select {COGS} on rows ,{Oregon, California, Utah} on columns",
"application":"Sample",
"cube":"Basic"
}
Essbaseでサポートされているソースのデータソースをテスト、更新および作成するために使用できるJSONペイロードの詳細な例は、「データソースの作成」エンドポイントを参照してください。
レスポンス本体の例 - Essbaseデータソース
次の例では、レスポンス本体の内容をJSON形式で示します。
{
"name" : "EssbaseDS",
"connection" : "essconn",
"type" : "ESSBASE",
"columns" : {
"Column" : [ {
"name" : "Measures",
"type" : "STRING",
"index" : 1,
"system" : false
}, {
"name" : "Oregon",
"type" : "STRING",
"index" : 2,
"system" : false
}, {
"name" : "California",
"type" : "STRING",
"index" : 3,
"system" : false
}, {
"name" : "Utah",
"type" : "STRING",
"index" : 4,
"system" : false
} ]
},
"query" : "select {COGS} on rows ,{Oregon, California, Utah} on columns",
"application" : "Sample",
"cube" : "Basic",
"queryParameters" : [ ],
"links" : [ ]
}