4.5.1 删除单个文件 一个请求删除多个文件 4.6 列出空间里的文件 4.7 操作文件的元数据信息 5. 常见处理 5.1 简易示例 5.2 上传 InputStream 里的文件内容 5.3 遍历空间里的文件 5.5 删除某个前缀开头 ( 文件夹中 ) 的文件 欢迎使用 本文档是搜

Size: px
Start display at page:

Download "4.5.1 删除单个文件 一个请求删除多个文件 4.6 列出空间里的文件 4.7 操作文件的元数据信息 5. 常见处理 5.1 简易示例 5.2 上传 InputStream 里的文件内容 5.3 遍历空间里的文件 5.5 删除某个前缀开头 ( 文件夹中 ) 的文件 欢迎使用 本文档是搜"

Transcription

1 搜狐云存储服务 API Reference 最后更新 搜狐云存储服务 API Reference 欢迎使用 1. 基本概念 2.SCS Java 客户端 2.1 初始化客户端 2.2 设置服务访问地址 (Endpoint) 2.3 签名认证 签名概述 签名计算方法 使用签名的方法 2.4 获取当前用户信息 3. 空间操作 3.1 空间限制 空间使用规范 空间命名规则 3.2 创建空间 3.3 删除空间 3.4 查看空间是否存在 3.5 获取用户创建的空间列表 3.6 获取空间所在地域 4. 文件操作 4.1 键值和元数据 键值 元数据 4.2 上传文件 使用单一请求上传 使用分块上传 API 上传 分块上传其他操作 4.3 获取文件 4.4 复制文件 4.5 删除文件

2 4.5.1 删除单个文件 一个请求删除多个文件 4.6 列出空间里的文件 4.7 操作文件的元数据信息 5. 常见处理 5.1 简易示例 5.2 上传 InputStream 里的文件内容 5.3 遍历空间里的文件 5.5 删除某个前缀开头 ( 文件夹中 ) 的文件 欢迎使用 本文档是搜狐云存储服务提供的开发者指南文档 本文档并不会详细描述 SDK 的所有细节, 只会对 SDK 开发的相关概念进行解释, 并根据开发者面临的大部分需求给出相关的 SDK 用法和示例 搜狐云存储服务, 是搜狐公司提供的安全 高效 低成本 高可靠性的云服务 通过标准的 Rest API 接口, 多种语言的 SDK 以及 Web 页面, 用户可以方便地在任何时间 地点访问和管理资源和权限 我们同时提供超低成本存储, 跨 IDC 同步,CDN 和图片处理等服务, 方便您搭建网盘, 网站, 备份个人或企业的大规模数据

3 1. 基本概念 空间 (Bucket) 空间是搜狐云台中用于存储文件对象的容器, 每个文件对象都存储在一个空间当中 例如, 如果名为 folder/file.png 的文件存储在 testbucket 空间 ( 地理位置属于北京联通 ) 当中, 则可以使用 URL 来对该文件进行寻址访问 空间的用途包括 : 组织最高等级的搜狐云存储服务命名空间 识别负责存储和数据传输费用的账户 日志监控等记录数据的汇总单位等 空间的配置 : 指定区域创建空间 地域 (Region) 您可以选择一个地理区域供搜狐云台存储您创建的空间, 以便优化延迟 尽可能降低成本 目前有四个 Region 可选, 分别是北京联通, 北京电信, 上海电信和广州电信 文件 (Object) 文件对象是搜狐云台中存储的基本实体 文件由文件数据和元数据组成 数据部分对搜狐云台不透明 元数据是一组描述文件的名称 - 值对 其中包括一些默认元数据 ( 如上次修改日期 ) 和标准 HTTP 元数据 ( 如 Content-Type) 您还可以在存储文件对象时指定自定义元数据 键值 (Key) 键值是每个文件对象在存储空间中的唯一标识 元数据 (Metadata) 对象元数据是一组名称值对 服务访问地址 (Endpoint) 服务访问地址对应的是提交请求时所访问的域名 空间在整个云存储服务中名字是全局唯一的, 所以在访问的时候只要空间名字正确, 最终能访问到正确的空间 如果服务访问地址不正确, 请求就会被提交到错误的服务器上, 这样我们的服务就必须查询空间的位置并且做一次请求转向, 把请求打到正确的访问地址 如果在访问时设置了正确的服务访问地址, 就能减少一次网络转发, 从而提高访问速度 在进行文件的上传下载等操作的时候建议使用正确的访问地址 前缀 (Prefix) 由于底层存储是按照 Key 的字典序来存储的, 所有以 Key 的前缀为条件的查询性能会更好, 建议用户按照一定的规律 ( 比如日期或者类别 ) 作为前缀来组织文件, 这样在查找的时候会有更高的效率 按照统一的前缀并使用 / 来分隔, 可以在管理界面中实现有层级文件夹的效果

4 - 搜狐云台账户访问密钥 (AccessKey&SecretKey) 账户访问密钥提供对账户拥有的搜狐云台资源的完全访问权限 以下是访问密钥示例 : AccessKey: 访问密钥 ID 例如 : 0j20WuGVoFkZBqb7xelSrQ== SecretKey: 私有访问密钥例如 : O+tdBlwHH3pMbZAjD841ww== 访问密钥 ID 可唯一标识搜狐云台账户 可以使用这些访问密钥向搜狐云存储服务发送经身份验证的请求

5 2.SCS Java 客户端 SohuSCSClient 是 SCS 服务的 Java 客户端, 与 SCS 服务器的交互方法都由该对象发起 它需要使用账户相关信息进行初始化 2.1 初始化客户端 为了完成与服务端的交互,SCS 客户端必须使用 AccessKey 和 SecretKey 完成初始化 初始化流程如下 : public class Main { public static void main(string[] args) { String accesskey = "<your accesskey>"; String secretkey = "<your secretkey>"; // 初始化 scs 客户端对象 SohuCSCredentials mycredentials = new BasicSohuCSCredentials(accesskey, secretkey); SohuSCSClient scs= new SohuSCSClient(myCredentials); 2.2 设置服务访问地址 (Endpoint) 为了使访问准确, 减少网络转发的时间消耗, 推荐初始化客户端后设置服务访问地址 服务访问地址目前有四个, 地址如下 : 北京联通 :bjcnc.scs.sohucs.com 北京电信 :bjctc.scs.sohucs.com 上海电信 :shctc.scs.sohucs.com 广州电信 :gzctc.scs.sohucs.com 设置服务访问地址代码如下 : scs.setendpoint("bjctc.scs.sohucs.com") 注意 : 在对空间或者空间内文件做操作的时候可以用如下代码进行服务访问地址设置 : scs.setendpoint(scs.getbucketlocation( ));

6 如果是需要发布出去的代码, 空间名称和空间的位置是确定的, 建议直接把 Endpoint 写成固定值, 这样能够减少一次网络请求, 让非北京联通节点的空间访问更快 2.3 签名认证 签名概述 签名 (signature) 用于验证请求的发送者身份, 签名是搜狐云台提供访问控制的一个重要措施, 比如上传文件的 http 请求需要提供正确签名才能成功上传文件 搜狐云台提供的公钥 (accesskey) 用于标识用户, 密钥 (secretkey) 用于用户计算签名和搜狐云台验证签名 其中 secretkey 必须保密, 只有用户和搜狐云台知道 签名计算方法 签名 (signature) 的计算方法包括以下两个步骤 : 1. 依据请求的信息构建出用来做签名计算的字符串 签名计算的字符串 = 请求方法名 + 换行 + 换行 + 请求头信息 + 换行 +/+ 空间名 /+key+ 子资源名注意 : 1) 请求方法名为如下几种类型之一 :put,post,delete,get,head; 2) key 为文件名 ;key 和子资源名可以不加 3) 请求头信息的构建方法如下 : 把请求头 Content-MD5, Content-Type, Date, 以及以 x-scs- 开头的请求头名字按照字典序排序, 遍历排序后的所有请求头 如果请求头以 x-scs- 开头, 则把请求头名字 +:+ 请求头所对应的值 + 换行合并起来, 否则只把请求头所对应的值 + 换行合并起来 ; 4) 子资源名只能为如下两种类型 :?acl,?location 2. 根据字符串计算签名先将秘钥与构建出来的字符串进行 HAMC-SHA1 算法加密, 然后对加密后得出来的字节流进行 Base64 编码, 该编码结果即为签名 signature

