docs: function getStringToSign(canonicalRequest) {
    return [
      canonicalRequest.method,
      canonicalRequest.contentMD5,
      canonicalRequest.contentType,
      canonicalRequest.timestamp,
      ...canonicalRequest.amzHeaders,
      canonicalRequest.querystring
        ? `${canonicalRequest.uri}?${canonicalRequest.querystring}`
        : canonicalRequest.uri
    ].join("\n");
  }