客户端构造函数 - 适用于 JavaScript 的 AWS SDK

适用于 JavaScript 的 AWS SDKV3 API 参考指南详细描述了 适用于 JavaScript 的 AWS SDK 版本 3 (V3) 的所有 API 操作。

客户端构造函数

此列表通过 v2 配置参数编制索引。

  • computeChecksums

    • v2:当服务接受有效载荷主体时(目前仅 S3 支持),是否计算有效载荷主体的 MD5 校验和。

    • v3:适用的 S3 命令(PutObject、PutBucketCors 等)将自动计算请求有效载荷的 MD5 校验和。您也可以在命令的 ChecksumAlgorithm 参数中指定其他校验和算法,以使用不同的校验和算法。更多信息请参阅 S3 功能公告

  • convertResponseTypes

    • v2:解析响应数据时是否转换类型。

    • v3已弃用。此选项被视为不具备类型安全特性,因为它不会转换 JSON 响应中的转换时间戳或 base64 二进制文件等类型。

  • correctClockSkew

    • v2:是否应用时钟偏差校正和重试因客户端时钟偏差导致失败的请求。

    • v3已弃用。SDK 始终应用时钟偏差校正。

  • systemClockOffset

    • v2:以毫秒为单位的偏差值,适用于所有签名时间。

    • v3:无变更。

  • credentials

    • v2:用于对请求进行签名的 AWS 凭证。

    • v3:无变更。该函数也可以是用于返回凭证的异步函数。如果该函数返回 expiration (Date),则系统在过期日期临近时将再次调用该函数。有关 AwsAuthInputConfig 凭证的详细信息,请参阅 v3 API 参考

  • endpointCacheSize

    • v2:存储来自端点发现操作的端点的全局缓存大小。

    • v3:无变更。

  • endpointDiscoveryEnabled

    • v2:是否动态调用由服务提供的端点操作。

    • v3:无变更。

  • hostPrefixEnabled

    • v2:是否将请求参数编入主机名前缀。

    • v3已弃用。SDK 会在必要时始终自动注入主机名前缀。

  • httpOptions

    一组要传递给底层 HTTP 请求的选项。在 v3 中,这些选项的聚合方式有所不同。您可以通过提供新的 requestHandler 对其进行配置。以下是在 Node.js 运行时设置 http 选项的示例。您可以在 NodeHttpHandler 的 v3 API 参考中找到更多信息。

    默认情况下,所有 v3 请求都使用 HTTPS。您只需提供自定义的 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", });

    如果客户端在浏览器中运行,则可使用另一组选项。您可以在 FetchHttpHandler 的 v3 API 参考中找到更多信息。

    const { FetchHttpHandler } = require("@smithy/fetch-http-handler"); const dynamodbClient = new DynamoDBClient({ requestHandler: new FetchHttpHandler({ requestTimeout: /* number in milliseconds */ }), });

    httpOptions 的每个选项说明如下:

    • proxy

    • agent

      • v2:用于执行 HTTP 请求的代理对象。用于连接池。

      • v3:您可以按照上述示例配置 httpAgenthttpsAgent

    • connectTimeout

      • v2:将套接字设置为在连接服务器失败后经过 connectTimeout 毫秒后超时。

      • v3connectionTimeout 可在 NodeHttpHandler 选项中使用。

    • timeout

    • xhrAsync

      • v2:SDK 是否发送异步 HTTP 请求。

      • v3已弃用。请求始终为异步。

    • xhrWithCredentials

      • v2:设置 XMLHttpRequest 对象的“withCredentials”属性。

      • v3:不可用。SDK 继承默认的获取配置

  • logger

    • v2:用于响应 .write()(如流)或 .log()(如控制台对象)调用的对象,用于记录请求相关信息。

    • v3:无变更。v3 提供更精细的日志。

  • maxRedirects

    • v2:服务请求中允许跟随的重定向最大次数。

    • v3已弃用。SDK 不会跟随重定向,以避免意外的跨区域请求。

  • maxRetries

    • v2:服务请求可执行的最大重试次数。

    • v3:已更改为 maxAttempts。更多信息请参阅 RetryInputConfig 的 v3 API 参考。请注意,maxAttempts 应设置为 maxRetries + 1

  • paramValidation

    • v2:是否应在发送请求前根据操作描述对输入参数进行验证。

    • v3已弃用。SDK 在运行时不会在客户端进行验证。

  • region

    • v2:要向其发送服务请求的区域。

    • v3:无变更。它也可以是用于返回区域字符串的异步函数。

  • retryDelayOptions

    • v2:一组选项,用于配置可重试错误的重试延迟。

    • v3已弃用。SDK 通过 retryStrategy 客户端构造函数选项支持更灵活的重试策略。更多信息请参阅 v3 API 参考

  • s3BucketEndpoint

    • v2:提供的端点是否指向单个存储桶(如果其地址为根 API 端点,则为 false)。

    • v3:已更改为 bucketEndpoint。更多信息请参阅 bucketEndpoint 的 v3 API 参考。请注意,当设置为 true 时,需在 Bucket 请求参数中指定请求端点,原始端点将被覆盖。而在 v2 中,客户端构造函数中的请求端点会覆盖 Bucket 请求参数。

  • s3DisableBodySigning

    • v2:使用签名版本 v4 时是否禁用 S3 正文签名。

    • v3:已重命名为 applyChecksum

  • s3ForcePathStyle

    • v2:是否强制为 S3 对象使用路径类型 URL。

    • v3:已重命名为 forcePathStyle

  • s3UseArnRegion

    • v2:是否使用请求资源 ARN 推断出的区域覆盖请求区域。

    • v3:已重命名为 useArnRegion

  • s3UsEast1RegionalEndpoint

    • v2:当区域设置为“us-east-1”时,是将 s3 请求发送到全局端点还是“us-east-1”区域端点。

    • v3已弃用。当区域设置为 us-east-1 时,S3 客户端将始终使用区域端点。您可以将区域设置为 aws-global,以向 S3 全局端点发送请求。

  • signatureCache

    • v2:是否缓存用于签署请求的签名(覆盖 API 配置)。

    • v3已弃用。SDK 始终缓存哈希签名密钥。

  • signatureVersion

    • v2:用于签署请求的签名版本(覆盖 API 配置)。

    • v3已弃用。v2 SDK 中支持的签名 V2 已被 AWS 弃用。v3 支持签名 v4。

  • sslEnabled

    • v2:是否为请求启用 SSL。

    • v3:已重命名为 tls

  • stsRegionalEndpoints

    • v2:是将 sts 请求发送到全局端点还是区域端点。

    • v3已弃用。如果设置为特定区域,STS 客户端将始终使用区域端点。您可以将区域设置为 aws-global,以向 STS 全局端点发送请求。

  • useAccelerateEndpoint

    • v2:是否在 S3 服务中使用加速端点。

    • v3:无变更。