安装
请参考alibabacloud-sdk-swift/alinlp-20200629进行安装,其中提供了CocoaPods、Carthage和Swift Package Manager三种安装方式
通过环境变量配置访问凭证(AKSK)
说明:
阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险,在此提供通过配置环境变量的方式来保存和访问aksk
Linux和macOS系统配置方法
export NLP_AK_ENV=<access_key_id> export NLP_SK_ENV=<access_key_secret>
其中<access_key_id>替换为已准备好的AccessKey ID,<access_key_secret>替换为AccessKey Secret,AccessKey ID和AccessKey Secret的获取方式见步骤二:获取账号的AccessKey
Windows系统配置方法
新建环境变量文件,添加环境变量
NLP_AK_ENV
和NLP_SK_ENV
,并写入已准备好的AccessKey ID和AccessKey Secret。重启Windows系统。
调用示例
以情感分析算法为例,示例代码如下所示
import Foundation
import AlibabacloudAlinlp20200629
import AlibabacloudOpenApi
import XCTest
import Tea
open class TestNLPAutom {
public static func createClient(_ accessKeyId: String?, _ accessKeySecret: String?) throws -> AlibabacloudAlinlp20200629.Client {
let config: AlibabacloudOpenApi.Config = AlibabacloudOpenApi.Config([
"accessKeyId": accessKeyId!,
"accessKeySecret": accessKeySecret!
])
config.endpoint = "alinlp.cn-hangzhou.aliyuncs.com"
return try AlibabacloudAlinlp20200629.Client(config)
}
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public static func main(_ args: [String]?) async throws -> Void {
let client: AlibabacloudAlinlp20200629.Client = try TestNLPAutom.createClient(ProcessInfo.processInfo.environment["NLP_AK_ENV"],ProcessInfo.processInfo.environment["NLP_SK_ENV"])
let request : AlibabacloudAlinlp20200629.GetSaChGeneralRequest = AlibabacloudAlinlp20200629.GetSaChGeneralRequest([
"ServiceCode": "alinlp",
"Text": "服务很好"
])
do {
let response : GetSaChGeneralResponse = try await client.getSaChGeneral(request)
print(response.toMap());
}
catch {
if error is Tea.TeaError {
var e: Tea.ReuqestError = error as! Tea.ReuqestError
print(e.code)
print(e.message)
}
}
}
}
注:GetSaChGeneralRequest
和GetSaChGeneralResponse
类中的GetSaChGeneral
是算法的actionName,需要替换成您需要的算法的值,并替换对应的请求参数,该值可在API参考文档中的请求参数-Action-示例值中找到;
调用异常自助排查
若调用过程中出现异常可对照调用异常自助排查(错误码汇总),找到表格中对应的描述,描述中包含具体错误原因和解决方案。
文档内容是否对您有帮助?