开场: 查了两天文档,Error了38次,最后索性去掉所有附加条件, 连界面也不要了,在命令行里跑通了一坨最干瘪的Upload流程! 还冒着热气…… 在此先做记录,明天可以搭配美美的界面继续调试了。 近来压抑的心情顿时舒畅了百分之十。
1. 注册以及相关配置: 注册一枚Amazon账户,如果你经常在Amazon上买买买, 那你其实已经有了Amazon的Retail账户,可以直接登录为AWS账户, 但要变身为这么高大上的账户,不出血怎么可能? 在这过程中,需要花费1美元的认证费用…… 我把信用卡的信息输入后,未经验证就扣掉了1美元,吓尿,幸好是1美元而已! 登录后进到Security Credentials,新建一个Access Key。 如果你用Linux或OS X,在 ~/.aws/credentials 文件里写: [default] 如果你用Windows,我们不要做朋友了…… C:\Users\USER_NAME\.aws\credentials for Windows users 。。。
2. 安装依赖 mkdir 一枚目录比如名字叫:myAWS 创建package.json并写: { 这是我们需要用到的两个依赖。 保存后就可以帅帅的去 npm install 了!
3. 在Command Line里测试Upload 新建app.js,用node当然是先 require 了: var AWS = require('aws-sdk'); var uuid = require('node-uuid'); 然后缓存你的Bucket名字:var BUCKET_NAME = "testUpload"; (可以用uuid的v4给Bucket的name后面加随机字符串,后经测试发现不加它也能通过) 这个Bucket可以在AWS的console管理后台手动创建, 也可以在JS代码里createBucket(建议先 checkBucketExists)。 然后var s3 = new AWS.S3(); 创建了一个S3 client。 由于时间关系,今天只在命令行里完成了Upload,没有用到界面, 所以只写一个最简单的txt文件作为测试: var keyName = "download-me.txt"; var keyBody = "Thank you for downloading me!"; 现在可以妥妥的上床了: ……上传了: s3.createBucket({Bucket: BUCKET_NAME}, function() { console.log("Successfully uploaded! URL =====> ", url ); 注释的那句:putObject 由于它的回调只返回了Etag,没有Location,所以我用upload替代它。 参数ACL可以设置文件的访问权限,如果在这里不做设置,就必须在Console里找到对应的Bucket去添加Policy, 否则无法访问到上传后的文件。 添加Policy是一个无比虐心的过程,今天就不细说了,避免呕吐……
4. 结语 这是最简单最干瘪的Upload流程了。 我好饿。。。
|
|
来自: 昵称10504424 > 《工作》