7 2.3.3 使用签名的方法 1 使用签名的方法是增加一个 Authorization 请求头, 值为 accesskey:signature 示例如下的 API: DELETE /testbucket/lhbtest HTTP/1.1 Host: bjcnc.scs.sohucs.com Date: :27:43 Authorization: signaturevalue (signaturevalue 形式是 :accesskey:signature) 上面的 Rest API 用来做签名计算的字符串如下 : delete application/x-www-form-urlencoded Wed, 15 Apr :27:48 UTC /new-test-cnc/1.jpg 当秘钥为 3ZN4hLLcC4P5SOWdsdZ4FQ== 时, 计算出来的签名是 : 1UJPXgNxKOhQ81eTF4rGvxfAmW4= 故此例中的 Authorization 请求头值 ( 即 signature Value ) 是 :e6ryvnfqsu9hvlbc7gx3ya==:1ujpxgnxkohq81etf4rgvxfamw4= 原理是 : 首先将秘钥与构建出来的字符进行 HAMC-SHA1 算法加密, 然后对加密后出来的字节流进行 Base64 编码 2 刷新 CDN 签名示例 PUT /cdn/purge HTTP/1.1 Host: cs.sohu.com User-Agent: Go 1.1 package http Connection: close Content-Length: 72 Authorization: b0ze6i2guuoqgmso6kax7a==:1uqkcknxo9orzoivci8c2vqgsbu= Content-Type: application/x-www-form-urlencoded Date: Tue, 14 Apr :00:44 UTC X-Request-With: XMLHttpRequest Accept-Encoding: gzip

8 说明 : 签名字符创如下 : put\n\napplication/x-www-form-urlencoded\ntue, 14 Apr :00:44 UTC\n/cdn/purge 2.4 获取当前用户信息 使用已初始化的客户端对象可以获取当前用户的账户信息 代码片段如下 : Owner owner = scs.getscsaccountowner(); System.out.println(owner.getId()); System.out.println(owner.getDisplayName());

