如何从.NET上传数据到AWS CloudSearch?

时间:2017-03-09 14:00:38

标签: .net amazon-web-services aws-sdk amazon-cloudsearch

我可以从某个http提供程序,POSTMAN,CURL发出POST请求,无论如何将数据上传到AWS Cloud Search,如下所示:

myawsdomain.us-east-1.cloudsearch.amazonaws.com/2017-01-01/documents/batch

(包括JSON主体)

如何从最新的.NET SDK执行此操作?我可以进行搜索,但是我无法将数据写入AWS CloudSearch。

注意,我不需要帮助在.NET中解析/创建JSON - 我可以这样做,只需要写入AWS的命令。除了文档之外,我找不到任何其他信息。

2 个答案:

答案 0 :(得分:1)

此代码成功写入云搜索域:

using Amazon.CloudSearchDomain;
using Amazon.CloudSearchDomain.Model;


        var domainConfig = new AmazonCloudSearchDomainConfig;
        {
            ServiceURL = "http://myawsdomain.us-east-1.cloudsearch.amazonaws.com"
        };

        var cloudSearch = new Amazon.CloudSearchDomain.AmazonCloudSearchDomainClient(domainConfig);

        var path = @"C:\Code\myjsonfile.txt";

        var ms = new MemoryStream();
        FileStream jsonFileToUpload = new FileStream(path, FileMode.Open, FileAccess.Read);

        var upload = new Amazon.CloudSearchDomain.Model.UploadDocumentsRequest()
        {
            ContentType = ContentType.ApplicationJson,
            Documents = jsonFileToUpload
        };

        var response = cloudSearch.UploadDocuments(upload);

答案 1 :(得分:0)

不确定AWS .NET SDK是否具有您正在寻找的内容,但此库可能会封装您需要的功能:

https://github.com/martin-magakian/Amazing-Cloud-Search

它使用泛型并且是强类型的 - 因此它应该干净并且与您的数据模型很好地匹配。