C++初始化OssClient 时,是否支持通过参数传入AK,SK?[阿里云]

SDK开发指导上描述如下:

/ 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。/

/ 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。/
auto credentialsProvider = std::make_shared();
OssClient client(Endpoint, credentialsProvider, conf);

是否有其他方式可以支持参数传AK,SK

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 是的,C++初始化OssClient时,可以通过参数传入AK(Access Key)和SK(Secret Key)。

    你可以使用AlibabaCloud::OSS::Auth::StsTokenProvider类来传递AK和SK。下面是一个示例代码片段,展示了如何通过参数传入AK和SK来初始化OssClient:

    #include #include #include #include "oss_client.h"int main() {    // 设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET    const char* accessKeyId = getenv("OSS_ACCESS_KEY_ID");    const char* accessKeySecret = getenv("OSS_ACCESS_KEY_SECRET");    if (accessKeyId == nullptr || accessKeySecret == nullptr) {        std::cerr << "请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET" << std::endl;        return 1;    }    // 创建凭据提供者对象并传入AK和SK    std::shared_ptr<AlibabaCloud::OSS::Auth::StsTokenProvider> credentialsProvider =        std::make_shared<AlibabaCloud::OSS::Auth::StsTokenProvider>(accessKeyId, accessKeySecret);    // 创建OssClient对象并传入Endpoint、凭据提供者和配置信息    AlibabaCloud::OSS::OssClient client(endpoint, credentialsProvider, conf);    // 进行其他操作...    return 0;}

    在上述示例中,我们首先从环境变量中获取AK和SK的值。然后,创建一个StsTokenProvider对象,并将AK和SK作为参数传递给它的构造函数。最后,将该凭据提供者对象传递给OssClient的构造函数,以完成初始化。

  2. 是的,除了从环境变量中获取AK和SK之外,阿里云OSS C++ SDK还支持直接通过参数传入AK和SK。你可以使用GenericCredentialsProvider类来传递AK和SK。以下是一个示例:

    #include #include #include #include #include using namespace AlibabaCloud::OSS;using namespace AlibabaCloud::SDK::OSS::Model;int main() {    // 创建凭证提供者,通过AK和SK初始化    auto credentialsProvider = std::make_shared<AlibabaCloud::SDK::Core::GenericCredentialsProvider>(        "yourAccessKeyId", "yourAccessKeySecret");    // 创建OSS客户端    OssClient client(Endpoint, credentialsProvider);    // 现在你可以使用client进行OSS操作了    return 0;}

    在这个示例中,将"yourAccessKeyId"和"yourAccessKeySecret"替换为你的实际AK和SK。这种方式允许你在代码中直接提供访问凭证,而不是依赖于环境变量。