Amazon 上传数据的流程为:

  1. 通过 SubmitFeed 操作、加密标头和所有必需的元数据(包括 FeedType 的值在内),来提交 XML 或文本型数据文件。正如亚马逊 MWS的所有提交内容一样,您还必须包括验证信息。SubmitFeed 操作可返回 FeedSubmissionId 的值,您可以使用该值,通过 GetFeedSubmissionList 操作,对上传数据状态进行定期检查。
  2. 如果亚马逊 MWS仍在处理请求,则 GetFeedSubmissionList 操作的 FeedProcessingStatusList 参数可返回状态为 _IN_PROGRESS_。如果处理已完成,则所返回状态为 _DONE_
  3. 上传数据处理完毕后,您可以通过 GetFeedSubmissionResult 操作,来接收处理报告,该处理报告会指明上传数据中的哪些记录已成功处理,而哪些记录已生成错误。请注意,您必须创建提交 GetFeedSubmissionResult 操作时亚马逊 MWS用来写入报告的流。将亚马逊 MWS上传数据 API 部分客户端库代码用于 GetFeedSubmissionResult 操作,以创建流。
  4. 对处理报告加以分析,更正文件或传送中的错误,然后通过 SubmitFeed 操作重新提交上传数据。不断重复此过程,直到处理报告中不再有错误。当处理报告无任何错误时,传送即完成。

上面这段话债至Amazon 官方介绍,详见 http://docs.developer.amazonservices.com/zh_CN/feeds/index.html

主要就是三个步骤,首先上传数据,其次查询上传操作的工作状态,最后处理上传操作返回的报告。

上面三个步骤需要的工作流程均为:设置服务--->构造请求--->提交请求,其中服务的设置是一样的,请求是各有不同。

现在首先说一下设置服务,在开始写程序之前,我们需要得到我们将要引用的类库MarketplaceWebService,这个类库可以在官方的Demo https://developer.amazonservices.com.cn/doc/bde/feeds/v20090901/cSharp.html 中得到。将这个类库引用到我们的程序中

设置服务的代码示例如下:

  #region 设置服务信息
/// <summary>
/// 设置服务
/// </summary>
/// <returns>返回服务对象</returns>
private MarketplaceWebServiceClient GetService()
{
String accessKeyId = "***********";
String secretAccessKey = "************"; const string applicationName = "AllureCSharpScratchpad";
const string applicationVersion = "1.0"; MarketplaceWebServiceConfig config = new MarketplaceWebServiceConfig();
config.ServiceURL = "https://mws.amazonservices.com"; MarketplaceWebServiceClient service = new MarketplaceWebServiceClient(accessKeyId, secretAccessKey, applicationName, applicationVersion, config); return service;
}
#endregion

其中accessKeyId和secretAccessKey由商家提供,这样 Amazon 的服务就设置好了。至于为什么要这么写呢,这是Amazon规定的。

Amazon MWS 上传数据 (一) 设置服务的更多相关文章

  1. Amazon MWS 上传数据 (三) 提交请求

    前面介绍了设置服务和构造请求,现在介绍提交请求. 上传数据,查询上传操作的工作状态,和处理上传操作返回的报告操作使用的Amazon API 分别为:SubmitFeed(),FeedSubmissio ...

  2. Amazon MWS 上传数据 (二) 构造请求

    上一篇文章提到了Amazon 上传数据有三个步骤,但是每个步骤都需要构造服务和构造请求,服务是一样的,请求各不相同:这个很容易理解,这三个步骤都需要和Amazon服务器交互,所以他们的服务构造是一样的 ...

  3. webclient上传数据到ashx服务

    1.上传参数 UploadData()方法可以上传数据参数,需要将所要上传的数据拼成字符. // 创建一个新的 WebClient 实例.    WebClient myWebClient = new ...

  4. Amzon MWS API开发之 上传数据

    亚马逊上传数据,现有能操作的功能有很多:库存数量.跟踪号.价格.商品....... 我们可以设置FeedType值,根据需要,再上传对应的xml文件即可. 下面可以看看FeedType类型 这次我们拿 ...

  5. TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)[转]

    TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub) Git-1.7.11-preview+GitExtensions244SetupComplete+T ...

  6. webuploader 上传文件参数设置

    webUploader 是款很好用的优秀的开源上传组件,由百度公司开发,详细的介绍可参见webUploader 的官方文档: 最近在使用webUploader时,需要添加额外的参数,并在后台获取,参数 ...

  7. 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件

    [源码下载] 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 作者:webabcd 介绍重新想象 Windows 8.1 Sto ...

  8. HTTP上传数据 :表单,二进制数据(multipart/form-data application/octet-stream boundary)

    使用WinINet 一个较简单的例子:上传头像 void CBackstageManager::UpdateAvatarThreadProc(LPVOID params) { stForThread* ...

  9. Hibernate上传数据到数据库,从数据库读取数据到本地模板代码

    1.Hibernate上传数据到数据库: //创建一个session对象 Session session1=HibernateTools.getSession(); //Fenciresult数据库表 ...

随机推荐

  1. 再谈Android应用瘦身

    Android应用apk安装包的大小,虽然对于现在WiFi普及情况而言消耗流量已经微乎其微,但是,对于一款好的应用,对于一款负责任的应用,当然是越小越好了. 引言: .应用越小,下载越快,也就意味着新 ...

  2. 在Win8上安装pyinstaller打包python成为可执行文件

    首先我使用的电脑系统是: Windows-8-6.2.9200 Python的版本是: 2.7.8 默认已安装python2.7且设置好了环境变量. 仅为个人记录,非教程. 首先先安装pip: 首先先 ...

  3. 使用微软的(how-old.net)构建智能门店管理系统

    现在是大数据时代,每个企业都要对自己的客户有全面的认识,这样才能最准确的分析客户,做出相应的决策.在实体的门店中,对于客户的管理还是比较低级,很多客户对于企业来说是哑终端,即对于企业来说,完全不知道客 ...

  4. NDEF-NFC数据交换格式

    为实现NFC标签.NFC设备以及NFC设备之间的交互通信,NFC论坛(NFC FROUM)定义了称为NFC数据交换格式(NDEF)的通用数据格式.NDEF是轻量级的紧凑的二进制格式,可带有URL,vC ...

  5. 常用433MHZ无线芯片性能对比表分享

    常用433M芯片性能对比: 芯片型号 SI4432 CC1101 NRF905 A7102 A7108 输出功率 20dBm 10dBm 10dBm 15dBm 20dBm 功耗 TX:85mA RX ...

  6. 跨域(cross-domain)访问 cookie (读取和设置)

    Passport 一方面意味着用一个帐号可以在不同服务里登录,另一方面就是在一个服务里面登录后可以无障碍的漫游到其他服务里面去.坦白说,目前 sohu passport 在这一点实现的很烂(不过俺的工 ...

  7. C++的四种cast操作符的区别--类型转换

    Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意? A:转换的含义是通过改变一个变量的类型为别的类型从而 ...

  8. 【LeetCode练习题】Linked List Cycle II

    Linked List Cycle Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it ...

  9. Linux内核中常见内存分配函数(二)

    常用内存分配函数 __get_free_pages unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order) __get_f ...

  10. ARM上的linux如何实现无线网卡的冷插拔和热插拔

    ARM上的linux如何实现无线网卡的冷插拔和热插拔 fulinux 凌云实验室 1. 冷插拔 如果在系统上电之前就将RT2070/RT3070芯片的无线网卡(以下简称wlan)插上,即冷插拔.我们通 ...