C# AmazonS3选择从S3 Bucket中的.csv文件返回垃圾数据(使用.NETSDK)
下面是AWS中我的状态机的两个方法 首先,使用S3 SELECT从csv文件获取数据的方法C# AmazonS3选择从S3 Bucket中的.csv文件返回垃圾数据(使用.NETSDK),c#,.net,amazon-s3,amazon-s3-select,C#,.net,Amazon S3,Amazon S3 Select,下面是AWS中我的状态机的两个方法 首先,使用S3 SELECT从csv文件获取数据的方法 /// <summary> /// Use S3 Select in order to obtain the data from the source and return it /// </summary> /// <param name="s3Object"></param> /// <param name="s3Client"></p
/// <summary>
/// Use S3 Select in order to obtain the data from the source and return it
/// </summary>
/// <param name="s3Object"></param>
/// <param name="s3Client"></param>
/// <param name="definition"></param>
/// <returns></returns>
private static async Task<ISelectObjectContentEventStream> GetSelectObjectContentEventStream(S3Object s3Object,
AmazonS3Client s3Client, ObjectDefinition definition)
{
var response = await s3Client.SelectObjectContentAsync(new SelectObjectContentRequest()
{
Bucket = s3Object.BucketName,
Key = s3Object.Key,
ExpressionType = ExpressionType.SQL,
Expression = "select * from S3Object",
InputSerialization = new InputSerialization()
{
CSV = new CSVInput()
{
FileHeaderInfo = FileHeaderInfo.Ignore,
FieldDelimiter = ",",
}
},
OutputSerialization = new OutputSerialization()
{
JSON = new JSONOutput()
}
});
return response.Payload;
}
我想可能是编码吧 写这行:
using (var reader = new StreamReader(records.Payload))
像这样:
using (var reader = new StreamReader(records.Payload, System.Text.Encoding.UTF8))
我想可能是编码吧 写这行:
using (var reader = new StreamReader(records.Payload))
像这样:
using (var reader = new StreamReader(records.Payload, System.Text.Encoding.UTF8))
谢谢你的建议,但我已经尝试了两种方法,没有改变。我已经能够以CSV的形式返回结果输出。没有问题,有些问题,但是不同的问题,但是在任何情况下都无法让JSON输出正常工作。我在我的另一个问题周围发布了一个不同的SO问题。我在这里发布的另一个问题->我在用C阅读JSON时也遇到了问题,尽管有不同的问题,是的-到目前为止,在线帮助太少了。很抱歉,这不是你的问题。没关系,我很高兴我们中的一些人正在努力解决这个问题。出于好奇,当你说用C阅读JSON有问题时——你是在AWS S3 SELECT的上下文中说的吗?还是一般?如果是后者,我可能会提供帮助。希望随着时间的推移,社区能够积累更多关于S3 SELECT的信息。为此,我将放弃使用它,转而使用GenericParser之类的工具来处理CSV数据。我使用AWS S3 SELECT并可以返回整个文档,但如果我从S3Object更改我的SELECT*,我会得到一个错误或{}。所以我查询的JSON不是典型的一个文档就是一个JSON对象,或者是我不了解S3 SELECT命令来查找我要查找的属性值。我是黑客,我精通SQL Server/ETL,所以我99%肯定是我。谢谢你的建议,但我已经尝试了两种方法,没有任何改变。我已经能够以CSV的形式返回结果输出。没有问题,有些问题,但是不同的问题,但是在任何情况下都无法让JSON输出正常工作。我在我的另一个问题周围发布了一个不同的SO问题。我在这里发布的另一个问题->我在用C阅读JSON时也遇到了问题,尽管有不同的问题,是的-到目前为止,在线帮助太少了。很抱歉,这不是你的问题。没关系,我很高兴我们中的一些人正在努力解决这个问题。出于好奇,当你说用C阅读JSON有问题时——你是在AWS S3 SELECT的上下文中说的吗?还是一般?如果是后者,我可能会提供帮助。希望随着时间的推移,社区能够积累更多关于S3 SELECT的信息。为此,我将放弃使用它,转而使用GenericParser之类的工具来处理CSV数据。我使用AWS S3 SELECT并可以返回整个文档,但如果我从S3Object更改我的SELECT*,我会得到一个错误或{}。所以我查询的JSON不是典型的一个文档就是一个JSON对象,或者是我不了解S3 SELECT命令来查找我要查找的属性值。我是黑客,我精通SQL Server/ETL,所以我99%肯定是我。