调试提示:从客户端获取线路跟踪信息 - Amazon 适用于 Ruby 的 SDK
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

调试提示:从客户端获取线路跟踪信息

通过设置 http_wire_trace 布尔值,您可以从 Amazon 客户端获取线路跟踪信息。线路跟踪信息有助于区分客户端更改、服务问题和用户错误。当值为 true 时,该设置会显示线路上当前发送的内容。以下示例创建了 Amazon S3 客户端,该客户端在创建时启用了线路跟踪。

s3 = Aws::S3::Client.new(http_wire_trace: true)

鉴于以下代码和参数 bucket_name,输出会显示一条消息来表明是否存在该名称的存储桶。

require 'aws-sdk-s3' s3 = Aws::S3::Resource.new(client: Aws::S3::Client.new(http_wire_trace: true)) if s3.bucket(ARGV[0]).exists? puts "Bucket #{ARGV[0]} exists" else puts "Bucket #{ARGV[0]} does not exist" end

如果存储桶存在,则输出类似于以下内容。(为便于阅读,向 HEAD 行添加了回车。)

opening connection to bucket_name.s3-us-west-1.amazonaws.com:443... opened starting SSL for bucket_name.s3-us-west-1.amazonaws.com:443... SSL established, protocol: TLSv1.2, cipher: ECDHE-RSA-AES128-GCM-SHA256 -> "HEAD / HTTP/1.1 Accept-Encoding: User-Agent: aws-sdk-ruby3/3.171.0 ruby/3.2.2 x86_64-linux aws-sdk-s3/1.120.0 Host: bucket_name.s3-us-west-1.amazonaws.com X-Amz-Date: 20230427T143146Z /* omitted */ Accept: */*\r\n\r\n" -> "HTTP/1.1 200 OK\r\n" -> "x-amz-id-2: XxB2J+kpHgTjmMUwpkUI1EjaFSPxAjWRgkn/+z7YwWc/iAX5E3OXRBzJ37cfc8T4D7ELC1KFELM=\r\n" -> "x-amz-request-id: 5MD4APQQS815QVBR\r\n" -> "Date: Thu, 27 Apr 2023 14:31:47 GMT\r\n" -> "x-amz-bucket-region: us-east-1\r\n" -> "x-amz-access-point-alias: false\r\n" -> "Content-Type: application/xml\r\n" -> "Server: AmazonS3\r\n" -> "\r\n" Conn keep-alive Bucket bucket_name exists

您也可以在创建客户端后开启线路跟踪。

s3 = Aws::S3::Client.new s3.config.http_wire_trace = true

有关报告的线路跟踪信息中字段的更多信息,请参阅 Transfer Family 必填请求标头