OpenAPI集成示例(SDK)
本文以Python语言为例,为您介绍如何使用OpenAPI查询CPFS通用版文件系统信息的完整示例。
查看OpenAPI文档
在调用OpenAPI前,建议您阅读对应接口文档,了解、学习调用该接口所需要的参数及权限等,更多详情请参见API概览。
创建RAM用户并授权
您可以通过阿里云账号(主账号)、RAM用户、RAM角色调用该接口,有关各种身份的差异,请参见身份、凭据、授权。本案例中,我们使用RAM用户进行接口调用。
如您已创建RAM用户且已完成授权,可跳过此步骤。
创建RAM用户。
访问RAM用户列表,单击创建用户。
设置登录名称为cpfs-openapi-operator,选择访问方式为OpenAPI调用访问。
单击确定,创建RAM用户并保存AccessKey ID与AccessKey Secret信息。
完成授权。
访问RAM用户列表,单击目标RAM用户操作列的添加权限。
在文本框中搜索
AliyunNAS
,选择AliyunNASReadOnlyAccess策略。重要AliyunNASFullAccess拥有实际的操作权限,您也可以按需选择AliyunNASReadOnlyAccess权限(具有访问、查看权限)或进行自定义策略,更多信息,请参见使用RAM权限策略控制NAS访问权限。
单击确定,完成授权操作。
调用OpenAPI
本文以阿里云Python语言SDK方式调用OpenAPI为例,其他语言SDK的用法也类似,更多信息请参见文件存储(NAS/CPFS)SDK。
准备Python环境
下载并安装Python 3。如您已安装Python,查看Python版本的命令示例:python --version
。
配置环境变量
为避免将AccessKey硬编码到业务代码中带来的安全风险,建议您采用配置环境变量的方法管理AccessKey。本文以设置环境变量ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
为例。变量名称可以根据实际情况进行替换,例如CPFS_ACCESS_KEY_ID
、CPFS_ACCESS_KEY_SECRET
。
环境变量配置完成之后,为确保新的设置被正确应用,您可能需要重启相关的开发工具(IDE等)或服务。
Linux和macOS系统
通过export命令配置环境变量
使用export命令配置的临时环境变量仅当前会话有效,当会话退出之后所设置的环境变量将会丢失。若需长期保留环境变量,可将export命令配置到对应操作系统的启动配置文件中。
配置AccessKey ID并按回车。
# 将<ACCESS_KEY_ID>替换为您自己的AccessKey ID。 export ALIBABA_CLOUD_ACCESS_KEY_ID=<ACCESS_KEY_ID>
配置AccessKey Secret并回车。
# 将<ACCESS_KEY_SECRET>替换为您自己的AccessKey Secret。 export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<ACCESS_KEY_SECRET>
验证是否配置成功。
执行
echo $ALIBABA_CLOUD_ACCESS_KEY_ID
命令,如果返回正确的AccessKey ID,则说明配置成功。
Windows系统
通过图形用户界面GUI
操作步骤
以下为Windows 10中通过图形用户界面设置环境变量的步骤。
在桌面右键单击此电脑,选择属性>高级系统设置>环境变量>系统变量/用户变量>新建,完成以下配置:
变量
示例值
AccessKey ID
变量名:ALIBABA_CLOUD_ACCESS_KEY_ID
变量值:LTAI4GDty8ab9W4Y1D****
AccessKey Secret
变量名:ALIBABA_CLOUD_ACCESS_KEY_SECRET
变量值:IrVTNZNy5yQelTETg0cZML3TQn****
测试设置是否成功
单击开始(或快捷键:Win+R)> 运行(输入 cmd)> 确定(或按 Enter 键),打开命令提示符,执行
echo %ALIBABA_CLOUD_ACCESS_KEY_ID%
、echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%
命令。若返回正确的AccessKey,则说明配置成功。
通过命令行提示符CMD
操作步骤
以管理员身份打开命令提示符,并使用以下命令在系统中新增环境变量。
setx ALIBABA_CLOUD_ACCESS_KEY_ID LTAI4GDty8ab9W4Y1D**** /M setx ALIBABA_CLOUD_ACCESS_KEY_SECRET IrVTNZNy5yQelTETg0cZML3TQn**** /M
其中
/M
表示系统级环境变量,设置用户级环境变量时可以不携带该参数。测试设置是否成功
单击开始(或快捷键:Win+R)> 运行(输入 cmd)> 确定(或按 Enter 键),打开命令提示符,执行
echo %ALIBABA_CLOUD_ACCESS_KEY_ID%
、echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%
命令。若返回正确的AccessKey,则说明配置成功。
通过Windows PowerShell
在PowerShell中,设置新的环境变量(对所有新会话都有效):
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', 'LTAI4GDty8ab9W4Y1D****', [System.EnvironmentVariableTarget]::User)
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_SECRET', 'IrVTNZNy5yQelTETg0cZML3TQn****', [System.EnvironmentVariableTarget]::User)
为所有用户设置环境变量(需要管理员权限):
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', 'LTAI4GDty8ab9W4Y1D****', [System.EnvironmentVariableTarget]::Machine)
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_SECRET', 'IrVTNZNy5yQelTETg0cZML3TQn****', [System.EnvironmentVariableTarget]::Machine)
设置临时的环境变量(仅当前会话有效):
$env:ALIBABA_CLOUD_ACCESS_KEY_ID = "LTAI4GDty8ab9W4Y1D****"
$env:ALIBABA_CLOUD_ACCESS_KEY_SECRET = "IrVTNZNy5yQelTETg0cZML3TQn****"
在PowerShell中,执行Get-ChildItem env:ALIBABA_CLOUD_ACCESS_KEY_ID
、Get-ChildItem env:ALIBABA_CLOUD_ACCESS_KEY_SECRET
命令。若返回正确的AccessKey,则说明配置成功。
安装依赖
在终端设备中,逐条运行如下命令,安装环境依赖。
pip install alibabacloud_nas20170626==2.0.3
pip3 install alibabacloud_tea_console
下载示例代码
以下操作以调用DescribeFileSystems接口为例,您可以在OpenAPI门户选择需要调用的接口。
访问DescribeFileSystems,进入该接口在OpenAPI门户的调试地址。
在左侧的参数配置页签,填写需要的参数信息,本示例服务地址选择华东1(杭州)。
在右侧的SDK示例页签,选择Python语言,单击下载完整工程按钮,下载示例代码包。
本地解压并进入alibabacloud_sample目录。
运行代码
执行以下命令:
python sample.py
返回示例如下:
{
"FileSystems": {
"FileSystem": [
{
"Options": {},
"GuiInfo": {},
"MountTargetCountLimit": 1,
"Description": "",
"NodeNum": 0,
"ResourceGroupId": "rg-acfm26gwrru****",
"MeteredSize": 0,
"VswIds": {
"VswId": [
"vsw-8vbmuylc3di7980tj****"
]
},
"Capacity": 3600,
"Version": "2.3.4",
"Packages": {
"Package": []
},
"Bandwidth": 360,
"ExpiredTime": "",
"FileSystemId": "cpfs-09b1ccb80257****",
"Tags": {
"Tag": []
},
"Status": "Running",
"AccessPointCount": 0,
"StorageType": "advance_100",
"Ldap": {},
"ZoneId": "cn-zhangjiakou-c",
"CreateTime": "2024-9-6 15:39:27",
"SupportedFeatures": {
"SupportedFeature": []
},
"MountTargets": {
"MountTarget": []
},
"AutoSnapshotPolicyId": "",
"EncryptType": 0,
"VpcId": "vpc-8vbqmlw7s97hu0q1d****",
"ChargeType": "PayAsYouGo",
"ProtocolType": "cpfs",
"FileSystemType": "cpfs",
"RegionId": "cn-zhangjiakou"
}
]
},
"TotalCount": 1,
"RequestId": "6E561766-2667-522A-B38A-9AE846F05B1C",
"PageSize": 10,
"PageNumber": 1
}