package com.ruoyi.integration.iotda.builder;
|
|
import com.huaweicloud.sdk.core.auth.AbstractCredentials;
|
import com.huaweicloud.sdk.core.auth.BasicCredentials;
|
import com.huaweicloud.sdk.core.auth.ICredential;
|
import com.huaweicloud.sdk.core.region.Region;
|
import com.huaweicloud.sdk.iam.v3.IamClient;
|
import com.huaweicloud.sdk.iam.v3.region.IamRegion;
|
import com.huaweicloud.sdk.iotda.v5.IoTDAClient;
|
import com.ruoyi.integration.iotda.config.IotDAConfig;
|
import com.ruoyi.integration.iotda.constant.IotConstant;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
@Slf4j
|
@Component
|
public class IotBuilder {
|
|
@Autowired
|
private IotDAConfig config;
|
|
/**
|
* iot build
|
*
|
* @return
|
*/
|
public IoTDAClient buildIot() {
|
ICredential auth = new BasicCredentials()
|
// 标准版/企业版需要使用衍生算法,基础版请删除配置"withDerivedPredicate";
|
.withDerivedPredicate(AbstractCredentials.DEFAULT_DERIVED_PREDICATE) // Used in derivative ak/sk authentication scenarios
|
.withAk(config.getAk())
|
.withSk(config.getSk());
|
return IoTDAClient.newBuilder()
|
.withCredential(auth)
|
// 标准版/企业版:需自行创建Region对象,基础版:请使用IoTDARegion的region对象,如"withRegion(IoTDARegion.CN_NORTH_4)"
|
.withRegion(new Region("cn-north-4", IotConstant.URL))
|
.build();
|
}
|
/**
|
* iam build
|
*
|
* @return
|
*/
|
public IamClient buildIam() {
|
ICredential auth = new BasicCredentials()
|
// 标准版/企业版需要使用衍生算法,基础版请删除配置"withDerivedPredicate";
|
.withDerivedPredicate(AbstractCredentials.DEFAULT_DERIVED_PREDICATE) // Used in derivative ak/sk authentication scenarios
|
.withAk(config.getAk())
|
.withSk(config.getSk());
|
return IamClient.newBuilder()
|
.withCredential(auth)
|
.withRegion(IamRegion.valueOf("cn-north-4"))
|
.build();
|
}
|
|
}
|