我正在使用JavaScript,通过REST API实现从客户端计算机到Amazon S3的直接文件上传,没有任何服务器端代码.一切正常,但有一件事令我担心......
当我向Amazon S3 REST API发送请求时,我需要签署请求并将签名放入Authentication标头.要创建签名,我必须使用我的密钥.但所有事情都发生在客户端,因此,可以从页面源轻松显示密钥(即使我对我的源进行模糊/加密).
我怎么处理这个?这是一个问题吗?也许我可以将特定的私钥使用仅限于来自特定CORS Origin的REST API调用,仅限于PUT和POST方法,或者可能只将链接键连接到S3和特定存储桶?可能还有其他认证方法吗?
"无服务器"解决方案是理想的,但我可以考虑涉及一些服务器端处理,不包括将文件上传到我的服务器然后发送到S3.
javascript authentication amazon amazon-s3 amazon-web-services
我正在构建世界上最简单的库应用程序.我想要做的就是使用典型的扫描仪(只是将条形码的数字键入字段)扫描书籍的UPC(条形码),然后用它来查找有关书籍的数据......最小,标题,作者,出版年份,以及杜威十进制或国会图书馆目录编号.
我的目标是打印一个带有卡片目录编号的小贴纸("脊椎标签"),我可以将其粘贴在书脊上,然后我可以按照我们公司图书馆书架上的卡片目录编号对书籍进行分类.这样,关于类似主题的书籍往往会彼此接近,例如,如果你知道你正在寻找一本关于会计的书,你所要做的就是找到一本关于会计的书,你会看到另外一半的书.我们紧挨着它,这使得浏览图书馆变得方便.
似乎有很多网络API可以做到这一点,包括亚马逊和国会图书馆.但这些对我来说都非常困惑.我真正想要的是一个更高级别的功能,它可以获取UPC条形码编号并返回有关该书的一些基本数据.
所以亚马逊有很多不同的API用于不同的事情,很难找到我正在寻找的那个.
我有一个客户销售东西,并检查亚马逊的最低价格,知道在哪里定价他们的东西(略低于那里最低的东西).他们希望将功能集成到他们的库存系统中,这将自动在亚马逊上找到产品的最低价格并显示出来.我想知道哪种AWS服务最适合这项任务.
我看到了Product Advertising API,这看起来就像是现在最接近的东西.是这样吗?
当亚马逊在某个地方为这些信息提供程序化界面时,我真的不想依赖刮刀,我知道他们这样做,因为很多其他产品都有这个.有人说他们可以下载亚马逊产品的转储并在本地使用 - 如果有人能指出我的方向,我也会对这个选项持开放态度.
当选择要启动的amazon aws实例类型时,每种类型的属性都是"网络性能",其为"低","中等"或"高".我想知道这究竟意味着什么.如果我选择低价,我的ping会降低吗?或者只要很多用户没有立即登录就可以了吗?
我正在推出一个实时的多人游戏,我很好奇我对"网络性能"的含义.实际上我需要相当低的内存和处理能力,但具有这些标准的实例通常具有"低"的网络性能.
有没有人经历过不同的网络表演或有更多的信息?
谢谢!
我的代码需要一些帮助.我是nodejs的新手,并且遇到很多麻烦.我想做什么:
2)使用amazon-product-api包获取所有产品
3)将每个产品保存在.json文件中
我的代码不起作用.我想我搞砸了这个异步同步的东西 - 帮助我!
var amazon = require('amazon-product-api');
var fs = require('fs');
var client = amazon.createClient({
awsId: "XXX",
awsSecret: "XXX",
awsTag: "888"
});
var array = fs.readFileSync('./test.txt').toString().split('\n');
for (var i = 1; i < array.length; i++) {
var ASIN = array[i];
return client.itemLookup({
domain: 'webservices.amazon.de',
responseGroup: 'Large',
idType: 'ASIN',
itemId: ASIN
})
.then(function(results) {
fs.writeFile(ASIN + '.json', JSON.stringify(results), function(err) {
if (err) {
console.log(err);
} else {
console.log("JSON saved");
}
})
return results;
}).catch(function(err) { …Run Code Online (Sandbox Code Playgroud) synchronization amazon asynchronous node.js amazon-product-api
人们用什么Python库来查询亚马逊产品数据?(Amazon Associates Web Service - 曾经被称为电子商务API,或者其他类似的东西).
根据我的研究,PyAWS似乎还可以,但仍然非常原始(并且暂时没有更新).想知道是否有一个我只是缺少的明显的规范库.
我有一个令人困惑的问题.我使用的是mac版本10.9,anaconda 3.4.1,python 2.7.6.
使用python-amazon-product-api开发Web应用程序.我克服了安装lxml的障碍,引用了clang错误:未知参数:' - mno-fused-madd'(python包安装失败).
但发生了另一个运行时错误 这是webbrowser的输出.
Exception Type: ImportError
Exception Value:
dlopen(/Users/User_Name/Documents/App_Name/lib/python2.7/site-packages/lxml/etree.so, 2): Library not loaded: libxml2.2.dylib
Referenced from: /Users/User_Name/Documents/App_Name/lib/python2.7/site-packages/lxml/etree.so
Reason: Incompatible library version: etree.so requires version 12.0.0 or later, but libxml2.2.dylib provides version 10.0.0
Run Code Online (Sandbox Code Playgroud)
不确定如何继续并在此处和其他地方搜索此特定错误.任何帮助深表感谢!
我正试图从其ASIN获取亚马逊产品的细节.产品API允许使用Itemlookup ASIN,但返回值为XML.
我想从客户端调用Itemlookup,所以想做一个JSONP我找不到的电话.
我在网上发现了一些文章,JSON使用XSLT样式表将XML转换为格式:
(a)https://bitbucket.org/basti/python-amazon-product-api/src/tip/examples/json-results.py
我尝试使用这个python-amazon-product-api和这个例子,但我无法得到JSON回报.
(b)http://www.kokogiak.com/gedankengang/2006/05/consuming-amazons-web-api-directly.html
我试图发送的请求是:
http://xml-us.amznxslt.com/onca/xml?AWSAccessKeyId=[ACCESS KEY]&AssociateTag=[ASSOCIATE TAG]&ContentType=text%2Fjavascript&IdType=ASIN&ItemId=B008IEGS9W&Operation=ItemLookup&ResponseGroup=Images%2CItemAttributes&Service=AWSECommerceService&Style=http%3A%2F%2Fforums.delphiforums.com%2Fdelphidocsz%2Famazon%2Fjson.xsl&Timestamp=2012-09-04T06%3A40%3A11Z&Signature=AGOqXvVSeMp3YyVkT4mGNXVx0cFGG%2Bh%2FdAebevbbF9o%3D
Run Code Online (Sandbox Code Playgroud)
请帮助获取JSON格式Amazon product API.欢迎任何建议.
OP可以运行此样式表(未使用输入文档)来确定其XSLT版本.
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes="xsl msxsl">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<html>
<head><title>About your XSLT Processor</title></head>
<body>
<ul>
<li>xsl:version=<xsl:value-of select="system-property('xsl:version')" /></li>
<li>xsl:vendor=<xsl:value-of select="system-property('xsl:vendor')" /></li>
<li>xsl:vendor-url=<xsl:value-of select="system-property('xsl:vendor-url')" /></li>
<li>xsl:product-name=<xsl:value-of select="system-property('xsl:product-name')" /></li>
<li>xsl:product-version=<xsl:value-of select="system-property('xsl:product-version')" /></li>
<li>xsl:is-schema-aware=<xsl:value-of select="system-property('xsl:is-schema-aware')" /></li>
<li>xsl:supports-serialization=<xsl:value-of select="system-property('xsl:supports-serialization')" /></li>
<li>xsl:supports-backwards-compatibility=<xsl:value-of select="system-property('xsl:supports-backwards-compatibility')" /></li>
<li>msxsl:version=<xsl:value-of select="system-property('msxsl:version')" /></li>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud) 以下代码仅适用于从S3中的存储桶下载文本文件.这不适用于图像.是否有更简单的方法来使用AWS SDK管理下载/类型?文档中包含的示例并不明显.谢谢!
AWSCredentials myCredentials = new BasicAWSCredentials(
String.valueOf(Constants.act), String.valueOf(Constants.sk));
AmazonS3Client s3Client = new AmazonS3Client(myCredentials);
S3Object object = s3Client.getObject(new GetObjectRequest("bucket", "file"));
BufferedReader reader = new BufferedReader(new InputStreamReader(
object.getObjectContent()));
File file = new File("localFilename");
Writer writer = new OutputStreamWriter(new FileOutputStream(file));
while (true) {
String line = reader.readLine();
if (line == null)
break;
writer.write(line + "\n");
}
writer.close();
Run Code Online (Sandbox Code Playgroud) Web服务返回一个包含未知数量的嵌套哈希的哈希,其中一些包含一个数组,该数组又包含未知数量的嵌套哈希值.
一些键不是唯一的 - 即存在于多个嵌套的哈希中.
但是,我真正关心的所有键都是独一无二的.
有没有什么事情我可以给顶级哈希一个关键,并且即使键值对深埋在这个泥潭里,也要回到它的价值?
(该网络服务是亚马逊产品广告API,它根据每个产品类别中允许的结果数量和搜索类型略微改变其提供的结果结构.)