如何在google-cloud-cpp中不通过环境变量为Storage Client设置代理
为google-cloud-cpp Storage Client单独配置代理(无需环境变量)
你可以通过google::cloud::ProxyOptions配置代理细节,并将其作为选项传入gcs::Client的构造函数,实现仅为当前Client指定代理,不会影响环境中的其他进程。具体实现如下:
代码示例
#include <google/cloud/storage/client.h> #include <google/cloud/proxy_options.h> // 引入其他必要头文件 // 加载服务账号凭证 auto service_creds = google::cloud::MakeServiceAccountCredentials(service_acc_file); // 配置代理选项 google::cloud::ProxyOptions proxy_options; proxy_options.set_host("你的代理主机地址"); proxy_options.set_port(你的代理端口); // 若代理需要认证,可添加以下配置 // proxy_options.set_username("代理用户名"); // proxy_options.set_password("代理密码"); // 构造包含凭证和代理的配置选项 auto options = google::cloud::Options{} .set<google::cloud::UnifiedCredentialsOption>(service_creds) .set<google::cloud::ProxyOption>(proxy_options); // 创建配置好代理的Storage Client client = std::make_unique<gcs::Client>(options);
说明
ProxyOptions支持设置代理主机、端口,以及可选的代理认证信息,所有配置仅作用于当前通过该Options创建的gcs::Client实例。- 该方式完全不依赖环境变量,不会对同一环境下的其他进程造成影响。
内容的提问来源于stack exchange,提问作者chuck
相关产品推荐
相关产品推荐