9 3. 空间操作 3.1 空间限制 空间使用规范 每一个存储空间 (Bucket) 归创建它的搜狐云台账户所有 每个搜狐云台账户可以拥有最多 100 个空间 空间所有权不可转让给其他账户 但是, 如果空间内容为空, 您可以删除它 删除空间后, 该名称可供重用, 但是出于整个云存储系统安全性考虑, 您将无法重新使用该名称, 其他账户可以使用该名称创建空间 另请注意, 该名称可能需要过一段时间之后才能重用 因此, 如果您想要使用相同的空间名称, 请不要删除该空间 存储在空间中的文件对象无数量限制, 且无论您是使用很多空间, 还是仅使用少量空间, 性能方面都不会有差别 您可以在单个空间中存储所有文件, 也可以在多个空间中组织它们 您无法在空间中创建空间 由于空间操作针对集中的全局资源空间工作, 因此不适合在应用程序的高可用性代码路径上创建或删除空间 最好是在单独的初始化或设置不常运行的例程时创建或删除空间 如果您的应用程序自动创建了空间, 请选择不会导致命名冲突的空间命名方案 确保空间名称已被使用时, 您的应用程序逻辑会选择其他空间名称 空间命名规则 名字长度在 3 到 63 之内 ; 名字只支持由小写字母 数字 点和横杠组成 ; 名字中如包含点和横杠, 则不能出现在第一位和最后一位, 且不能临靠出现 不支持大写字母不支持包含 IPv4 格式 (X.X.X.X) 的字符串 3.2 创建空间 一般的创建空间请求如下 : import com.sohucs.sohucsclientexception; import com.sohucs.sohucsserviceexception; import com.sohucs.auth.basicsohucscredentials; import com.sohucs.auth.sohucscredentials; import com.sohucs.services.scs.sohuscsclient; import com.sohucs.services.scs.model.region; public class CreateBucket { public static void main(string[] args) {

10 SCS," + String accesskey = "<your accesskey>"; String secretkey = "<your secretkey>"; String bucketname = "<your bucket name>" // 初始化 scs 客户端对象 SohuCSCredentials mycredentials = new BasicSohuCSCredentials(accesskey, secretkey); // 生成证书 SohuSCSClient scs= new SohuSCSClient(myCredentials); try { scs.createbucket(bucketname, Region.BEIJING); System.out.println("bucket location=" + scs.getbucketlocation(bucketname)); catch (SohuCSServiceException e) { // 打印出失败的原因 System.out.println(e.getErrorCode()); System.out.println(e.getRequestId()); System.out.println(e.getStatusCode()); System.out.println(e.getMessage()); catch (SohuCSClientException e) { System.out.println("Caught an SohuCSClientException, " + "which means the client encountered " + "a serious internal problem while trying to communicate with "such as not being able to access the network."); System.out.println("Error Message: " + e.getmessage()); catch (Exception e) { e.printstacktrace(); 相关函数 : public Bucket createbucket(string bucketname) bucketname 为所要创建的空间名, 该函数会把空间创建在北京联通 public Bucket createbucket(string bucketname, Region region) Region 为枚举类型, 取值目前有四个 : 地域北京电信北京联通上海电信广州电信 Region Region.BEIJING Region.BEIJINGCNC Region.SHANGHAI Region.GUANGZHOUCTC 注意 : createbucket 函数返回的 bucket 对象只有 name 属性可以用, 其他对象均为空值

11 关于空间的其他请求和创建类似, 异常处理也一样, 此处不再贴出整段代码 3.3 删除空间 删除空间请求只有在空间里没有文件的时候才会成功, 否则抛出异常 public void deletebucket(string bucketname) 3.4 查看空间是否存在 public boolean doesbucketexist(string bucketname) 3.5 获取用户创建的空间列表 public List<Bucket> listbuckets() 3.6 获取空间所在地域 public String getbucketlocation(string bucketname) 该函数会返回之前四个服务访问地址之一

12 4. 文件操作 在进行文件操作之前, 建议首先设置服务访问地址 4.1 键值和元数据 键值 创建文件对象时, 要指定键值名称, 它在空间中唯一地标识该文件对象 例如, 在搜狐云台控制台中, 在突出显示空间时, 将显示空间中的文件对象的列表 这些名称即为文件对象的键值 键值的名称是一序列的 Unicode 字符, 它的 UTF-8 编码长度最大为 1024 个字节 注意 : 如果预计对搜狐云台的工作负载将超出每秒 100 个请求, 则建议遵循一下键值命名指导规则, 以实现最佳性能 文件键值命名指导规则 安全字符 字母数字字符 [0-9a-zA-Z] 和特殊字符! - _. * ( ) 以下是有效对象键名称的示例 : sohu-cloud-1 sohu.cloud_img-2014/11/01/mytest.jpg pics/2014/11/videotest.wmv 可能需要特殊处理的字符键值名称中的以下字符可能需要另外进行代码处理, 并且可能需要以十六进制形式在 URL 中编码或引用 其中部分字符是不可打印的字符, 浏览器无法处理它们, 这也需要特殊处理 : 和 ( & ) 美元 ( $ ) At ) 等于 ( = ) ASCII 字符范围 00 1F 十六进制 (0 31 十进制 ) 和 7F(127 十进制 ) 分号 ( ; ) 冒号 ( : ) 逗号 (, ) 加号 ( + ) 问号 (? ) 空格 大量连续空格可能会在某些使用情形中丢失 ( 特别是多个空格 )

13 要避免的字符您应避免在键值名称中使用以下字符, 因为这些字符需要进行大量的特殊处理以在所有应用程序间保持一致性 反斜杠 ( \ ) 大括号 ( { ) 不可打印的 ASCII 字符 ( 十进制字 符 ) 插入符号 ( ^ ) 井号 字符 ( # ) 百分比字符 ( % ) 重音符 / 反勾号 ( ` ) 方括号 ( [ ] ) 引号 大于 符号 ( > ) 波浪字符 ( ~ ) 竖线 ( ) 小于 符号 ( < ) 搜狐云台数据模型是一种扁平结构, 无层次结构 : 您创建空间, 空间存储文件对象 不存在子空间或子文件夹层次结构 ; 但您可以使用键名称前缀和分隔符推断逻辑层次结构 ( 如同搜狐云台控制台一样 ) 我们的控制台支持文件夹的概念 字符 / 不能放在文件名的开头 元数据 元数据分为两种 : 系统元数据和用户定义的元数据 系统定义的元数据对于空间中存储的每个文件对象, 搜狐云台均保留一组系统元数据 搜狐云台根据需要处理这些系统元数据 例如, 我们的云存储服务将保留文件对象创建日期和大小元数据, 并将这些信息用作文件管理的一部分 用户定义的元数据在一般的操作中, 元数据是在上传文件时进行设置的 在上传对象完成后, 依然有如下部分元数据可以通过 SDK 进行更改 : content-type, cache-control, expires, content-encoding, content-disposition 或者以 x-scs-meta- 开头的元数据 4.2 上传文件 根据上传数据的大小, 您可以使用两种方式进行上传 如果数据小于 200M, 可以使用单一请求来上传文件如果您的数据大于 200M, 必须使用分段上传 使用单一请求上传 单一请求是指只用一个 put 操作就可以完成上传, 对应 SDK 中就是只使用一个调用完成上传 上传文件的请求如下 :

14 import com.sohucs.sohucsclientexception; import com.sohucs.sohucsserviceexception; import com.sohucs.auth.basicsohucscredentials; import com.sohucs.auth.sohucscredentials; import com.sohucs.services.scs.sohuscsclient; import com.sohucs.services.scs.model.objectmetadata; import com.sohucs.services.scs.model.putobjectresult; import java.io.*; public class putobject { public static void main(string[] args) { String accesskey = "<your accesskey>"; String secretkey = "<your secretkey>"; String bucketname = "<your bucketname>"; String filepath = "<your file path>"; String key = "<key your want to save>"; // 初始化 scs 客户端对象 SohuCSCredentials mycredentials = new BasicSohuCSCredentials(accesskey, secretkey); // 生成证书 SohuSCSClient scs= new SohuSCSClient(myCredentials); scs.setendpoint(scs.getbucketlocation(bucketname)); try { PutObjectResult result = scs.putobject(bucketname, key, new File(filepath)); System.out.println(result.getETag()); catch (SohuCSServiceException e) { // 打印出失败的原因 System.out.println(e.getErrorCode()); System.out.println(e.getRequestId()); System.out.println(e.getStatusCode()); System.out.println(e.getMessage()); catch (SohuCSClientException e) { System.out.println("Caught an SohuCSClientException, " + "which means the client encountered " + "a serious internal problem while trying to communicate with SCS," + "such as not being able to access the network."); System.out.println("Error Message: " + e.getmessage()); 注意 : 如果上传的内容是从 InputStream 读取而不是 file, 则需要设置一下该文件对应元数据的

15 ContentLength, 参见后面示例, 上传 InputStream 里的文件内容如果想确认上传的文件和自己本地的文件一致, 可以在上传时计算出 Content-MD5 值并且设置到 metadata 中, 这样服务器接到文件时会验证 MD5 值, 如果不一致则返回错误 设置 MD5 代码如下 : metadata.setcontentmd5(md5str); 使用分块上传 API 上传 对于用 putobject 直接上传的文件, 服务器限制了不能超过 200M 更大的文件可以用分块上传请求来传到服务器上 分段上传允许上传单块数据作为一组分块 每个分段都是数据元数据的连续部分 您可以独立上传以及按任意顺序上传这些数据元分段 如果任意分段传输失败, 可以重新传输该分段且不会影响其他分段 当对象的所有段都上传后,SCS 将这些段组织起来, 然后创建对象 分块上传并不是一个单一的请求, 而是三种不同的请求综合而成 1. 初始化分块上传 告诉服务器分块上传要传到的空间和它的 Key, 服务器会针对这个请求返回一个 uploadid, 后续操作由空间,Key 和 uploadid 来确定属于同一个连续上传操作 2. 上传分块 指定空间,Key 和 uploadid 后, 带着区块序号和大小来把这个文件的区段上传到服务器上 3. 完成上传 因为在分块上传时文件是分散上传的, 服务器每次只是知道文件块的序号, 大小和内容, 无法确定文件是否读取完成, 所以在所有文件块都上传完毕时需要告诉服务器文件已经上传完成, 否则这个文件是无法访问的 完成上传的请求需要的参数是空间,Key, uploadid 和分块上传请求返回的 etag 分片上传的操作限制 : 分片大小 5M~16M, 文件大小 5M~ 无限制示例代码如下 : package test; import com.sohucs.sohucsclientexception; import com.sohucs.sohucsserviceexception; import com.sohucs.auth.basicsohucscredentials; import com.sohucs.auth.sohucscredentials; import com.sohucs.services.scs.sohuscsclient; import com.sohucs.services.scs.model.*; import java.io.file; import java.util.arraylist; public class multipartupload { public static void main(string[] args) { String accesskey = "<your accesskey>"; String secretkey = "<your secretkey>"; String bucketname = "<your bucketname>"; String filepath = "<your file path>"; String key = "<key your want to save>"; // 初始化 scs 客户端对象 SohuCSCredentials mycredentials = new

16 BasicSohuCSCredentials(accesskey, secretkey); // 生成证书 SohuSCSClient scs= new SohuSCSClient(myCredentials); scs.setendpoint(scs.getbucketlocation(bucketname)); try { // Step 1: Initialize. InitiateMultipartUploadRequest initrequest = new InitiateMultipartUploadRequest(bucketName, key); InitiateMultipartUploadResult initresponse = scs.initiatemultipartupload(initrequest); File file = new File(filepath); long contentlength = file.length(); long partsize = 8 * 1024 * 1024; // Set part size to 8 MB. List<PartETag> partetags = new ArrayList<PartETag>(); try { // Step 2: Upload parts. long fileposition = 0; for (int i = 1; fileposition < contentlength; i++) { // Last part can be less than 5 MB. Adjust part size. partsize = Math.min(partSize, (contentlength - fileposition)); // Create request to upload a part. UploadPartRequest uploadrequest = new UploadPartRequest().withBucketName(bucketName).withKey(key).withUploadId(initResponse.getUploadId()).withPartNumber(i).withPartSize(partSize).withFileOffset(filePosition).withFile(file); // Upload part and add response to our list. partetags.add(scs.uploadpart(uploadrequest).getpartetag()); fileposition += partsize; System.out.println("uploaded size:" + fileposition); // Step 3: complete. CompleteMultipartUploadRequest comprequest = new CompleteMultipartUploadRequest(bucketName,key, initresponse.getuploadid(),partetags); scs.completemultipartupload(comprequest); System.out.println("finished upload."); catch (Exception e) { // canceled upload when upload failed. you can retry when upload error scs.abortmultipartupload(new AbortMultipartUploadRequest( bucketname, key, initresponse.getuploadid())); catch (SohuCSServiceException e) { // 打印出失败的原因 System.out.println(e.getErrorCode()); System.out.println(e.getRequestId()); System.out.println(e.getStatusCode()); System.out.println(e.getMessage());

17 catch (SohuCSClientException e) { System.out.println("Caught an SohuCSClientException, " + "which means the client encountered " + "a serious internal problem while trying to communicate with SCS," + "such as not being able to access the network."); System.out.println("Error Message: " + e.getmessage()); 注意 : SDK 上传时并没有进行 MD5 验证, 如需确保上传的文件和源文件一致, 请在生成分片上传请求时使用 uploadrequest.withmd5digest("<md5str>") 分块上传其他操作 分块上传是一个服务器有状态的行为, 如果一组操作中断, 可以对服务器的状态进行查询和清理 查看一个空间里正在分块上传的文件 : ListMultipartUploadsRequest request = new ListMultipartUploadsRequest(bucketName); MultipartUploadListing listing = scs.listmultipartuploads(request); for(multipartupload part:listing.getmultipartuploads()) { System.out.println(part.getInitiated() + " " + part.getkey()+ " " + part.getuploadid() + " " + part.getowner()); 取消分块上传的文件 : AbortMultipartUploadRequest request = new AbortMultipartUploadRequest(bucketName, key, uploadid); scs.abortmultipartupload(request); 4.3 获取文件 获取文件的调用比较简单, 关键代码如下 : SCSObject object = scs.getobject(bucketname, key); InputStream is = object.getobjectcontent();

18 这种方式是最简单的获取文件信息的方式,is 中就是文件内容, 后续可以做处理或者写入本地文件 特别的, 如果想把文件存到本地, 有一种方式会比较方便 : GetObjectRequest request = new GetObjectRequest(bucketName, key); scs.getobject(request, new File(savepath)); 这样会将文件直接写到 savepath 中 4.4 复制文件 scs 支持不经过本地直接通过复制操作创建副本 通过使用复制操作您可以完成以下操作 : 创建文件的其他副本复制文件并删除原始数据来重命名把一个空间里的数据直接复制到其他空间中 复制文件关键代码如下 : scs.copyobject(bucketname, key, destbucketname, destkey); 注意 : 目前只支持同一节点 ( 地域 ) 的空间之间拷贝数据分片上传的文件不需要特殊处理, 可以使用同一接口 4.5 删除文件 删除单个文件 scs.deleteobject(bucketname, key); 一个请求删除多个文件 使用 DeleteObjectsRequest 请求可以在一个请求中批量删除多个文件 DeleteObjectsRequest request = new DeleteObjectsRequest(bucketName); List<DeleteObjectsRequest.KeyVersion> list = new LinkedList<DeleteObjectsRequest.KeyVersion>();

19 // 删除某个文件 list.add(new DeleteObjectsRequest.KeyVersion("key2", "versionid")); request.setkeys(list); scs.deleteobjects(request); 4.6 列出空间里的文件 listobject 接口可以列出空间里文件的 Key, 它允许以以下形式列出空间里的文件 Key: 直接列出空间里的 Key 按照固定前缀列出文件 Key( 列出某个文件夹中的文件 Key) ObjectListing listing = scs.listobjects(bucketname); for (SCSObjectSummary summary : listing.getobjectsummaries()) { System.out.println(summary.getKey() + \t + summary.getlastmodified() + \t + summary.getetag()); 或者想查询某个前缀 ( 文件夹中 ) 的文件, 可以这样调用 : ObjectListing listing = scs.listobjects(bucketname, prefix); 4.7 操作文件的元数据信息 1. 获取元数据获取文件元数据方法如下 : ObjectMetadata metadata = scs.getobjectmetadata(bucketname, key); System.out.println(metadata.getContentType()); 2. 修改元数据存在 SCS 上的文件的元数据, 有一些元数据字段是可以直接修改的 修改文件元数据的方法如下 : Map<String, String> usermetadata = new HashMap<String, String>(); usermetadata.put( Content-Type, text/plain ); PutObjectMetaDataRequest request = new PutObjectMetaDataRequest(bucketName, key, usermetadata, null); scs.putobjectmetadata(request); 可以实现批量修改元数据, 与此方法类似, 参考 PUT Multiple Metadata 接口

20 5. 常见处理 5.1 简易示例 以下是一个基本的 demo, 演示了三个基本功能, 创建桶, 上传文件和下载文件 import com.sohucs.sohucsclientexception; import com.sohucs.sohucsserviceexception; import com.sohucs.auth.basicsohucscredentials; import com.sohucs.auth.sohucscredentials; import com.sohucs.services.scs.sohuscsclient; import com.sohucs.services.scs.model.bucket; import com.sohucs.services.scs.model.scsobject; import java.io.*; public static void main(string[] args) { try{ String accesskey = "<your accesskey>"; String secretkey = "<your secretkey>"; String bucketname = "<your bucket>"; String key = "<file name you want to show in server>"; String filepath = "<file path you want to upload>"; // 初始化 scs 客户端对象 SohuCSCredentials mycredentials = new BasicSohuCSCredentials(accesskey, secretkey); // 生成证书 SohuSCSClient scs= new SohuSCSClient(myCredentials); // 创建空间 Bucket bucket = scs.createbucket(bucketname); // 上传文件 File file = new File(filepath); // 第二个参数名为 key, 服务器上空间里的 key 是和我们想的文件名相对应的概念 scs.putobject(bucketname, key, file); // 下载文件 SCSObject object = scs.getobject(bucketname, key); InputStream in = object.getobjectcontent(); // 获取改文件在服务器上的名字进行存储, 此处和 key 相同 String localfilename = object.getkey(); String savedirstr = "< directory you want to download to>"; File savedir = new File(saveDirStr); if (!savedir.exists()) { if (!savedir.mkdir()) { System.err.println("create directory " + savedirstr + " failed");

21 return; else if (!savedir.isdirectory()) { System.err.print(saveDirStr + " is not a directory"); return; File outfile = new File(saveDir, localfilename); outfile.createnewfile(); OutputStream out = new FileOutputStream(outfile); byte[] buff = new byte[4096]; int n = 0; while ((n = in.read(buff))!= -1) { out.write(buff, 0, n); in.close(); out.close(); catch (SohuCSServiceException e) { // 打印出失败的原因 System.out.println(e.getErrorCode()); System.out.println(e.getRequestId()); System.out.println(e.getStatusCode()); System.out.println(e.getMessage()); catch (SohuCSClientException e) { System.out.println("Caught an SohuCSClientException, " + "which means the client encountered " + "a serious internal problem while trying to communicate with SCS,"+ "such as not being able to access the network."); System.out.println("Error Message: " + e.getmessage()); catch (Exception e) { e.printstacktrace(); 5.2 上传 InputStream 里的文件内容 实际使用中上传文件时的文件来源可能是各种形式而不是 File, 该示例演示了把 FileInputStream 转换成 ByteArrayInputStream 进行输入的用法 FileInputStream 可以用其他形式的 InputStream 替代 import com.sohucs.sohucsclientexception; import com.sohucs.sohucsserviceexception; import com.sohucs.auth.basicsohucscredentials; import com.sohucs.auth.sohucscredentials; import com.sohucs.services.scs.sohuscsclient; import com.sohucs.services.scs.model.objectmetadata;

22 import com.sohucs.services.scs.model.putobjectresult; import java.io.*; public class putobject { final static int BUFFER_SIZE = 1024; final static int MAX_CONTENT_LENGTH = 1024 * 1024 * 200; public static void main(string[] args) { String accesskey = "<your accesskey>"; String secretkey = "<your secretkey>"; String bucketname = "<your bucket>"; String key = "<file name you want to show in server>"; String filepath = "<file path you want to upload>"; // 初始化 scs 客户端对象 SohuCSCredentials mycredentials = new BasicSohuCSCredentials(accesskey, secretkey); // 生成证书 SohuSCSClient scs= new SohuSCSClient(myCredentials); scs.setendpoint(scs.getbucketlocation(bucketname)); try { InputStream is = new FileInputStream(new File(filepath)); byte[] data = inputstream2bytearray(is); ObjectMetadata metadata = new ObjectMetadata(); ByteArrayInputStream instream = newbytearrayinputstream(data); metadata.setcontentlength(data.length); PutObjectResult result = scs.putobject(bucketname, key, instream,metadata); System.out.println(result.getContentMd5()); catch (FileNotFoundException e) { e.printstacktrace(); catch (IOException e) { e.printstacktrace(); catch (SohuCSServiceException e) { // 打印出失败的原因 System.out.println(e.getErrorCode()); System.out.println(e.getRequestId()); System.out.println(e.getStatusCode()); System.out.println(e.getMessage()); catch (SohuCSClientException e) { System.out.println("Caught an SohuCSClientException, " + "which means the client encountered " + "a serious internal problem while trying to communicate withscs," + "such as not being able to access the network."); System.out.println("Error Message: " + e.getmessage()); public static byte[] inputstream2bytearray(inputstream instream) throws IOException

23 { ByteArrayOutputStream outstream = new ByteArrayOutputStream(); byte[] data = new byte[buffer_size]; int count = -1; long totalcount = 0; while((count = instream.read(data,0,buffer_size))!= -1) { outstream.write(data, 0, count); totalcount += count; if (totalcount > MAX_CONTENT_LENGTH) { throw new IOException("content length for current request exceeds max threshold 200M"); return outstream.tobytearray(); 5.3 遍历空间里的文件 该用法综合使用了 istruncated 和 setmarker 来遍历空间中的文件 import com.sohucs.sohucsclientexception; import com.sohucs.sohucsserviceexception; import com.sohucs.auth.basicsohucscredentials; import com.sohucs.auth.sohucscredentials; import com.sohucs.services.scs.sohuscsclient; import com.sohucs.services.scs.model.listobjectsrequest; import com.sohucs.services.scs.model.objectlisting; import com.sohucs.services.scs.model.scsobjectsummary; public class traversebucket { public static void main(string[] args) { String accesskey = "<your accesskey>"; String secretkey = "<your secretkey>"; String bucketname = "<your bucketname>"; // 初始化 scs 客户端对象 SohuCSCredentials mycredentials = new BasicSohuCSCredentials(accesskey, secretkey); // 生成证书 SohuSCSClient scs= new SohuSCSClient(myCredentials); scs.setendpoint(scs.getbucketlocation(bucketname)); try { ListObjectsRequest request = new ListObjectsRequest().withBucketName(bucketName);

24 ObjectListing listing; do { listing = scs.listobjects(request); for (SCSObjectSummary summary : listing.getobjectsummaries()) { // do some thing here System.out.println(summary.getKey()); request.setmarker(listing.getnextmarker()); while (listing.istruncated()); System.out.println("end"); catch (SohuCSServiceException e) { // 打印出失败的原因 System.out.println(e.getErrorCode()); System.out.println(e.getRequestId()); System.out.println(e.getStatusCode()); System.out.println(e.getMessage()); catch (SohuCSClientException e) { System.out.println("Caught an SohuCSClientException, " + "which means the client encountered " + "a serious internal problem while trying to communicate withscs," + "such as not being able to access the network."); System.out.println("Error Message: " + e.getmessage()); 5.5 删除某个前缀开头 ( 文件夹中 ) 的文件 综合使用了遍历和批量删除, 运行该例子时有些需要注意 : 运行该 demo 前请务必确认参数正确 import com.sohucs.sohucsclientexception; import com.sohucs.sohucsserviceexception; import com.sohucs.auth.basicsohucscredentials; import com.sohucs.auth.sohucscredentials; import com.sohucs.services.scs.sohuscsclient; import com.sohucs.services.scs.model.deleteobjectsrequest; import com.sohucs.services.scs.model.listobjectsrequest; import com.sohucs.services.scs.model.objectlisting; import com.sohucs.services.scs.model.scsobjectsummary; import java.util.linkedlist; import java.util.list;

25 public class deletefolder { public static void main(string[] args) { String accesskey = "<your accesskey>"; String secretkey = "<your secretkey>"; String bucketname = "<your bucketname>"; // 初始化 scs 客户端对象 SohuCSCredentials mycredentials = new BasicSohuCSCredentials(accesskey, secretkey); // 生成证书 SohuSCSClient scs= new SohuSCSClient(myCredentials); scs.setendpoint(scs.getbucketlocation(bucketname)); try { ListObjectsRequest request = newlistobjectsrequest().withbucketname(bucketname).withprefix("<prefix>"); ObjectListing listing; do { listing = scs.listobjects(request); DeleteObjectsRequest delrequest = new DeleteObjectsRequest(bucketName); List<DeleteObjectsRequest.KeyVersion> list = new LinkedList<DeleteObjectsRequest.KeyVersion>(); for (SCSObjectSummary summary : listing.getobjectsummaries()) { System.out.println(summary.getKey()); list.add(new DeleteObjectsRequest.KeyVersion(summary.getKey())); delrequest.setkeys(list); scs.deleteobjects(delrequest); request.setmarker(listing.getnextmarker()); while (listing.istruncated()); catch (SohuCSServiceException e) { // 打印出失败的原因 System.out.println(e.getErrorCode()); System.out.println(e.getRequestId()); System.out.println(e.getStatusCode()); System.out.println(e.getMessage()); catch (SohuCSClientException e) { System.out.println("Caught an SohuCSClientException, " + "which means the client encountered " + "a serious internal problem while trying to communicate withscs," + "such as not being able to access the network."); System.out.println("Error Message: " + e.getmessage());

1. 基本概念 作业 (job) 一次多媒体操作称之为一个作业, 一次多媒体请求里可以包含多个作业 容器 (container) 多媒体文件的格式 编码器 (codec) 音视频文件的编码格式 搜狐多媒体服务支持转码格式 Container Audio Codecs Video Codecs fla

1. 基本概念 作业 (job) 一次多媒体操作称之为一个作业, 一次多媒体请求里可以包含多个作业 容器 (container) 多媒体文件的格式 编码器 (codec) 音视频文件的编码格式 搜狐多媒体服务支持转码格式 Container Audio Codecs Video Codecs fla 搜狐云台多媒体服务 Java SDK User Guide 搜狐云台多媒体服务 Java SDK User Guide 欢迎使用 1. 基本概念 2.Media java 客户端 2.1 初始化客户端 2.2 初始化客户端 3.Job 操作 3.1 创建 Job 3.2 查询 Job 3.3 取消 Job 3.4 检验 job 参数 欢迎使用 本文档是搜狐多媒体服务提供的开发者指南文档 本文档并不会详细描述

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj Message Transition 5-1 5-2 DataInputStream Class 5-3 DataOutputStream Class 5-4 PrintStream Class 5-5 (Message Transition) (Exercises) Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

S3.Net SDK 文档 1 SDK 说明 对象存储.Net SDK 使用开源的 S3.Net SDK 本文档介绍用户如何使用 S3.Net SDK 来 使用对象存储服务 更加详细的接口参数说明, 请在使用时参照 S3.Net SDK 官方说 明

S3.Net SDK 文档 1 SDK 说明 对象存储.Net SDK 使用开源的 S3.Net SDK 本文档介绍用户如何使用 S3.Net SDK 来 使用对象存储服务 更加详细的接口参数说明, 请在使用时参照 S3.Net SDK 官方说 明 S3.Net SDK 文档 1 SDK 说明 对象存储.Net SDK 使用开源的 S3.Net SDK 本文档介绍用户如何使用 S3.Net SDK 来 使用对象存储服务 更加详细的接口参数说明, 请在使用时参照 S3.Net SDK 官方说 明 https://aws.amazon.com/cn/sdk-for-net/ 2 安装 SDK 2.1 依赖环境 windows 平台 : 安装.Net

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

phar 方式 使用 phar 单文件方式, 在 https://github.com/aws/aws sdk php/releases?after= 页面中, 选择 版本 , 下载已经打包好的 phar 文件, 然后在你的代码中引入这个文件即可 : require_once

phar 方式 使用 phar 单文件方式, 在 https://github.com/aws/aws sdk php/releases?after= 页面中, 选择 版本 , 下载已经打包好的 phar 文件, 然后在你的代码中引入这个文件即可 : require_once S3 PHP SDK 使用文档 S3 PHP SDK 说明 对象存储 S3 PHP SDK 使用开源的 S3 PHP SDK aws/aws sdk php 本文档介绍用户如何使用 aws/aws sdk php 来使用对象存储服务 更加详细的接口参数说明, 请在使用时参照 aws/aws sdkphp API 官方说明 http://docs.aws.amazon.com/aws sdk php/v3/api/api

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

javascript sdk javascript sdk 列出 Bucket 内的对象上传 textarea 内容到 Bucket 上传本地文件生成私有下载链接生成带过期时间的私有链接删除对象下载对象拷贝对象查看文件访问权限设置文件访问权限获取静态网站配置设置静态网站删除静态网站查询对象元数据查询

javascript sdk javascript sdk 列出 Bucket 内的对象上传 textarea 内容到 Bucket 上传本地文件生成私有下载链接生成带过期时间的私有链接删除对象下载对象拷贝对象查看文件访问权限设置文件访问权限获取静态网站配置设置静态网站删除静态网站查询对象元数据查询 javascript sdk javascript sdk 列出 Bucket 内的对象上传 textarea 内容到 Bucket 上传本地文件生成私有下载链接生成带过期时间的私有链接删除对象下载对象拷贝对象查看文件访问权限设置文件访问权限获取静态网站配置设置静态网站删除静态网站查询对象元数据查询桶的多版本 Bucket 开启对象多版本支持挂起 Bucket 的多版本对象功能浏览器客户端浏览器客户端的

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 -> 目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController

More information

SDK 说明 Onest python SDK 来源于开源的 boto3 用户在使用 Onest 云存储服务时, 可以选择直接使用 aws 原生的 sdk, 本文档只是提供了一些常用接口的简单实示例, 如需更加详细的接口参数说明, 请在使用时参照 boto3 API 官方说明 boto3 安装 py

SDK 说明 Onest python SDK 来源于开源的 boto3 用户在使用 Onest 云存储服务时, 可以选择直接使用 aws 原生的 sdk, 本文档只是提供了一些常用接口的简单实示例, 如需更加详细的接口参数说明, 请在使用时参照 boto3 API 官方说明 boto3 安装 py Python SDK 使用文档 Python SDK 使用文档接口域名 SDK 说明安装 python SDK Client 初始化 API 接口说明 1. listbuckets 2. getbucketlocation 3. createbucket 4. headbucket 5. deletebucket 6. getbucketacl 7. putbucketacl 8. listobjects

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

FileMaker 16 ODBC 和 JDBC 指南

FileMaker 16 ODBC 和 JDBC 指南 FileMaker 16 ODBC JDBC 2004-2017 FileMaker, Inc. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc. FileMaker WebDirect FileMaker Cloud FileMaker,

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

IP505SM_manual_cn.doc

IP505SM_manual_cn.doc IP505SM 1 Introduction 1...4...4...4...5 LAN...5...5...6...6...7 LED...7...7 2...9...9...9 3...11...11...12...12...12...14...18 LAN...19 DHCP...20...21 4 PC...22...22 Windows...22 TCP/IP -...22 TCP/IP

More information

暴风云视点播解决方案

暴风云视点播解决方案 暴 风 云 视 频 点 播 解 决 方 案 目 录 1. 简 介...2 1.1. 点 播 的 定 义...2 1.2. 点 播 的 基 本 功 能 描 述... 2 1.2.1. 基 本 功 能...2 1.2.2. 功 能 示 意 图...3 1.2.3. 工 作 流 程 演 示 图... 4 1.2.4. 特 性 和 指 标 描 述... 4 2. 应 用 场 景...5 2.1. 适 合 的

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

使用MapReduce读取XML文件

使用MapReduce读取XML文件 使用 MapReduce 读取 XML 文件 XML( 可扩展标记语言, 英语 :extensible Markup Language, 简称 : XML) 是一种标记语言, 也是行业标准数据交换交换格式, 它很适合在系统之间进行数据存储和交换 ( 话说 Hadoop H ive 等的配置文件就是 XML 格式的 ) 本文将介绍如何使用 MapReduce 来读取 XML 文件 但是 Had oop

More information

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes 包管理理 工具 Helm 蔺礼强 Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes

More information

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 本章学习目标 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 配置视图解析器 @RequestMapping 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 和 Struts2 都属于表现层的框架, 它是 Spring 框架的一部分, 我们可 以从 Spring 的整体结构中看得出来 :

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

FileMaker 15 ODBC 和 JDBC 指南

FileMaker 15 ODBC 和 JDBC 指南 FileMaker 15 ODBC JDBC 2004-2016 FileMaker, Inc. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc. / FileMaker WebDirect FileMaker, Inc. FileMaker

More information

开放数据处理服务 ODPS 批量数据通道

开放数据处理服务 ODPS 批量数据通道 开放数据处理服务 ODPS 批量数据通道 批量数据通道 SDK 介绍 概要 ODPS Tunnel 是 ODPS 的数据通道, 用户可以通过 Tunnel 向 ODPS 中上传或者下载数据 目前 Tunnel 仅支持表 ( 不包括视图 View) 数据的上传下载 ODPS 提供的数据上传下载工具即是基于 Tunnel SDK 编写的 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk-core"

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

More information

Microsoft Word - AccessPortal使用手册v3.1.doc

Microsoft Word - AccessPortal使用手册v3.1.doc HighGuard Access Portal 使用手册 地址 : 上海市张江高科技园区松涛路 563 号海外创新园 B 座 301-302 室 电话 : 021-50806229 传真 : 021-50808180 电子邮件 : marketing@highguard.com.cn 第 1 页共 24 页 目录 1. ACCESSPORTAL 概述...4 1.1. AccessPortal 主页面

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile.. WebSphere Studio Application Developer IBM Portal Toolkit... 1/21 WebSphere Studio Application Developer IBM Portal Toolkit Portlet Doug Phillips (dougep@us.ibm.com),, IBM Developer Technical Support Center

More information

untitled

untitled 1 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object 參 類 都 object 參 object Boxing 參 boxing

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2 (Guangzhou) AIT Co, Ltd 020-84106666 020-84106688 http://wwwlenxcn Xi III Zebra XI III 1 (Guangzhou) AIT Co, Ltd 020-84106666 020-84106688 http://wwwlenxcn 230V 110V [ ]! 2 (Guangzhou) AIT Co, Ltd 020-84106666

More information

WWW PHP

WWW PHP WWW PHP 2003 1 2 function function_name (parameter 1, parameter 2, parameter n ) statement list function_name sin, Sin, SIN parameter 1, parameter 2, parameter n 0 1 1 PHP HTML 3 function strcat ($left,

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

云数据库 RDS SDK

云数据库 RDS SDK 云数据库 RDS SDK SDK SDK 下载 SDK 下载 最新版本 java_sdk.zip python_sdk.zip php_sdk.zip c#_sdk.zip 历史版本 2015-11-3 java_sdk.zip python_sdk.zip php_sdk.zip c#_sdk.zip JAVA 教程 JAVA 创建 Access Key 登陆阿里云账号 打开 我的 Access

More information

untitled

untitled 1 Outline ArrayList 類 列類 串類 類 類 例 理 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object

More information

Microsoft PowerPoint - 05-Status-Codes-Chinese.ppt

Microsoft PowerPoint - 05-Status-Codes-Chinese.ppt 2004 Marty Hall 服务器响应的生成 : HTTP 状态代码 JSP, Servlet, & Struts Training Courses: http://courses.coreservlets.com Available in US, China, Taiwan, HK, and Worldwide 2 JSP and Servlet Books from Sun Press: http://www.coreservlets.com

More information

Microsoft Word - Broker.doc

Microsoft Word - Broker.doc Broker 模式 采用 broker 模式对分布式计算进行简单模拟 系统在一个进程内模拟分布式环境, 因此不涉及网络编程和进程间通信,Broker 通过本地函数调用的方式实现 request 和 response 的转发 采用 broker 模式对分布式计算进行简单的模拟, 要求如下 : 设计四个 server, 一个 server 接收两个整数, 求和并返回结果, 一个 server 接收两个整数,

More information

}; "P2VTKNvTAnYNwBrqXbgxRSFQs6FTEhNJ", " " string imagedata; if(0!= read_image("a.jpg",imagedata)) { return -1; } string rsp; ytopen_sdk m_sd

}; P2VTKNvTAnYNwBrqXbgxRSFQs6FTEhNJ,   string imagedata; if(0!= read_image(a.jpg,imagedata)) { return -1; } string rsp; ytopen_sdk m_sd tencentyun-youtu c++ sdk for 腾讯云智能优图服务 & 腾讯优图开放平台 安装 运行环境 Linux 依赖项 - curl-7.40.0, 获取更新版本 https://github.com/bagder/curl - openssl-1.0.1k, 获取更新版本 https://github.com/openssl/openssl 构建工程 工程采用 CMake 构建 1.

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 复习 创建对象 构造函数 函数重载 : 函数 = 函数名 + 参数列表 public class MyType { int i; double d; char c; void set(double x)

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

untitled

untitled ArcGIS Server Web services Web services Application Web services Web Catalog ArcGIS Server Web services 6-2 Web services? Internet (SOAP) :, : Credit card authentication, shopping carts GIS:, locator services,

More information

目 录 概 述...4 1 背 景.4 1.1 社 会 背 景...4 1.2 行 业 背 景...5 2 需 求 分 析..6 3 优 势 分 析....7 3.1 资 源 优 势.....7 3.2 品 牌 优 势.....7 3.3 技 术 优 势.....8 3.4 用 户 体 验.....

目 录 概 述...4 1 背 景.4 1.1 社 会 背 景...4 1.2 行 业 背 景...5 2 需 求 分 析..6 3 优 势 分 析....7 3.1 资 源 优 势.....7 3.2 品 牌 优 势.....7 3.3 技 术 优 势.....8 3.4 用 户 体 验..... 目 录 概 述...4 1 背 景.4 1.1 社 会 背 景...4 1.2 行 业 背 景...5 2 需 求 分 析..6 3 优 势 分 析....7 3.1 资 源 优 势.....7 3.2 品 牌 优 势.....7 3.3 技 术 优 势.....8 3.4 用 户 体 验.....8 4 综 合 解 决 方 案....9 4.1 资 源 应 用 服 务 方 案. 9 4.1.1 下

More information

全国计算机技术与软件专业技术资格(水平)考试

全国计算机技术与软件专业技术资格(水平)考试 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2008 年 上 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 试 题 一 ( 共 15 分 ) 阅 读 以 下 说 明 和 流 程 图, 填 补 流 程 图 中 的 空 缺 (1)~(9), 将 解 答 填 入 答 题 纸 的 对 应 栏 内 [ 说 明

More information

Spark读取Hbase中的数据

Spark读取Hbase中的数据 Spark 读取 Hbase 中的数据 Spark 和 Flume-ng 整合, 可以参见本博客 : Spark 和 Flume-ng 整合 使用 Spark 读取 HBase 中的数据 如果想及时了解 Spark Hadoop 或者 Hbase 相关的文章, 欢迎关注微信公共帐号 :iteblog_hadoop 大家可能都知道很熟悉 Spark 的两种常见的数据读取方式 ( 存放到 RDD 中 ):(1)

More information

使用Cassandra和Spark 2.0实现Rest API服务

使用Cassandra和Spark 2.0实现Rest API服务 使用 Cassandra 和 Spark 2.0 实现 Rest API 服务 在这篇文章中, 我将介绍如何在 Spark 中使用 Akkahttp 并结合 Cassandra 实现 REST 服务, 在这个系统中 Cassandra 用于数据的存储 我们已经见识到 Spark 的威力, 如果和 Cassandra 正确地结合可以实现更强大的系统 我们先创建一个 build.sbt 文件, 内容如下

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =

More information

ch_code_infoaccess

ch_code_infoaccess 地 產 代 理 監 管 局 公 開 資 料 守 則 2014 年 5 月 目 錄 引 言 第 1 部 段 數 適 用 範 圍 1.1-1.2 監 管 局 部 門 1.1 紀 律 研 訊 1.2 提 供 資 料 1.3-1.6 按 慣 例 公 布 或 供 查 閱 的 資 料 1.3-1.4 應 要 求 提 供 的 資 料 1.5 法 定 義 務 及 限 制 1.6 程 序 1.7-1.19 公 開 資

More information

RUN_PC連載_8_.doc

RUN_PC連載_8_.doc PowerBuilder 8 (8) Web DataWindow ( ) DataWindow Web DataWindow Web DataWindow Web DataWindow PowerDynamo Web DataWindow / Web DataWindow Web DataWindow Wizard Web DataWindow Web DataWindow DataWindow

More information

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内 A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内 容 分 发 网 络 Alibaba Cloud Content Delivery Network 一

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

Java 1 Java String Date

Java 1 Java String Date JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth

More information

Chapter #

Chapter # 第三章 TCP/IP 协议栈 本章目标 通过本章的学习, 您应该掌握以下内容 : 掌握 TCP/IP 分层模型 掌握 IP 协议原理 理解 OSI 和 TCP/IP 模型的区别和联系 TCP/IP 介绍 主机 主机 Internet TCP/IP 早期的协议族 全球范围 TCP/IP 协议栈 7 6 5 4 3 应用层表示层会话层传输层网络层 应用层 主机到主机层 Internet 层 2 1 数据链路层

More information

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

K7VT2_QIG_v3

K7VT2_QIG_v3 ............ 1 2 3 4 5 [R] : Enter Raid setup utility 6 Press[A]keytocreateRAID RAID Type: JBOD RAID 0 RAID 1: 2 7 RAID 0 Auto Create Manual Create: 2 RAID 0 Block Size: 16K 32K

More information

京东云存储开发者文档

京东云存储开发者文档 更新时间 更新内容 2013/05/21 创建文档 2013/07/10 增加分块上传 API 的内容 2013/07/12 增加桶和对象 API 的内容 目录 京东云存储开发者文档... 1 目录... 2 一 前言... 4 二 介绍... 5 三 相关概念... 6 3.1 AccessKey 与 SecretKey... 6 3.2 Bucket... 6 3.2.1 限制... 6 3.3

More information

没 有 多 余 的 Contruol 或 Action 了 原 来 Domain 层 被 服 务 层 Service layer 遮 挡, 在 右 边 图 中, 则 Domain 层 直 接 暴 露 给 前 台 了, 没 有 被 遮 挡, 裸 露 了 这 样 一 步 到 位 实 现 领 域 模 型

没 有 多 余 的 Contruol 或 Action 了 原 来 Domain 层 被 服 务 层 Service layer 遮 挡, 在 右 边 图 中, 则 Domain 层 直 接 暴 露 给 前 台 了, 没 有 被 遮 挡, 裸 露 了 这 样 一 步 到 位 实 现 领 域 模 型 文 章 编 号 :1007-757X(2012)1-0036-04 领 域 驱 动 模 型 的 WEB 软 件 系 统 设 计 研 究 摘 要 : J2EE 3 JDK1.7 Tomcat WEB 关 键 词 : 中 图 分 类 号 :TP311 文 献 标 志 码 :A 0 引 言 Web 软 件 系 统 的 分 层 结 构 典 型 的 J2EE 软 件 系 统 开 发 方 法 分 为 三 层 结

More information

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF Chapter 2 WF 2.1 WF 2.2 2. XAML 2. 2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF WF WF WF WF EDI API WF Visual Studio Designer 1 2.1 WF Windows Workflow Foundation 2 WF 1 WF Domain-Specific

More information

Microsoft Word - InoTouch Editor编程软件手册2012.2.10.doc

Microsoft Word - InoTouch Editor编程软件手册2012.2.10.doc 目 录 第 一 章 关 于 InoTouch Editor 编 程 软 件 的 安 装... - 6-1.1 InoTouch 系 列 HMI 和 InoTouch Editor 软 件 的 简 介... - 6-1.2 安 装 InoTouch Editor 编 程 软 件... - 10-1.3 系 统 连 接 图... - 12-1.4 InoTouch 系 列 人 机 界 面 的 系 统 设

More information

MASQUERADE # iptables -t nat -A POSTROUTING -s / o eth0 -j # sysctl net.ipv4.ip_forward=1 # iptables -P FORWARD DROP #

MASQUERADE # iptables -t nat -A POSTROUTING -s / o eth0 -j # sysctl net.ipv4.ip_forward=1 # iptables -P FORWARD DROP # iptables 默认安全规则脚本 一 #nat 路由器 ( 一 ) 允许路由 # iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT ( 二 ) DNAT 与端口转发 1 启用 DNAT 转发 # iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 dprot 422 -j DNAT to-destination

More information

錄...1 說...2 說 說...5 六 率 POST PAY PREPAY DEPOSIT 更

錄...1 說...2 說 說...5 六 率 POST PAY PREPAY DEPOSIT 更 AX5000 Version 1.0 2006 年 9 錄...1 說...2 說...3...4 說...5 六...6 6.1 率...7 6.2 POST PAY...8 6.3 PREPAY DEPOSIT...9 6.4...10 6.5...11 更...12...12 LCD IC LED Flash 更 兩 RJ11 ( ) DC ON OFF ON 狀 狀 更 OFF 復 狀 說

More information

速递易开放平台认证规范

速递易开放平台认证规范 姜润 曾浩 Table of Contents 1. 规范... 1 2. 示例... 2 3. 相关错误说明... 2 4. 语言示例... 3 4.1. Java... 3 4.2. C#... 4 4.3. python... 6 4.4. php... 7 1.# 规范 速递易开放平台 API 采用标准的

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii 前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii C# 7 More Effective C# C# C# C# C# C# Common Language Runtime CLR just-in-time

More information

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访 发 行 公 告 jconnect for JDBC 7.0 文 档 ID:DC74874-01-0700-01 最 后 修 订 日 期 :2010 年 3 月 2 日 主 题 页 码 1. 访 问 最 新 发 行 公 告 信 息 2 2. 产 品 摘 要 2 3. 特 殊 安 装 说 明 2 3.1 查 看 您 的 jconnect 版 本 3 4. 特 殊 升 级 指 导 3 4.1 迁 移 3

More information

ChinaBI企业会员服务- BI企业

ChinaBI企业会员服务- BI企业 商业智能 (BI) 开源工具 Pentaho BisDemo 介绍及操作说明 联系人 : 杜号权苏州百咨信息技术有限公司电话 : 0512-62861389 手机 :18616571230 QQ:37971343 E-mail:du.haoquan@bizintelsolutions.com 权限控制管理 : 权限控制管理包括 : 浏览权限和数据权限 ( 权限部分两个角色 :ceo,usa; 两个用户

More information

Microsoft Word - template.doc

Microsoft Word - template.doc HGC efax Service User Guide I. Getting Started Page 1 II. Fax Forward Page 2 4 III. Web Viewing Page 5 7 IV. General Management Page 8 12 V. Help Desk Page 13 VI. Logout Page 13 Page 0 I. Getting Started

More information

Microsoft Word - 200612-582.doc

Microsoft Word - 200612-582.doc Drools 规 则 引 擎 在 实 现 业 务 逻 辑 中 的 应 用 刘 际 赵 广 利 大 连 海 事 大 学, 大 连 (116026) E-mail:henterji@gmail.com 摘 要 : 现 今, 企 业 级 java 应 用 中 的 业 务 逻 辑 越 来 越 复 杂, 而 这 些 复 杂 的 业 务 逻 辑 又 广 泛 的 分 布 在 应 用 程 序 中 无 论 是 软 件

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 Hadoop 生 态 技 术 在 阿 里 全 网 商 品 搜 索 实 战 阿 里 巴 巴 - 王 峰 自 我 介 绍 真 名 : 王 峰 淘 宝 花 名 : 莫 问 微 博 : 淘 莫 问 2006 年 硕 士 毕 业 后 加 入 阿 里 巴 巴 集 团 淘 及 搜 索 事 业 部 ( 高 级 技 术 与 家 ) 目 前 负 责 搜 索 离 线 系 统 团 队 技 术 方 向 : 分 布 式 计 算

More information

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 專題進度 老師 : 趙啟時老師 學生 : 陳建廷 2013/10/13 用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 程式碼 : package com.example.phone; import java.util.arraylist;

More information

穨control.PDF

穨control.PDF TCP congestion control yhmiu Outline Congestion control algorithms Purpose of RFC2581 Purpose of RFC2582 TCP SS-DR 1998 TCP Extensions RFC1072 1988 SACK RFC2018 1996 FACK 1996 Rate-Halving 1997 OldTahoe

More information

对象存储 OSS/SDK 手册 SDK 手册 Java-SDK 前言 SDK 下载 Java SDK 开发包最新版本 2.2.1:java_sdk_ zip; github 地址 : 版本迭代详

对象存储 OSS/SDK 手册 SDK 手册 Java-SDK 前言 SDK 下载 Java SDK 开发包最新版本 2.2.1:java_sdk_ zip; github 地址 :  版本迭代详 对象存储 OSS SDK 手册 对象存储 OSS/SDK 手册 SDK 手册 Java-SDK 前言 SDK 下载 Java SDK 开发包最新版本 2.2.1:java_sdk_20160301.zip; github 地址 :https://github.com/aliyun/aliyun-oss-java-sdk 版本迭代详情参考这里 简介 OSS Java SDK 适用于 SDK 6 及以上版本

More information

拦截器(Interceptor)的学习

拦截器(Interceptor)的学习 二 拦截器 (Interceptor) 的学习 拦截器可以监听程序的一个或所有方法 拦截器对方法调用流提供了细粒度控制 可以在无状态会话 bean 有状态会话 bean 和消息驱动 bean 上使用它们 拦截器可以是同一 bean 类中的方法或是一个外部类 下面介绍如何在 Session Bean 类中使用外部拦截器类 @Interceptors 注释指定一个或多个在外部类中定义的拦截器 下面拦截器

More information

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class

More information

( Version 0.4 ) 1

( Version 0.4 ) 1 ( Version 0.4 ) 1 3 3.... 3 3 5.... 9 10 12 Entities-Relationship Model. 13 14 15.. 17 2 ( ) version 0.3 Int TextVarchar byte byte byte 3 Id Int 20 Name Surname Varchar 20 Forename Varchar 20 Alternate

More information

C H A P T E R 7 Windows Vista Windows Vista Windows Vista FAT16 FAT32 NTFS NTFS New Technology File System NTFS

C H A P T E R 7 Windows Vista Windows Vista Windows Vista FAT16 FAT32 NTFS NTFS New Technology File System NTFS C H P T E R 7 Windows Vista Windows Vista Windows VistaFT16 FT32NTFS NTFSNew Technology File System NTFS 247 6 7-1 Windows VistaTransactional NTFS TxFTxF Windows Vista MicrosoftTxF CIDatomicity - Consistency

More information

OOP with Java 通知 Project 6: 6 月 6 日晚 9 点

OOP with Java 通知 Project 6: 6 月 6 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 6: 6 月 6 日晚 9 点 复习 异常处理 语法 抛出异常 : throw 处理异常 : try, catch 异常对象 : Exception 类的子类 从方法中抛出异常 方法的异常说明 :throws 中断当前方法的执行, 返回抛出的异常对象, 在该方法的调用路径上寻找合适的

More information

基于ECO的UML模型驱动的数据库应用开发1.doc

基于ECO的UML模型驱动的数据库应用开发1.doc ECO UML () Object RDBMS Mapping.Net Framework Java C# RAD DataSetOleDbConnection DataGrod RAD Client/Server RAD RAD DataReader["Spell"].ToString() AObj.XXX bug sql UML OR Mapping RAD Lazy load round trip

More information

Hive:用Java代码通过JDBC连接Hiveserver

Hive:用Java代码通过JDBC连接Hiveserver Hive: 用 Java 代码通过 JDBC 连接 Hiveserver 我们可以通过 CLI Client Web UI 等 Hive 提供的用户接口来和 Hive 通信, 但这三种方式最常用的是 CLI;Client 是 Hive 的客户端, 用户连接至 Hive Server 在启动 Client 模式的时候, 需要指出 Hive Server 所在节点, 并且在该节点启动 Hive Server

More information