0

AWS S3 Select の使用方法を理解しようとしています。すべてが非常に簡単に見えますが、次のクエリは機能したくありません:
select r.value from S3Object[*].outputs.private_subnets r
上記の結果が返されます。Invalid Path component.

これは私が扱っているJSONです:

{
    "outputs": {
        "private_subnets": {
            "value": [
                "subnet-1",
                "subnet-2",
                "subnet-3"
            ],
            "type": [
                "tuple",
                [
                    "string",
                    "string",
                    "string"
                ]
            ]
        },
        "public_subnets": {
            "value": [
                "subnet-1",
                "subnet-2",
                "subnet-3"
            ],
            "type": [
                "tuple",
                [
                    "string",
                    "string",
                    "string"
                ]
            ]
        },
        "vpc_id": {
            "value": "vpc-123",
            "type": "string"
        }
    }
}

私はエラーを理解していませんvalue.SQLの特別な言葉ですか?
これが私がこれまでに試したことです
select r from S3Object[*].outputs.private_subnets r::

{
    "r": {
        "value": [
            "subnet-1",
            "subnet-2",
            "subnet-3"
        ],
        "type": [
            "tuple",
            [
                "string",
                "string",
                "string"
            ]
        ]
    }
}

select r.type from S3Object[*].outputs.private_subnets r:

{
    "type": [
        "tuple",
        [
            "string",
            "string",
            "string"
        ]
    ]
}

だから私は何が問題なのか理解していませんvalue

4

1 に答える 1

2

「値」は予約済みのキーワードであるため、これを選択することはできません。 https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference-keyword-list.html . これは、値を二重引用符で囲むことでエスケープできます。

于 2019-07-26T17:29:01.640 に答える