私はELKスタック、特にESを新しくしました。 Google Admin SDK APIを使用して取得したJSONファイルをインポートしようとしていますが、これをElasticsearchにインポートします。Google API JSONファイルをElasticsearchにインポートする
これまでのところ、これは私のデータのJSON構造である:
curl -s -XPOST 'localhost:9200/_bulk' --data-binary @documents.json
しかし、私は若干の誤差が出る:
{
"kind": "reports#activities",
"nextPageToken": string,
"items": [
{
"kind": "audit#activity",
"id": {
"time": datetime,
"uniqueQualifier": long,
"applicationName": string,
"customerId": string
},
"actor": {
"callerType": string,
"email": string,
"profileId": long,
"key": string
},
"ownerDomain": string,
"ipAddress": string,
"events": [
{
"type": string,
"name": string,
"parameters": [
{
"name": string,
"value": string,
"intValue": long,
"boolValue": boolean
}
]
}
]
}
]
}
は、だから私は、最初のESにJSONファイルをアップロードするには、このコマンドを使用することにしました:
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Malformed action/metadata line [1], expected START_OBJECT or END_OBJECT but found [START_ARRAY]"}],"type":"illegal_argument_exception","reason":"Malformed action/metadata line [1], expected START_OBJECT or END_OBJECT but found [START_ARRAY]"},"status":400}
どうすればよいですか?
ありがとうございました!
チップをありがとうVal!実際に私のJSONデータには配列(items []、events []、parameters [])が含まれているので、中括弧を中括弧に置き換えてインデックス作成に関するコードを少し編集しました。 – Felz
いいえ、それは意図的に行われたものではありません.ESはそれらの配列を作成します;)[this](https://www.elastic.co/guide/re/current/array.html ) – Val