bulkRequest の API で、同時に複数のアプリに POST をする際の検証です。
アプリ 1 とアプリ 2 に対して POST を行う際に、アプリ 2 がアプリ 1 の名前などをルックアップとして持っている際にも 1 リクエストで完結できるのか確認をしました。
結論リクエストの body に含まれるデータの順番さえ気をつければ問題なく使用できました。
下記はサンプルにあるコードを一部変更したもので、アプリ 1 とアプリ 2 に POST をするケースです。
アプリ 2 にはアプリ 1 の Name をルックアップとして持っています。
{
"requests": [
{
"method": "POST",
"api": "/k/v1/record.json",
"payload": {
"app": 1,
"record": {
"name": {
"value": "hoge"
}
}
}
},
{
"method": "POST",
"api": "/k/v1/record.json",
"payload": {
"app": 2,
"record": {
"name": {
"value": "fuga"
},
"app1_name": {
"value": "hoge"
}
}
}
}
]
}
この場合、アプリ 1 のデータが先に作成されるため、アプリ 2 の app1_name.value = hoge
として指定をしてあげることで 1 リクエストで完結させられました。
もちろん、アプリ 2 のデータを先に指定するとエラーになります。
複数のアプリに同時に POST をする場合には、ルックアップをしていないアプリから順に作成して行くことで、1 つのリクエストで完結させることができそうです。