例 1: MVS™ データ・セットを順次読み取る
次の例では、File Manager Service Provider REST API 呼び出しを実行して MVS™ データ・セット内のレコードを読み取る永続セッションを開始し、テンプレートを使用して各レコードのフィールドをマップします。
初回要求
データ・リソースからデータを読み取る初回 API 呼び出しには、z/OS® データ・リソースへの以降のアクセスで呼び出し元を認証できるように、HTTP Basic 認証ヘッダーが必要です。例:
Authorization : Basic dXNlcmlkOnBhc3N3b3Jk
ここで、Basic キーワードに続くストリングは、userid:password の Base64 エンコードを示します。
また、JSON ペイロードがあるすべての要求でも、値が application/json
の Content-Type ヘッダーが必要です。
初回要求にはまた、データ・リソースの名前と、オプションとして、データをマップする File Manager テンプレートまたはコピーブックの名前も必要です。
{
"resource" :
{
"resourceName" : "MY.MVS.DATASET"
},
"template" :
{
"templateName" : "MY.TEMPLATE(MVSDS)"
},
"operation" :
{
"numRecords" : 1,
"session" : true,
"timeout" : 1800
}
}
この要求は、データ・セット MY.MVS.DATASET の先頭から 1 レコードを読み取り、MY.TEMPLATE(MVSDS) で見つかったテンプレートを使用して応答のレコード・フィールドをマップします。
File Manager が true に設定されているため、サービス・プロバイダーは session
セッションを維持します。セッションは、以降、session
が false に設定された要求が実行されるまで、またはセッションでアクティビティーがない状態で 1800 秒 (30 分) のタイムアウト期間が経過するまでアクティブのままになります。
session
が true に設定されている場合、呼び出し元は初回要求でトークンが戻ることを期待し、resource パラメーターか template パラメーター、または Basic 認証ヘッダーを渡す必要なく後続の呼び出しでトークンを使用できます。
成功時の応答
成功時の応答 (HTTP ステータス・コード 200) は次のようになります。
{
"records" :
[
{
"layouts" :
[
{
"layout" : "CUSTOMER-ADDRESS",
"fields" :
[
{
"field" : "CUSTOMER-NO",
"type" : "PD",
"value" : 5788
},
{
"field" : "CUSTOMER-STREET",
"type" : "AN",
"value" : "177A BLEEKER STREET"
},
{
"field" : "CUSTOMER-CITY",
"type" : "AN",
"value" : "NEW YORK"
},
{
"field" : "CUSTOMER-COUNTRY",
"type" : "AN",
"value" : "USA"
}
]
}
]
}
] ,
"token" : ""+WCCd/9g8fXy8PT58vfz9mD39fL48fU="
}
後続の読み取り要求
API 呼び出し元は、応答トークンを使用して後続の要求を実行し、サービス・プロバイダーによって保守される File Manager セッションを再使用できるようになります。例:
{
"operation" :
{
"numRecords" : 1,
"session" : true,
"token" : "+WCCd/9g8fXy8PT58vfz9mD39fL48fU="
}
}
トークンを渡すとき、resource
パラメーターまたは template
パラメーターはトークンと関連付けられたセッションによって既に知られているため、呼び出し元はこれらのパラメーターを渡す必要がありません。API 呼び出し元は、最後のレコードが読み取られたことを示す、last
が true に設定された応答レコード・オブジェクトがあるまで、1 つ以上のレコードを読み取り続けることができます。例:
{
"records" :
[
{
"last" : true,
other response fields
}
]
}
セッションの終了
現時点では、API 呼び出し元はアクティブな File Manager セッションを終了する要求を送信します。
{
"operation" :
{
"numRecords" : 0,
"session" : false,
"token" : "+WCCd/9g8fXy8PT58vfz9mD39fL48fU="
}
}
トークンが有効な場合、session
が false に設定された要求を送信すると File Manager セッションは常に終了します。呼び出し元は既に最後のレコードを読み取っているため、"numRecords" : 0
を設定することでもうレコードを読み取らないようサービス・プロバイダーに指示します。