基本配置
下表包含您可以使用的最重要的初始化参数。
| 参数 | 数据类型 | 描述 |
adapter |
Symbol | Faraday 的特定适配器(例如 :patron)。 |
api_key |
String, Hash | 用于 API 密钥认证。可以是使用冒号连接并进行 base64 编码的 id 和 api_key 字符串,或者是包含 id 和 api_key 值的哈希表。 |
compression |
布尔值 (Boolean) | 是否压缩请求。使用 Gzip 压缩。默认为 false。如果响应经过压缩,会自动进行解压。如果使用了自定义传输对象,它必须能够处理请求压缩和响应解压。 |
enable_meta_header |
布尔值 (Boolean) | 是否启用向 Cloud 发送元数据标头。默认为 true。 |
hosts |
String, Array | 作为字符串或哈希传递的单个主机,或者作为数组传递的多个主机;host 或 url 键也是有效的。 |
log |
布尔值 (Boolean) | 是否使用默认日志记录器。默认禁用。 |
logger |
对象 (Object) | 兼容 Logger 的对象实例。 |
opaque_id_prefix |
String | 在初始化客户端时为 X-Opaque-Id 设置前缀。如果您使用 X-Opaque-Id,它将加在您在每个请求之前设置的 id 前面。 |
opentelemetry_tracer_provider |
OpenTelemetry::Trace::TracerProvider |
要显式使用的 TracerProvider,而不是 OpenTelemetry 的全局 TracerProvider。这能实现更好的依赖注入并简化测试。 |
randomize_hosts |
布尔值 (Boolean) | 是否在初始化和重新加载时打乱连接顺序。默认为 false。 |
reload_connections |
Boolean, Number | 是否在 X 个请求后重新加载连接。默认为 false。 |
reload_on_failure |
布尔值 (Boolean) | 是否在失败后重新加载连接。默认为 false。 |
request_timeout |
Integer | 在选项中传递给传输层的请求超时时间。 |
resurrect_after |
Integer | 指定在多少秒后重试死连接。 |
retry_on_failure |
Boolean, Number | 请求失败时,在抛出异常前是否重试 X 次。默认为 false。 |
retry_on_status |
Array, Number | 指定需要返回哪个状态码才能重试。 |
selector |
Constant | 使用 {Elastic<>TransportTransport<>ConnectionsSelector::Base} 实现的选择器策略的实例。 |
send_get_body_as |
String | 指定带有请求体的 GET 请求所使用的 HTTP 方法。默认为 GET。 |
serializer_class |
Constant | 指定要使用的序列化器类。它由传输层初始化并传入传输层实例。 |
sniffer_timeout |
Integer | 指定重新加载连接的超时时间(以秒为单位)。默认为 1。 |
trace |
布尔值 (Boolean) | 是否使用默认追踪器。默认禁用。 |
tracer |
对象 (Object) | 指定一个兼容 Logger 的对象实例。 |
transport |
对象 (Object) | 指定一个传输层实例。 |
transport_class |
Constant | 指定要使用的传输层类。它由客户端初始化,并传入主机和所有参数。 |
transport_options |
哈希 | 指定要传递给 Faraday::Connection 构造函数的选项。 |