Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SelectObjectContent response error: missing :content-type header #239

Closed
huachaohuang opened this issue Oct 1, 2021 · 3 comments
Closed
Assignees
Labels
bug This issue is a bug.

Comments

@huachaohuang
Copy link

Bug Report

Version

├── aws-sdk-s3 v0.0.17-alpha (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14)
│   ├── aws-auth v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14)
│   │   ├── aws-types v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14)
│   │   │   ├── smithy-async v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14)
│   │   ├── smithy-async v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   ├── smithy-http v0.0.1 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14)
│   │   │   ├── smithy-eventstream v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14)
│   │   │   │   └── smithy-types v0.0.1 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14)
│   │   │   ├── smithy-types v0.0.1 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   ├── aws-endpoint v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14)
│   │   ├── aws-types v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   └── smithy-http v0.0.1 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   ├── aws-http v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14)
│   │   ├── aws-types v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   ├── smithy-http v0.0.1 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   ├── smithy-types v0.0.1 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   ├── aws-hyper v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14)
│   │   ├── aws-auth v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   ├── aws-endpoint v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   ├── aws-http v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   ├── aws-sig-auth v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14)
│   │   │   ├── aws-auth v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   │   ├── aws-sigv4 v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14)
│   │   │   │   └── smithy-eventstream v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   │   ├── aws-types v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   │   ├── smithy-eventstream v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   │   ├── smithy-http v0.0.1 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   ├── smithy-client v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14)
│   │   │   ├── smithy-http v0.0.1 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   │   ├── smithy-http-tower v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14)
│   │   │   │   ├── smithy-http v0.0.1 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   │   ├── smithy-types v0.0.1 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   ├── smithy-http v0.0.1 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   ├── smithy-http-tower v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   │   ├── smithy-types v0.0.1 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   ├── aws-sig-auth v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   ├── aws-types v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   ├── smithy-client v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   ├── smithy-eventstream v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   ├── smithy-http v0.0.1 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   ├── smithy-types v0.0.1 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
│   └── smithy-xml v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14)
├── aws-types v0.1.0 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)
├── smithy-http v0.0.1 (https://github.com/awslabs/aws-sdk-rust?tag=v0.0.17-alpha#74cd8a14) (*)

Platform

  • Darwin Kernel Version 20.3.0
  • Linux 5.4.0-1045-aws - Ubuntu SMP aarch64

AWS Services

S3

Description

Trying to use S3 SELECT command with Rust SDK.

I tried this code:

    async fn select(&self, key: &str, expr: &str) -> Result<SelectObjectContentOutput> {
        let parquet_input = InputSerialization::builder()
            .parquet(ParquetInput::builder().build())
            .build();
        let json_output = OutputSerialization::builder()
            .json(JsonOutput::builder().build())
            .build();
        let output = self
            .client
            .select_object_content()
            .bucket(self.bucket.clone())
            .key(key)
            .expression(expr)
            .expression_type(ExpressionType::Sql)
            .input_serialization(parquet_input)
            .output_serialization(json_output)
            .send()
            .await?;
        Ok(output)
    }

I ran it with the expression SELECT count(*) FROM S3Object on a large Parquet object (200MB).
It returned this error:

Error: ResponseError { err: Unmarshalling("expected response to include :content-type header, but it was missing"), raw: Message { headers: [Header { name: StrBytes { bytes: b":message-type" }, value: String(StrBytes { bytes: b"event" }) }, Header { name: StrBytes { bytes: b":event-type" }, value: String(StrBytes { bytes: b"Cont" }) }], payload: b"" } }

However, the same code seems to work on small Parquet files (1MB).

@huachaohuang huachaohuang added bug This issue is a bug. needs-triage This issue or PR still needs to be triaged. labels Oct 1, 2021
@huachaohuang huachaohuang changed the title select_object_content() response missing :content-type header SelectObjectContent response error: missing :content-type header Oct 1, 2021
@jdisanti
Copy link
Contributor

jdisanti commented Oct 1, 2021

Thanks for reporting this! I was able to reproduce the issue and will work on a fix.

@jdisanti jdisanti removed the needs-triage This issue or PR still needs to be triaged. label Oct 1, 2021
@jdisanti jdisanti self-assigned this Oct 1, 2021
@rcoh rcoh added this to Coming Soon (slated for inclusion in next release) in SDK for Rust Public Roadmap Oct 11, 2021
@Velfi Velfi moved this from Coming Soon (slated for inclusion in next release) to Just Shipped in SDK for Rust Public Roadmap Oct 12, 2021
@jdisanti
Copy link
Contributor

The fix for this went out in v0.0.20-alpha.

@github-actions
Copy link

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue is a bug.
Projects
No open projects
Development

No branches or pull requests

2 participants