最近更新时间:2024-01-11 14:17:09
A low-level interface to a growing number of KSC Web Services.
申请安全凭证:
在第一次使用云API之前,用户首先需要在金山云控制台申请安全凭证,安全凭证包括access_key_id和secret_access_key,access_key_id 是用于标识API调用者的身份,secret_access_key是用于加密签名字符串和服务器端验证签名字符串的密钥。secret_access_key 必须严格保管,避免泄露。
获取安全凭证方法:
参见金山云文档:获取AK/SK
通过文件配置及管理密钥,参考examples内示例:
所在位置: '/etc/kscore.cfg' 或 './.kscore.cfg' 或 'C:\kscore.cfg'
注意: 使用相对路径时,需与运行目录保持一致。
[Credentials]
ks_access_key_id=your ak
ks_secret_access_key=your sk
或在程序运行时配置:
from kscore.session import get_session
# 密钥
ACCESS_KEY_ID = "your ak"
SECRET_ACCESS_KEY = "your sk"
s = get_session()
client = s.create_client("iam", ks_access_key_id=ACCESS_KEY_ID, ks_secret_access_key=SECRET_ACCESS_KEY)
通过自定义映射yaml文件,文件名称必须为customer.yaml
customer.yaml必须放置在 您的路径/service名称/官网服务版本号 的路径下
以EIP为例 需要放在 您的路径/eip/2016-03-04/customer.yaml
customer.yaml示例
DescribeAddresses:
PublicIp: address
AllocationId: uuid
AddressesSet: ips
使用示例
eipClient = s.create_client("eip", region, use_ssl=True,customer_path='your path')
通过文件配置及管理密钥,参考examples内示例:
所在位置: '/etc/kscore.cfg' 或 './.kscore.cfg' 或 'C:\kscore.cfg'
注意: 使用相对路径时,需与运行目录保持一致。
注意 域名不要带引号 示例 ks_domain = api.ksyun.com
[Domain]
ks_domain = your domain
或在程序运行时配置:
from kscore.session import get_session
# 密钥
ks_domain = "your domain"
s = get_session()
s.set_domain(ks_domain)
from kscore.utils import set_logger_level
import logging
set_logger_level(logging.WARNING)
已支持大区 region_name
region_name
大区
cn-beijing-6
北京6区
cn-shanghai-2
上海2区
cn-guangzhou-1
广州1区
cn-hongkong-2
香港2区
cn-taipei-1
taibei1区
ap-singapore-1
新加坡1区
eu-east-1
俄罗斯1区
cn-beijing-fin
北京金融
cn-shanghai-fin
上海金融
已支持服务列表 service_name,具体方法与API的Action对应,如kec服务RunInstances对应为run_instances方法。 详情参考API手册
service
服务名
iam
身份与访问控制
eip
弹性IP
bws
共享带宽
slb
负载均衡
kec
云服务器
epc
云物理机
kce
容服
tag
标签服务
slb
负载均衡
kcs
REDIS
vpc
虚拟私有网络
cdn
内容分发网络
monitor
云监控
offline
视频转码
常用方法
get_session
参数 | 说明
env_vars
环境变量
create_client
参数 | 说明
service_name
服务,必须参数,例:iam
region_name=None
大区,必须参数,全局服务可以为None
api_version=None
API 版本,默认使用最近版本
use_ssl=True
是否使用HTTPS,优先使用
verify=None
是否验证SSL证书
endpoint_url=None
ks_access_key_id=None
ks_secret_access_key=None
ks_session_token=None
IAM
from kscore.session import get_session
if __name__ == "__main__":
s = get_session()
client = s.create_client("iam", use_ssl=False)
users = client.list_users()
KEC
from kscore.session import get_session
if __name__ == "__main__":
s = get_session()
client = s.create_client("kec", "cn-beijing-6", use_ssl=False)
client.[your method]()
MONITOR
from kscore.session import get_session
if __name__ == "__main__":
s = get_session()
client = s.create_client("monitor", "cn-beijing-5", use_ssl=True)
m=client.get_metric_statistics(InstanceID="6f582c78-5d49-438e-bf2d-db4345daf503",Namespace="eip",MetricName="qos.bps_in",StartTime="2016-08-16T17:09:00Z",EndTime="2016-08-16T23:56:00Z",Period="600",Aggregate="Average")
print json.dumps(m,sort_keys=True,indent=4)
OFFLINE
from kscore.session import get_session
import json
if __name__=="__main__":
#初始化
s = get_session()
client = s.create_client("offline", "cn-beijing-6", use_ssl=False)
#创建模板接口调用示例 : preset
presetname = 'testpreset'
description = 'just a demo'
presetType = 'avop'
param = {
"preset": presetname,
"description": description,
"presettype": presetType,
"param": {
"f": "mp4",
"AUDIO": {
"acodec": "aac",
"ar":"44100",
"ab":"64k"
},
"VIDEO": {
"vr": 25,
"vb": "500k",
"vcodec": "h264",
"width": 640,
"height": 360
}
}
}
res = client.preset(**param)
print json.dumps(res)
#获取模板信息接口调用示例 : get_preset_detail
res = client.get_preset_detail(preset = presetname)
print json.dumps(res)
CDN
from kscore.session import get_session
if __name__ == "__main__":
# CDN API调用 详细示例位于 ./examples/cdn.py
s = get_session()
client = s.create_client("cdn", use_ssl=False)
res = client.get_cdn_domains(PageSize=20,PageNumber=0,DomainStatus='online',CdnType='download')
print res
CERTIFICATE_VERIFY_FAILED
requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
+ 参考 `InsecurePlatformWarning <https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings>`__ 解决方法如下
pip install requests[security]
+ 如 `build/temp.linux-x86_64-2.7/_openssl.c:433:30: fatal error: openssl/opensslv.h: No such file or directory` 解决方法如下
yum install openssl-devel
+ 如 `build/temp.linux-x86_64-2.7/_openssl.c:12:24: fatal error: pyconfig.h: No such file or directory`解决方法如下
yum install python-devel
参见金山云控制台-API Explorer-云监控-SDK示例。
其他示例Demo。
纯净模式