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
是的,C++初始化OssClient时,可以通过参数传入AK(Access Key)和SK(Secret Key)。
你可以使用AlibabaCloud::OSS::Auth::StsTokenProvider
类来传递AK和SK。下面是一个示例代码片段,展示了如何通过参数传入AK和SK来初始化OssClient:
#include <iostream>
#include <memory>
#include <string>
#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
的构造函数,以完成初始化。
是的,除了从环境变量中获取AK和SK之外,阿里云OSS C++ SDK还支持直接通过参数传入AK和SK。你可以使用GenericCredentialsProvider
类来传递AK和SK。以下是一个示例:
#include <alibabacloud/oss/OssClient.h>
#include <alibabacloud/oss/model/SetBucketWebsiteRequest.h>
#include <alibabacloud/oss/model/SetBucketWebsiteResult.h>
#include <alibabacloud/core/CredentialsProvider.h>
#include <alibabacloud/core/GenericCredentialsProvider.h>
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。这种方式允许你在代码中直接提供访问凭证,而不是依赖于环境变量。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
对象存储 OSS 是一款安全、稳定、高性价比、高性能的云存储服务,可以帮助各行业的客户在互联网应用、大数据分析、机器学习、数据归档等各种使用场景存储任意数量的数据,以及进行任意位置的访问,同时通过丰富的数据处理能力更便捷地使用数据。