Amazon SDK for JavaScript V3 API 参考指南详细描述了 Amazon SDK for JavaScript 版本 3 (V3) 的所有API操作。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
客户端构造函数
此列表由 v2 配置参数编入索引。
-
-
v2:服务接受时是否计算有效载荷主体的MD5校验和(目前仅在 S3 中支持)。
-
v 3:适用的 S3 命令(PutObject PutBucketCors、等)将自动计算请求负载的MD5校验和。您也可以在命令的
ChecksumAlgorithm
参数中指定不同的校验和算法,以使用不同的校验和算法。您可以在 S3 功能公告中找到更多信息。
-
-
-
v2:解析响应数据时是否转换类型。
-
v3:已弃用。此选项被认为不是类型安全的,因为它不会转换响应中的时间戳或 base64 二进制文件等类型。JSON
-
-
-
v2:是否应用时钟偏差校正和重试因客户端时钟偏差而失败的请求。
-
v3:已弃用。SDK始终应用时钟偏差校正。
-
-
-
v2:以毫秒为单位的偏移值,适用于所有签名时间。
-
v3:没有变化。
-
-
-
v2:用于签署请求的 Amazon 凭据。
-
v3:没有变化。它也可以是一个返回凭证的异步函数。如果该函数返回
expiration (Date)
,则该函数将在到期日期临近时再次被调用。有关AwsAuthInputConfig
证书,请参阅 v3 API 参考资料。
-
-
-
v2:存储来自端点发现操作的端点的全局缓存的大小。
-
v3:没有变化。
-
-
-
v2:是否使用服务动态给出的端点调用操作。
-
v3:没有变化。
-
-
-
v2:是否将请求参数编组到主机名的前缀。
-
v3:已弃用。SDK必要时总是注入主机名前缀。
-
-
一组要传递给低级HTTP请求的选项。在 v3 中,这些选项的聚合方式有所不同。您可以通过提供新的来配置它们
requestHandler
。以下是在 Node.js 运行时中设置 http 选项的示例。你可以在 v3 API 参考中找到更多信息 NodeHttpHandler。HTTPS默认情况下,所有 v3 请求都使用。您只需要提供自定义httpsAgent。
const { Agent } = require("https"); const { Agent: HttpAgent } = require("http"); const { NodeHttpHandler } = require("@smithy/node-http-handler"); const dynamodbClient = new DynamoDBClient({ requestHandler: new NodeHttpHandler({ httpsAgent: new Agent({ /*params*/ }), connectionTimeout: /*number in milliseconds*/, socketTimeout: /*number in milliseconds*/ }), });
如果您要传递使用 http 的自定义终端节点,则需要提供httpAgent。
const { Agent } = require("http"); const { NodeHttpHandler } = require("@smithy/node-http-handler"); const dynamodbClient = new DynamoDBClient({ requestHandler: new NodeHttpHandler({ httpAgent: new Agent({ /*params*/ }), }), endpoint: "http://example.com", });
如果客户端在浏览器中运行,则可以使用不同的选项集。你可以在 v3 API 参考中找到更多信息 FetchHttpHandler。
const { FetchHttpHandler } = require("@smithy/fetch-http-handler"); const dynamodbClient = new DynamoDBClient({ requestHandler: new FetchHttpHandler({ requestTimeout: /* number in milliseconds */ }), });
的
httpOptions
每个选项都在下面指定:-
proxy
-
v2:通过 t URL o 代理请求。
-
v3:您可以按照为 Node.js 配置代理后使用代理设置代理。
-
-
agent
-
v2:用于执行HTTP请求的代理对象。用于连接池。
-
v3:您可以配置
httpAgent
或httpsAgent
,如上面的示例所示。
-
-
connectTimeout
-
v2:在
connectTimeout
毫秒后未能与服务器建立连接后,将套接字设置为超时。 -
v3:
connectionTimeout
在NodeHttpHandler
选项中可用。
-
-
timeout
-
v2:请求在自动终止之前可以花费的毫秒数。
-
v3:
socketTimeout
在NodeHttpHandler
选项中可用。
-
-
xhrAsync
-
v2:是否SDK会发送异步HTTP请求。
-
v3:已弃用。请求始终是异步的。
-
-
xhrWithCredentials
-
v2:设置XMLHttpRequest对象的 withCredentials “” 属性。
-
v3:不可用。SDK继承默认的读取配置。
-
-
-
-
v2:一个对象,用于响应
.write()
(如流)或.log()
(如控制台对象),以记录有关请求的信息。 -
v3:没有变化。v3 中提供了更精细的日志。
-
-
-
v2:服务请求要遵循的最大重定向次数。
-
v3:已弃用。SDK不遵循重定向以避免无意的跨区域请求。
-
-
-
v2:为服务请求执行的最大重试次数。
-
v3:已更改为
maxAttempts
。在 v3 API 参考中查看更多内容 RetryInputConfig。注意maxAttempts
应该是maxRetries + 1
。
-
-
-
v2:在发送请求之前,是否应根据操作描述验证输入参数。
-
v3:已弃用。SDK在运行时不在客户端进行验证。
-
-
-
v2:要向其发送服务请求的区域。
-
v3:没有变化。它也可以是一个返回区域字符串的异步函数。
-
-
-
v2:一组选项,用于配置可重试错误的重试延迟。
-
v3:已弃用。SDK通过
retryStrategy
客户端构造器选项支持更灵活的重试策略。在 v3 API 参考中查看更多信息。
-
-
-
v2:提供的终端节点是否针对单个存储桶(如果其地址为根终端API节点,则为 false)。
-
v3:已更改为
bucketEndpoint
。在 v3 API 参考中查看更多内容bucketEndpoint。请注意,如果设置为true
,则在请求参数中指定Bucket
请求端点,原始端点将被覆盖。而在 v2 中,客户端构造函数中的请求端点会覆盖Bucket
请求参数。
-
-
-
v2:使用签名版本 v4 时是否禁用 S3 正文签名。
-
v3:已重命名为
applyChecksum
。
-
-
-
v2:是否强制URLs使用 S3 对象的路径样式。
-
v3:已重命名为
forcePathStyle
。
-
-
-
v2:是否使用根据请求的资源推断出的区域来覆盖请求区域。ARN
-
v3:已重命名为
useArnRegion
。
-
-
-
v2:当区域设置为 “us-east-1” 时,是向全球终端节点发送 s3 请求还是 “us-east-1” 区域终端节点。
-
v3:已弃用。如果区域设置为,S3 客户端将始终使用区域终端节点
us-east-1
。您可以将区域设置为aws-global
以向 S3 全局终端节点发送请求。
-
-
-
v2:是否缓存用于签署请求的签名(覆盖API配置)。
-
v3:已弃用。SDK总是缓存经过哈希处理的签名密钥。
-
-
-
v2:用于签署请求的签名版本(覆盖API配置)。
-
v3:已弃用。v2 中支持的签名 V2 SDK 已被弃用。v3 仅支持签名 v4 Amazon。
-
-
-
v2:是否SSL为请求启用。
-
v3:已重命名为
tls
。
-
-
-
v2:是向全球终端节点还是区域终端节点发送 sts 请求。
-
v3:已弃用。STS如果设置为特定区域,则客户端将始终使用区域终端节点。您可以将区域设置为以
aws-global
向STS全局终端节点发送请求。
-
-
-
v2:是否在 S3 服务中使用加速终端节点。
-
v3:没有变化。
-