初始化
确认Endpoint
在确认您使用SDK时配置的Endpoint时,可先阅读API参考中关于CFC域名服务的部分,理解Endpoint相关概念。
目前CFC支持“华北-北京”: http://cfc.bj.baidubce.com
、“华南-广州”: http://cfc.gz.baidubce.com
、“华东-苏州”: http://cfc.su.baidubce.com
三个区域。对应信息为:
访问区域 | 对应Endpoint |
---|---|
BJ | cfc.bj.baidubce.com |
GZ | cfc.gz.baidubce.com |
SU | cfc.su.baidubce.com |
CFC访问域名支持HTTP和HTTPS两种调用方式,为了提升数据的安全性,建议通过HTTPS调用。更多关于HTTPS保障传输安全的使用请参考HTTPS传输加密实践。
获取密钥
要使用百度智能云CFC,您需要拥有一个有效的AK (Access Key ID)和SK (Secret Access Key)用来进行签名认证。AK/SK是由系统分配给用户的,均为字符串,用于标识用户,为访问CFC做签名验证。
可以通过如下步骤了解并获得您的AK/SK信息:
CFC Client
CfcClient是CFC服务的客户端,为开发者与CFC服务进行交互提供了一系列的方法,包括函数调用、函数创建、获取函数列表等。
通过AK/SK方式访问CFC
通过AK/SK方式访问CFC,用户可以参考如下代码新建一个CFC Client:
var CfcClient =require('@baiducloud/sdk').CfcClient;
config = {
endpoint: '<CFC Endpoint>',
credentials: {
ak: '<Your Access Key ID>',
sk: '<Your Secret Access Key>'
}
};
// 创建cfc客户端
var client = new CfcClient(config);
在上面代码中,Access Key ID和Secret Access Key的获取方式请参考《操作指南管理ACCESSKEY》。
Endpoint参数需要用指定区域的域名来进行定义,如服务所在区域为北京,则为http://cfc.bj.baidubce.com
。
使用STS访问CFC
CFC可以通过STS机制实现第三方的临时授权访问。STS(Security Token Service)是百度智能云提供的临时授权服务,详情可参见百度智能云STS使用介绍。通过STS,您可以为第三方用户颁发一个自定义时效和权限的访问凭证。第三方用户可以使用该访问凭证直接调用百度智能云的API或SDK访问百度智能云资源。
通过STS方式访问CFC,用户先通过StsClient申请一套AK、SK和token,然后将该套参数配置到CfcClient中,用户可以参考如下代码新建一个CfcClient:
var CfcClient = require('@baiducloud/sdk').CfcClient;
var STS = require('@baiducloud/sdk').STS;
var stsConfig = {
endpoint: 'http://sts.bj.baidubce.com',
credentials: {
ak: '<Your Access Key ID>',
sk: '<Your Secret Access Key>'
}
}
var stsClient = new STS(stsConfig);
stsClient.getSessionToken(60, '').then(function (response) {
var stsObj = response.body
cfcConfig = {
endpoint: '<CFC Endpoint>',
credentials: {
ak: stsObj.accessKeyId,
sk: stsObj.secretAccessKey
},
sessionToken: stsObj.sessionToken
};
var cfcClient = new CfcClient(cfcConfig);
cfcClient.listFunctions().then(function (response) {
console.log('list function:', response.body);
return response
}).catch(function (err) {
console.error('error', err)
})
}).catch(function (err) {
console.error('error', err)
})
在上面代码中,Access Key ID和Secret Access Key的获取方式请参考《操作指南管理ACCESSKEY》。
Endpoint参数需要用指定区域的域名来进行定义,如服务所在区域为北京,则为http://cfc.bj.baidubce.com
。
注意: 目前使用STS配置CFC Client时,无论对应CFC服务的Endpoint在哪里,STS的Endpoint都需配置为http://sts.bj.baidubce.com
。 上述代码中创建STS对象时使用此默认值。
配置HTTPS协议访问CFC
CFC支持HTTPS传输协议,您可以通过在创建CFC Client对象时指定的Endpoint中指明HTTPS的方式,在CFC Javascript SDK中使用HTTPS访问CFC服务:
var CfcClient =require('@baiducloud/sdk').CfcClient;
var config = {
endpoint: 'https://cfc.bj.baidubce.com',
credentials: {
ak: '<Your Access Key ID>',
sk: '<Your Secret Access Key>'
}
};
// 创建cfc客户端
var client = new CfcClient(config);