华为云用户手册

  • 响应示例 状态码: 200 OK { "order_id" : " CS 2306142249SHP53" } 状态码: 401 Unauthorized { "error_code" : "APIC.7102", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIC.7106", "error_msg" : "No permissions to request for the method" } 状态码: 500 Internal Server Error { "error_code" : "APIC.9000", "error_msg" : "Failed to request internal service" }
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 order_id String 订单编号 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 表1 请求URL 参数 说明 URI-scheme 传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 承载REST服务端点的服务器域名或IP,不同服务在不同区域,Endpoint不同,可以从地区和终端节点处获取。例如 IAM 身份中心服务的Endpoint为identitycenter.myhuaweicloud.com。 resource-path 资源路径,即API访问路径。从具体API的URI模块获取,例如“列出实例”API的resource-path为“/v1/instances”。 query-string 查询参数,可选,查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取IAM身份中心的实例信息,则需使用IAM身份中心的Endpoint(identitycenter.myhuaweicloud.com),并在列出实例的URI部分找到resource-path(/v1/instances),拼接起来如下所示。 1 https://identitycenter.myhuaweicloud.com/v1/instances 为查看方便,每个具体API的URI,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求消息头 添加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json”。 Authorization:请求消息中可带的签名信息,必选,AK/SK认证的详细说明请参见:AK/SK认证。 X-Sdk-Date:请求发送的时间,必选,例如:20221107T020014Z。 Host:表明主机地址,必选,如identitycenter.myhuaweicloud.com。 API支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。AK/SK认证的详细说明请参见:AK/SK认证。 对于列出实例接口,请求如下所示。 GET https://identitycenter.myhuaweicloud.com/v1/instances content-type: application/json X-Sdk-Date: 20230330T021902Z host: identitycenter.myhuaweicloud.com Authorization: SDK-HMAC-SHA256 Access=xxxxxxxxxxxxxxxxxxx, SignedHeaders=content-type;host;x-sdk-date, Signature=xxxxxxxxxxxxxxxxxxxx
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在列出实例的URI部分,您可以看到其请求方法为“GET”,则其请求为: GET https://identitycenter.myhuaweicloud.com/v1/instances
  • 错误码 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 更多服务错误码请参见API错误中心。 状态码 错误码 错误信息 描述 处理措施 400 IdentityCenter.400 Bad Request: {0}. 请求参数错误。 请检查请求参数是否正确。 404 IdentityCenter.400 Bad Request: {0}. 请求参数错误。 请检查请求参数是否正确。 404 IdentityCenter.404 Not Found: {0}. 找不到资源。 请检查资源是否存在。 403 IdentityCenter.1000 No permission for action {0}. 没有权限。 请检查是否具有相应的权限。 403 IdentityCenter.1001 Access denied: {0} 依赖接口无法访问。 请检查是否具有相应的权限及依赖的权限。 404 IdentityCenter.1002 Bad Request: {0}. 请求参数错误。 请检查请求参数是否正确。 403 IdentityCenter.1003 Bad Request: {0}. 请求参数错误。 请检查请求参数是否正确。 403 IdentityCenter.1004 Bad Request: {0}. 请求参数错误。 请检查请求参数是否正确。 409 IdentityCenter.1006 Concurrency conflicts. Try again later. 并发冲突。请稍后重试。 请检查请求参数是否冲突然后重试。 409 IdentityCenter.1007 Data modification failed. 修改失败。 请检查数据是否有冲突。 409 IdentityCenter.1204 The permission set already exists. 权限集已创建。 请检查是否已创建了相同的权限集。 404 IdentityCenter.1205 The permission set does not exist. 找不到此权限集。 请检查权限集是否存在。 409 IdentityCenter.1206 A permission set with the same name already exists. 权限集名称重复。 请检查是否已创建了相同名称的权限集。 409 IdentityCenter.1207 Duplicate system-defined policy or identity policy. 存在相同的系统策略或系统身份策略。 请检查是否已为权限集添加了相同的系统策略或系统身份策略。 500 IdentityCenter.1209 Bad Request:{0}. 执行组织服务操作时发生了错误。 请联系技术支持。 400 IdentityCenter.1210 Account not found. 找不到此账号。 请检查账号是否存在,且位于组织中。 409 IdentityCenter.1210 The permission set has been attached to accounts and cannot be deleted. 存在关联的账号,无法执行删除操作。 请先解除账号关联,然后重试。 404 IdentityCenter.1211 System-defined policy or identity policy not found. 系统策略或系统身份策略不存在。 请检查系统策略或系统身份策略是否在权限集中。 404 IdentityCenter.1212 Request ID not found. 找不到此请求ID对应的请求。 请检查请求ID是否正确。 400 IdentityCenter.1214 Region not registered in the service. 未注册区域。 请检查是否注册了区域。 403 IdentityCenter.1215 This operation is available only for the organization's administrator. 此操作只有组织管理员账号才有权限执行。 请切换为组织管理员账号再进行此操作。 409 IdentityCenter.1216 Only one region can be registered. 只可注册一个区域。 请检查是否已经注册了其他区域。 404 IdentityCenter.1217 HTTP request header {0} not found. 没有找到HTTP请求头。 请检查是否携带了所需的HTTP请求头。 400 IdentityCenter.1218 Invalid X-Request-Proof request header. 无效的请求证明头。 请检查请求证明头是否正确。 400 IdentityCenter.1219 Failed to obtain the identity token. 获取临时凭据失败。 请检查用于获取临时凭据的请求证明头是否正确。 403 IdentityCenter.1219 Failed to obtain the identity token. 获取临时凭据失败。 请检查用于获取临时凭据的请求证明头是否有效。 400 IdentityCenter.1220 Failed to create service-linked agencies. Try again later. 创建服务关联委托失败,请稍后重试。 请检查请求参数是否正确。 400 IdentityCenter.1221 Failed to enable trusted services. Try again later. 启用可信服务失败,无法将IAM身份中心与用户的组织集成。 请检查请求参数是否正确。 409 IdentityCenter.1222 IAM Identity Center has been enabled in another region. 账号ID已被占用。 请检查账号是否已经创建了服务实例。 400 IdentityCenter.1223 Organizations not enabled. 组织服务未开通。 请先开通组织服务。 404 IdentityCenter.1225 Failed to update the permission set status because the permission set is not attached to accounts. 身份验证失败,因为权限集未与账号关联。 请先将权限集与账号关联。 400 IdentityCenter.1227 Identity store creation failed. 创建身份源失败。 请检查请求参数是否正确。 500 IdentityCenter.1227 Identity store creation failed. 创建身份源失败。 请联系技术支持。 400 IdentityCenter.1228 Identity store deletion failed. 删除身份源失败。 请检查请求参数是否正确。 500 IdentityCenter.1229 No service instance can be deleted. 删除身份源失败。 请联系技术支持。 400 IdentityCenter.1230 Service-linked agency deletion failed. 删除服务关联委托失败。 请检查请求参数是否正确。 400 IdentityCenter.1231 Failed to query the groups which the user belongs to. 查询用户加入的组失败。 请检查请求参数是否正确。 500 IdentityCenter.1231 Failed to query the groups which the user belongs to. 查询用户加入的组失败。 请联系技术支持。 400 IdentityCenter.1236 Invalid {0} 无效的参数。 请检查请求参数是否有效。 403 IdentityCenter.1242 please open the service instance first! 服务实例未开通。 请先开通服务实例。 400 IdentityCenter.1243 Failed to create the trust agency. 创建信任委托失败。 请检查请求参数是否正确。 400 IdentityCenter.1244 Authentication failed. 权限检查失败。 请检查请求参数是否正确。 403 IdentityCenter.1244 Authentication failed. 权限检查失败。 请检查是否具备操作权限。 500 IdentityCenter.1244 Authentication failed. 权限检查失败。 请联系技术支持。 400 IdentityCenter.1245 Only one instance can be provisioned. 只可开通一个实例。 请检查是否已经开通了实例。 400 IdentityCenter.1246 System-defined identity policy whose ID is {0} not found. ID为{policyId}的系统身份策略不存在。 请检查系统身份策略的ID是否正确。 500 IdentityCenter.1247 Failed to delete the trust agency. 删除信任委托失败。 请联系技术支持。 500 IdentityCenter.1248 Failed to query the trust agency. 查询信任委托失败。 请联系技术支持。 400 IdentityCenter.1249 Deletion failed. Associated account not found. 关联账号不存在,无法执行删除操作。 请检查权限集与账号是否关联。 400 IdentityCenter.1250 Associated principal is not found and cannot be deleted. 关联主体不存在,无法执行删除操作。 请检查权限集与主体是否关联。 400 IdentityCenter.1252 Incorrect format of the X-Request-Proof request header. 解析HTTP授权头失败。 请检查HTTP授权头格式是否正确。 400 IdentityCenter.1253 Failed to deregister the region because an associated service instance exists. 服务实例存在时,不可删除区域。 请先关闭服务实例。 404 IdentityCenter.1254 No region registered. 找不到注册的区域。 请检查是否注册了区域。 409 IdentityCenter.1257 Duplicate entity objects. 存在重复的实体对象。 请检查数据是否重复。 400 IdentityCenter.1258 The start time cannot be later than the end time. 开始时间不应晚于结束时间。 请确保开始时间早于结束时间。 404 IdentityCenter.1259 Service instance not found. 找不到实例。 请检查服务实例是否创建。 500 IdentityCenter.1260 Internal server error. 内部服务错误。 请联系技术支持。 400 IdentityCenter.1261 Failed to obtain the identity store information. 查询关联的身份源失败。 请检查身份源是否存在。 404 IdentityCenter.1000 no permission to bind account. 没有绑定账号的权限。 请检查账号是否加入了组织。 409 IdentityCenter.1000 This account does not have this service instance. 此账号没有此服务实例。 请检查账号ID和实例ID是否正确。 409 IdentityCenter.1261 Permanent delete sdr meter db data filed. 永久删除sdr表数据库数据字段失败。 请检查数据是否重复。 400 IdentityCenter.1263 The account has not applied for OBT. 该账号未申请公测。 请先申请公测。 400 IdentityCenter.1264 Account tag query failed. 查询账号标签出错。 请检查请求参数是否正确。 403 IdentityCenter.1265 HTTP request header not found. 找不到HTTP请求头。 请检查是否携带了必要的HTTP请求头。 400 IdentityCenter.1266 HTTP request header not found. 无效的HTTP请求头。 请检查HTTP请求头是否有效。 400 IdentityCenter.1269 fail request for assume with service principal. 获取委托凭证失败。 请检查参数是否正确。 403 IdentityCenter.1269 fail request for assume with service principal. 获取委托凭证失败。 请检查是否具有操作权限。 400 IdentityCenter.1270 Failed to obtain the MFA settings of the identity store. 获取身份源的MFA设置失败。 请检查参数是否正确。 409 IdentityCenter.1270 The alias can be modified only once. 身份源ID别名已创建。 请检查是否已经创建了身份源ID别名。 400 IdentityCenter.1271 Failed to update the MFA settings of the identity store. 更新身份源的MFA设置失败。 请检查参数是否正确。 409 IdentityCenter.1271 The alias already exists. 身份源ID别名重复。 请更换别名后重试。 403 IdentityCenter.1272 No permission to perform this operation. 没有权限开通或关闭服务实例。 请检查是否具有足够的权限。 400 IdentityCenter.1273 The identity store does not belong to the account. 身份源不属于账号。 请确认身份源是否属于对应管理账号。 403 IdentityCenter.1273 The operation is not allowed because the account is frozen. 账号处于冻结状态,不允许操作。 请检查账号是否被冻结。 403 IdentityCenter.1274 The operation is not allowed because the account is restricted. 账号处于受限状态,不允许操作。 请检查账号是否受限。 400 IdentityCenter.1275 The region is invalid or IAM Identity Center cannot be enabled in the region. 区域无效或当前区域无法启用IAM身份中心。 请检查区域是否有效。 400 IdentityCenter.1276 Service instance not found. 实例不存在。 请检查参数是否正确。 404 IdentityCenter.1276 Service instance not found. 实例不存在。 请确认实例是否存在。 400 IdentityCenter.1277 Agency creation failed. 创建委托失败。 请检查参数是否正确。 500 IdentityCenter.1278 Agency deletion failed. 删除委托失败。 请联系技术支持。 500 IdentityCenter.1279 Role query failed. 查询策略失败。 请联系技术支持。 500 IdentityCenter.1280 Agency query failed. 查询委托失败。 请联系技术支持。 404 IdentityCenter.1281 Role ID {roleId} not found. 不存在策略ID:{roleId}。 请检查策略ID是否存在。 409 IdentityCenter.1282 A conflict occurred during the service-linked agency creation. Try again later. 创建服务关联委托冲突,请稍后重试。 请检查服务关联委托是否冲突,并重试。 400 IdentityCenter.1284 Failed to process Organizations broadcast messages. IAM身份中心消耗组织事件错误。 请检查参数是否正确。 403 IdentityCenter.1284 Failed to process Organizations broadcast messages. IAM身份中心消耗组织事件错误。 请检查是否有足够权限。 500 IdentityCenter.1284 Failed to process Organizations broadcast messages. IAM身份中心消耗组织事件错误。 请联系技术支持。 400 IdentityCenter.1285 Custom role creation failed. 自定义策略创建失败。 请检查自定义策略是否正确。 400 IdentityCenter.1286 Custom role update failed. 自定义策略更新失败。 请检查自定义策略是否正确。 500 IdentityCenter.1287 Custom role deletion failed. 自定义策略删除失败。 请联系技术支持。 500 IdentityCenter.1290 Authorization association not found. 找不到对应的授权关联关系,无法处理该请求。 请联系技术支持。 403 IdentityCenter.1291 The target account does not belong to the organization. 目标账号不属于组织。 请检查目标账号是否在组织中。 400 IdentityCenter.1293 Size limit exceeded. A policy content can contain a maximum number of 6,144 characters. 超过策略内容大小限制。 请检查策略内容是否过大 500 IdentityCenter.1300 Internal server error. 内部服务错误。 请联系技术支持。 409 IdentityCenter.1301 Failed to create another identity store because an identity store has been configured for the service instance. 此实例已经绑定了一个身份源。 请检查实例是否已经绑定了身份源。 400 IdentityCenter.1302 Account not found. 找不到此账号对应的组织信息。 请检查请求参数是否正确。 400 IdentityCenter.1303 Organizations not enabled. 组织服务未开通。 请先开通组织服务。 500 IdentityCenter.1304 Bad Request: {0}. 执行组织操作错误。 请联系技术支持。 403 IdentityCenter.1305 This operation is available only for the organization's administrator. 此操作只有组织管理员账号才有权限执行。 请切换为组织管理员账号再进行此操作。 409 IdentityCenter.1306 The {0} is associated with an account. Disassociate the account and try again. 此主体存在关联的账号,请解除关联后重试。 请先解除主体与账号的关联,然后重试。 404 IdentityCenter.1307 Principal not found or principal type not correct. 主体不存在或主体类型不正确。 请检查主体是否存在且主体类型正确。 400 IdentityCenter.1308 Identity store not found. 找不到身份源。 请检查身份源ID是否正确。 404 IdentityCenter.1308 Identity store not found. 找不到身份源。 请确认身份源是否存在。 500 IdentityCenter.1309 Failed to obtain the access token. 获取PKI令牌失败。 请联系技术支持。 400 IdentityCenter.1310 Duplicate username or email address. 用户名或电子邮件地址重复。 请尝试其他用户名或电子邮件地址。 400 IdentityCenter.1311 The maximum number of allowed users has been reached. 身份源中的用户数量达到了可管理用户数的上限。 请检查配额。若当前配额不满足您的需求,请申请扩展配额。 404 IdentityCenter.1312 User not found. 用户不存在。 请检查用户是否存在。 404 IdentityCenter.1313 User extended attributes not found. 用户拓展属性不存在。 请检查用户属性是否完整。 400 IdentityCenter.1314 Invalid password. 密码复杂度不满足安全要求。 请使用更复杂的密码。 400 IdentityCenter.1315 The password cannot be the same as the old password or one-time password. 新密码不能与旧密码或一次性密码相同。 请更换密码。 404 IdentityCenter.1316 Unique user ID not found. 找不到唯一的用户ID。 请检查查询参数是否正确。 400 IdentityCenter.1317 User disabled. 重复禁用。 请检查对象状态是否已禁用。 400 IdentityCenter.1318 User enabled. 重复启用。 请检查对象状态是否已启用。 400 IdentityCenter.1319 Login credentials cannot be verified. Please try again. 用户名或密码错误。 请检查登录凭证是否正确,并重试。 404 IdentityCenter.1319 we couldn't verify your sign-in credentials. please try again. 用户名或密码不存在。 请检查用户名或密码是否存在。 400 IdentityCenter.1320 User disabled. 用户被禁用。 请检查用户是否启用。 400 IdentityCenter.1321 duplicate email. 电子邮件地址已存在。 请尝试其他电子邮件地址。 500 IdentityCenter.1322 Algorithm not found: {0}. 算法不存在。 请联系技术支持。 400 IdentityCenter.1324 The new password must be different from the username. 重置的密码不能与用户名相同。 请更换密码。 400 IdentityCenter.1325 Invalid one-time password. 无效的一次性密码。 请检查一次性密码是否正确。 500 IdentityCenter.1326 Internal server error: {0}. 内部服务错误。 请联系技术支持。 400 IdentityCenter.1327 Invalid metadata. 无效的SAML元数据。 请检查请求参数是否正确。 400 IdentityCenter.1328 IdP configuration already exists. IdP配置已存在,不允许重复创建。 请检查IdP配置是否已经存在。 400 IdentityCenter.1329 The IdP configuration status is incorrect. IdP配置状态不正确。 请检查IdP配置状态是否正确。 404 IdentityCenter.1330 IdP configuration not found. 找不到IdP配置。 请检查IdP配置是否存在。 400 IdentityCenter.1331 IdP tenant already exists. 存在IdP租户。 请检查IdP租户是否已经存在。 404 IdentityCenter.1332 Tenant ID not found. 找不到IdP租户。 请检查IdP租户是否存在。 400 IdentityCenter.1333 Failed to delete the tenant because it is associated with a bearer token. 存在令牌,不允许删除。 请先删除令牌。 404 IdentityCenter.1334 Bearer token ID not found. 找不到令牌。 请检查令牌是否存在。 400 IdentityCenter.1335 The maximum number of allowed bearer tokens has been reached. 令牌个数达到了上限。 请检查令牌配额。 400 IdentityCenter.1336 Username verification failed. 验证用户名错误。 请检查请求参数是否正确。 403 IdentityCenter.1337 No permission for action {0}. 没有执行操作的权限。 请检查是否具有操作权限。 403 IdentityCenter.1338 Request parameter is required. 参数不能为空。 请检查参数是否正确。 403 IdentityCenter.1339 Service instance not found. 参数错误,找不到服务实例。 请检查参数是否正确。 409 IdentityCenter.1341 Duplicate display name of the group. 组的显示名称已经存在。 请尝试其他的显示名。 409 IdentityCenter.1342 Duplicate entity objects. 数据库插入数据失败。 请检查数据是否重复。 404 IdentityCenter.1343 Group not found. 找不到用户组。 请检查用户组是否存在。 400 IdentityCenter.1344 The query condition must be an external ID or a unique attribute, and they cannot be specified at the same time. 无效的替代标识符。 替代标识符必须设置为以下键之一:external_id,unique_attribute。 400 IdentityCenter.1348 The query condition must be an external ID or a unique attribute, and they cannot be specified at the same time. 只需要external_id,unique_attribute中的一个条件。 请检查替代标识符是否只使用了一个条件。 404 IdentityCenter.1349 The attribute_path must be unique. 此路径不是唯一属性。 请检查路径是否为唯一属性。 400 IdentityCenter.1351 The maximum number of allowed groups has been reached. 身份源中的用户组数量达到了可管理用户组数的上限。 请检查配额。若当前配额不满足您的需求,请申请扩展配额。 400 IdentityCenter.1352 The identity store does not belong to the account. 身份源不属于此账号。 请检查身份源是否属于对应的管理账号。 400 IdentityCenter.1353 The display name of the group is required. 用户组的显示名不能为空。 请检查用户组显示名称是否有效。 400 IdentityCenter.1370 The association between users and groups already exists. 用户和组的关联关系已经存在。 请检查是否已经将用户添加到组中了。 404 IdentityCenter.1371 The association between users and group does not exist. 找不到此关联关系ID对应的关联关系。 请检查关联关系标识符是否正确。 400 IdentityCenter.1372 Group not found. 用户组不存在。 请检查用户组是否存在。 404 IdentityCenter.1372 Group not found. 用户组不存在。 请检查用户组是否存在。 400 IdentityCenter.1373 User not found. 用户不存在。 请检查用户是否存在。 404 IdentityCenter.1373 User not found. 用户不存在。 请检查用户是否存在。 404 IdentityCenter.1374 The association between users and group does not exist. 找不到此用户和组对应的关联关系。 请检查用户是否添加到了组中。 404 IdentityCenter.1375 Group member not found. 成员不存在。 请加检查是否请求中所有成员都存在。 400 IdentityCenter.1380 The start time cannot be later than the end time. 开始时间晚于结束时间。 请确保开始时间早于结束时间。 500 IdentityCenter.1381 Request processing failed due to an unknown error, exception, or fault on the internal server. 由于内部服务器出现未知错误、异常或故障,请求处理失败。 请联系技术支持。 409 IdentityCenter.1382 Permanent delete db data filed. 永久删除数据库数据字段失败。 请检查数据是否重复。 400 IdentityCenter.1383 The account has not applied for OBT. 不是Beta账号ID。 请使用Beta账号。 400 IdentityCenter.1384 Account tag query failed. 查询账号标签出错。 请检查请求参数是否正确。 404 IdentityCenter.1385 HTTP request header not found. 找不到HTTP请求头。 请检查是否携带了必要的HTTP请求头。 400 IdentityCenter.1386 HTTP request header not found. 无效的HTTP请求头。 请检查HTTP请求头是否有效。 400 IdentityCenter.1387 MFA device {0} not found. 找不到MFA设备。 请检查参数是否正确。 400 IdentityCenter.1388 The maximum number of allowed MFA devices has been reached. 用户的MFA设备数以达到配额上限,无法添加。 请检查MFA配额。 400 IdentityCenter.1389 Incorrect format of the X-Request-Proof request header. 认证头模式错误。 请检查认证头是否正确。 404 IdentityCenter.1390 HTTP request header {0} not found. 找不到HTTP请求头。 请检查请求头是否存在。 400 IdentityCenter.1391 Invalid X-Request-Proof request header. 请求证明错误。 请检查请求头参数是否正确。 400 IdentityCenter.1392 Failed to obtain the identity token. 获取STS凭证出错。 请检查请求参数是否正确。 403 IdentityCenter.1392 Failed to obtain the identity token. 获取STS凭证出错。 请检查是否具有足够权限。 403 IdentityCenter.1393 The operation is not allowed because the account is frozen. 账号处于冻结状态,不允许操作。 请检查账号是否被冻结。 403 IdentityCenter.1394 The operation is not allowed because the account is restricted. 账号处于受限状态,不允许操作。 请检查账号是否受限。 404 IdentityCenter.1398 Tenant not found. 找不到租户。 请检查租户是否存在。 400 IdentityCenter.1399 Failed to obtain the bearer token. 获取承载令牌失败。 请检查参数是否正确。 400 IdentityCenter.1400 Bad Request: {0}. 创建访问令牌失败。 请检查请求参数是否正确。 500 IdentityCenter.1402 Bad Request: {0}. 创建访问令牌失败。 请联系技术支持。 400 IdentityCenter.1404 Access denied: {0}. 访问被拒绝。 请检查请求参数是否正确。 403 IdentityCenter.1404 Access denied: {0}. 访问被拒绝。 请检查是否具有操作权限。 400 IdentityCenter.1405 Bad Request: {0}. 请求参数校验异常。 请检查请求参数是否正确。 500 IdentityCenter.1405 Bad Request: {0}. 请求参数校验异常。 请联系技术支持。 404 IdentityCenter.1406 not found application. 找不到应用。 请检查应用是否存在。 400 IdentityCenter.1407 Failed to request the authorization of the account. 找不到简介。 请检查请求参数是否正确。 400 IdentityCenter.1409 Invalid token. 无效的ID令牌。 请检查ID令牌是否有效。 401 IdentityCenter.1410 {0}. 未授权。 请根据提示信息进行授权。 401 IdentityCenter.1410 Failed to verify the session because the token is not found. 校验会话失败,找不到令牌。 请检查会话是否过期。 400 IdentityCenter.1411 Client registration error. 注册客户端异常。 请检查请求参数是否正确。 500 IdentityCenter.1411 Client registration error. 注册客户端异常。 请联系技术支持。 500 IdentityCenter.1412 Algorithm not found: {0}. 没有此算法。 请确认算法是否正确,或联系技术支持。 400 IdentityCenter.1413 Invalid session state: {0}. 无效的会话状态标识符。 请确认会话状态表示符是否正确。 400 IdentityCenter.1414 redis error. 执行Redis操作异常。 请检查请求参数是否正确。 400 IdentityCenter.1415 Failed to obtain the login token: {0}. 获取登录令牌异常。 请检查请求参数是否正确。 500 IdentityCenter.1415 Failed to obtain the login token: {0}. 获取登录令牌异常。 请联系技术支持。 500 IdentityCenter.1416 Internal server error: {0}. 内部服务错误。 请联系技术支持。 404 IdentityCenter.1417 Identity store ID not found. 找不到身份源ID。 请检查身份源ID是否存在。 400 IdentityCenter.1418 The workflow cannot be created. 创建工作流失败。 请检查参数是否正确。 400 IdentityCenter.1420 An error occurred when activating the device authorization code. 激活设备授权码错误。 请检查参数是否正确。 400 IdentityCenter.1420 An error occurred when canceling the device authorization code. 取消设备授权码错误。 请检查参数是否正确。 403 IdentityCenter.1500 Invalid Token. 无效的访问令牌。 请检查访问令牌是否有效。 500 IdentityCenter.1501 Failed to obtain the identity token: {0}. 获取身份凭证令牌失败。 请联系技术支持。 500 IdentityCenter.1502 Failed to list accounts for the user: {0}. 获取用户的账号列表失败。 请联系技术支持。 500 IdentityCenter.1503 Failed to list agencies for the account: {0}. 为账号列出委托或信任委托失败。 请联系技术支持。 500 IdentityCenter.1504 Token verification failed: {0}. 校验访问令牌失败。 请联系技术支持。 400 IdentityCenter.1505 Invalid Param: {0}. 无效的请求参数。 请检查请求参数是否正确。 500 IdentityCenter.1506 Algorithm not found. 没有此算法。 请确认算法是否正确,或联系技术支持。 400 IdentityCenter.1507 Failed to obtain the service instance information: {0}. 获取服务实例信息失败。 请检查请求参数是否正确。 500 IdentityCenter.1507 Failed to obtain the service instance information: {0}. 获取服务实例信息失败。 请联系技术支持。 400 IdentityCenter.1508 Failed to delete the MFA device: {0}. 删除用户的MFA设备失败。 请检查参数是否正确。 500 IdentityCenter.1508 Failed to delete the MFA device: {0}. 删除用户的MFA设备失败。 请联系技术支持。 400 IdentityCenter.1509 Failed to create the workflow: {0}. 创建工作流失败。 请检查参数是否正确。 500 IdentityCenter.1509 Failed to create the workflow: {0}. 创建工作流失败。 请联系技术支持。 400 IdentityCenter.1511 Failed to obtain the MFA settings: {0}. 无法获取用户的MFA管理设置信息。 请检查参数是否正确。 500 IdentityCenter.1511 Failed to obtain the MFA settings: {0}. 无法获取用户的MFA管理设置信息。 请联系技术支持。 400 IdentityCenter.1512 Failed to list MFA devices for the user: {0}. 无法为用户列出MFA设备。 请检查参数是否正确。 500 IdentityCenter.1512 Failed to list MFA devices for the user: {0}. 无法为用户列出MFA设备。 请联系技术支持。 500 IdentityCenter.1513 Request processing failed due to an unknown error, exception, or fault on the internal server. 由于内部服务器出现未知错误、异常或故障,请求处理失败。 请联系技术支持。 400 IdentityCenter.1514 Failed to update the MFA device: {0}. 无法为用户更新MFA设备。 请检查参数是否正确。 500 IdentityCenter.1514 Failed to update the MFA device: {0}. 无法为用户更新MFA设备。 请联系技术支持。 400 IdentityCenter.1515 Failed to obtain the permission set. 获取权限集失败。 请检查参数是否正确。 500 IdentityCenter.1515 Failed to obtain the permission set. 获取权限集失败。 请联系技术支持。 400 IdentityCenter.1516 Email verification failed: {0}. 验证电子邮件失败。 请检查参数是否正确。 500 IdentityCenter.1516 Email verification failed: {0}. 验证电子邮件失败。 请联系技术支持。 500 IdentityCenter.1517 failed to get the PKI token. 无法获取PKI令牌。 请联系技术支持。 403 IdentityCenter.1518 read permission does not support MFA registration. 读取权限不支持MFA注册。 请检查是否有足够权限。 403 IdentityCenter.1519 MFA disabled. MFA被禁用。 请先启用MFA。 400 IdentityCenter.1520 Invalid access token. 无效的访问令牌。 请检查访问令牌是否有效。 404 IdentityCenter.1600 Client not found. 客户端不存在。 请检查客户端ID是否正确。 403 IdentityCenter.1601 Client expired. 客户端过期。 请检查客户端是否过期,如果过期请重新注册客户端。 403 IdentityCenter.1602 Client secret expired. 客户端密钥过期。 请检查客户端密钥是否过期,如果过期请重新注册客户端。 500 IdentityCenter.1603 Internal server error: {0}. 内部服务错误。 请联系技术支持。 401 IdentityCenter.1604 Invalid token. 无效的访问令牌。 请重新申请访问令牌,并重试。 500 IdentityCenter.1605 Algorithm not found: {0}. 算法不存在。 请联系技术支持。 400 IdentityCenter.1606 Invalid param: {0}. 无效的请求参数。 请检查请求参数是否正确。 403 IdentityCenter.1606 Invalid param: {0}. 无效的请求参数。 请检查请求参数是否正确。 404 IdentityCenter.1606 Invalid param: {0}. 无效的请求参数。 请检查请求参数是否正确。 400 IdentityCenter.1607 Failed to verify the JWT signature: {0}. JWT令牌验签错误。 请检查JWT令牌是否正确。 400 IdentityCenter.1608 Authorization pending exception. 授权Pending异常。 请稍后重试。 400 IdentityCenter.1609 The client does not support {0}. 客户端不支持。 请检查请求是否正确。 500 IdentityCenter.1610 Internal server error. 内部服务错误。 请联系技术支持。 500 IdentityCenter.1611 Failed to obtain the access token. 获取访问令牌失败。 请联系技术支持。 401 IdentityCenter.1612 Invalid authorization type. 授权类型无效。 请检查授权类型是否正确。 404 IdentityCenter.1613 Authorization rejected. 授权被拒绝。 请确认用户是否同意授权。 400 IdentityCenter.1615 Requests of this type are not supported. 不支持此类型的请求。 请检查请求类型是否正确。 400 IdentityCenter.1616 The workflow is not supported. 不支持此工作流。 请检查工作流步骤是否正确。 400 IdentityCenter.1617 Failed to parse the ID token. 解析ID令牌失败。 请检查ID令牌是否有效。 400 IdentityCenter.1701 User verification exception. 验证用户出错。 请检查请求参数是否正确。 500 IdentityCenter.1701 User verification exception. 验证用户出错。 请联系技术支持。 400 IdentityCenter.1702 Login authentication error. 登录认证错误。 请检查授权码是否有效。 400 IdentityCenter.1703 Unsupported encoding. 使用了不支持的编码。 请检查请求参数的编码是否正确。 400 IdentityCenter.1704 approve code error. 批准授权码出错。 请检查授权码是否有效。 423 IdentityCenter.1705 User locked. 用户被锁定或禁用。 请解锁用户或启用用户。 424 IdentityCenter.1706 User expired. 用户密码超期。 请更新用户密码。 400 IdentityCenter.1707 Incorrect username, password, or identity store id. 用户名、密码或身份源标识符不正确。 请检查用户名、密码或身份源标识符是否正确。 400 IdentityCenter.1708 An error occurred when obtaining the external IdP. 获取身份提供者信息出错。 请检查请求参数是否正确。 400 IdentityCenter.1709 An error occurred when constructing the SAML request or response. 构建SAML请求或者响应出错。 请检查请求参数是否正确。 400 IdentityCenter.1710 No supported methods. 使用不支持的方法。 请检查请求参数是否正确。 400 IdentityCenter.1711 An error occurred when obtaining SAML metadata. 获取SAML元数据出错。 请检查请求参数是否正确。 400 IdentityCenter.1712 The signature certificate cannot be decoded. 无法验证签名证书。 请检查证书签名是否正确。 400 IdentityCenter.1714 Incorrect SAML response. 错误的SAML响应。 请检查SAML响应是否正确。 500 IdentityCenter.1716 Algorithm not found: {0}. 算法不存在。 请联系技术支持。 400 IdentityCenter.1717 Session expired. 会话已失效。 请检查会话是否有效。 400 IdentityCenter.1718 Failed to reset the password. 重置密码出错。 请检查请求参数是否有效。 400 IdentityCenter.1719 Username verification failed. 验证用户名出错。 请检查请求参数是否正确。 400 IdentityCenter.1721 Session timed out or stopped working. Restart your workflow. 您的会话似乎超时或停止工作。请重新启动您的工作流。 请重新启动您的工作流。 400 IdentityCenter.1722 Request cannot be completed. Try again later. 我们现在无法完成您的请求。请稍后重试。 请稍后重试。 400 IdentityCenter.1724 Failed to process the workflow. Try again later. 工作流处理失败,请稍后重试。 请稍后重试。 400 IdentityCenter.1725 This operation cannot be performed. 现在无法执行该操作。 请检查请求参数是否正确。 400 IdentityCenter.1726 Failed to verify the MFA code. MFA码校验失败。 请检查请求参数是否有效。 400 IdentityCenter.1727 Failed to create an MFA device: {0} 无法为用户创建MFA设备。 请检查请求参数是否正确。 400 IdentityCenter.1728 Failed to update the MFA device: {0} 无法更新用户的MFA设备。 请检查请求参数是否正确。 400 IdentityCenter.1728 Failed to find the MFA device: {0} 找不到用户的MFA设备。 请检查MFA设备是否存在。 400 IdentityCenter.1729 Devices of this type cannot be registered again. 您不能再注册此类型的设备。 请检查注册的MFA设备数量是否已达到上限。 400 IdentityCenter.1730 Failed to obtain the service instance information. 获取服务实例信息失败。 请检查请求参数是否正确。 400 IdentityCenter.1731 Invalid session state. 无效的会话状态。 请检查会话是否已过期。 400 IdentityCenter.1734 User search failed. 检索用户失败。 请检查请求参数是否正确。 400 IdentityCenter.1735 Incorrect username, password, verification code, or identity store id. 用户名、密码、验证码或身份源ID不正确。 请用户名、密码、验证码或身份源ID是否正确。 400 IdentityCenter.1736 Workflow creation failed. Try again later. 创建工作流失败,请稍后重试。 请稍后重试。 400 IdentityCenter.1737 Incorrect username, password, verification code, or identity store id. 用户名、密码、验证码或身份源ID不正确。 请用户名、密码、验证码或身份源ID是否正确。 500 IdentityCenter.1738 Failed to obtain the verification code. 无法获取验证码。 请联系技术支持。 403 IdentityCenter.1739 Login failed. Contact the administrator to add an MFA device. 您无法登录,请联系管理员注册MFA设备。 请联系管理员注册MFA设备。 400 IdentityCenter.1740 Invalid {0} 无效的参数。 请检查请求参数是否有效。 400 IdentityCenter.1741 Invalid one-time password. 无效的一次性密码。 请检查一次性密码是否有效。 500 IdentityCenter.1750 Algorithm not found: {0} 找不到对应的算法。 请联系技术支持。 400 IdentityCenter.1751 Failed to update the email status: {0} 更新电子邮件状态失败。 请检查请求参数是否正确。 表1 SCIM错误码 HTTP状态码 响应体状态 详细错误信息 描述 处理措施 400 400 Bad Request: {0} 不支持的编码。 请检查请求参数编码是否正确。 404 404 User [{0}] not found. 用户不存在。 请检查用户是否存在。 404 404 Group [{0}] not found. 用户组不存在。 请检查用户组是否存在。 404 404 Group member not found. 成员不存在。 请检查用户是否存在,并且是组的成员。 409 409 User [{0}] or email address already exists. 用户已经存在。 请检查用户是否已经存在。 409 409 Group [{0}] already exists. 用户组已经存在。 请检查用户组是否已经存在。 500 500 There was an internal server error. 存在内部服务错误。 请联系技术支持。 父主题: 附录
  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 request_id String 请求唯一标识。 状态码: 403 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 request_id String 请求唯一标识。 状态码: 409 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 request_id String 请求唯一标识。
  • URI POST /v1/instances/{instance_id}/permission-sets/{permission_set_id}/attach-managed-policy 表1 路径参数 参数 是否必选 参数类型 描述 instance_id 是 String IAM身份中心实例的全局唯一标识符(ID)。 permission_set_id 是 String 权限集的全局唯一标识符(ID)。
  • 请求示例 在指定的权限集中添加系统身份策略。 POST https://{hostname}/v1/instances/{instance_id}/permission-sets/{permission_set_id}/attach-managed-policy { "managed_policy_id" : "848805579************03de60620a5", "managed_policy_name" : "sys_example_456" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Security-Token 否 String 如果正在使用临时安全凭据,则此header是必需的,该值是临时安全凭据的安全令牌(会话令牌)。 最大长度:2048 表3 请求Body参数 参数 是否必选 参数类型 描述 managed_policy_id 是 String IAM系统身份策略唯一标识。 managed_policy_name 否 String IAM系统身份策略名称。 最小长度:1 最大长度:128
  • 响应示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 { "count": 2, "servers": [ { "id": "b544be62-1b3b-4982-ad98-572b002ac23b", "name": "bms-test1", "addresses": { "5849fdf1-9d79-4589-80c2-fe557990c417": [ { "version": "4", "addr": "192.168.1.63", "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:3a:8d:f1", "OS-EXT-IPS:port_id": "c79d2813-94c9-4135-973e-cbf5d23e78e6", "OS-EXT-IPS:type": "fixed" } ] }, "flavor": { "disk": "9309", "vcpus": "32", "ram": "193047", "id": "physical.s1.medium.ondemand", "name": "physical.s1.medium.ondemand" }, "accessIPv4": "", "accessIPv6": "", "status": "ACTIVE", "progress": 0, "hostId": "cd243addb5d2c64e89218180b7a3ed95abe6882e81c337cc563137df", "updated": "2018-09-10T01:20:58Z", "created": "2018-09-06T09:29:27Z", "metadata": { "baremetalPortIDList": "[c79d2813-94c9-4135-973e-cbf5d23e78e6]", "chargingMode": "0" }, "tags": [ "__type_baremetal" ], "description": "bms-test1", "locked": false, "config_drive": "", "tenant_id": "bbf1946d374b44a0a2a95533562ba954", "user_id": "0c50494c5816425eb05c40b5e81ab65a", "key_name": "$key_name", "OS-EXT-STS:power_state": 1, "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:host": "bms.dc1", "OS-EXT-SRV-ATTR:instance_name": "instance-0014bdc2", "OS-EXT-SRV-ATTR:hypervisor_hostname": "nova002@2", "OS-DCF:diskConfig": "MANUAL", "OS-EXT-AZ:availability_zone": "az-dc-1", "os:scheduler_hints": {}, "OS-EXT-SRV-ATTR:root_device_name": "/dev/vda", "OS-EXT-SRV-ATTR:ramdisk_id": "", "enterprise_project_id": "0", "OS-SRV-USG:launched_at": "2018-09-06T09:30:36.000000", "OS-EXT-SRV-ATTR:kernel_id": "", "OS-EXT-SRV-ATTR:launch_index": 0, "host_status": "UP", "OS-EXT-SRV-ATTR:reservation_id": "r-qjad3fv0", "OS-EXT-SRV-ATTR:hostname": "bms-test1", "sys_tags": [ { "key": "_sys_enterprise_project_id", "value": "0" } ] }, { "id": "a1541cfc-8ac3-43e9-a70d-b8d4b395b256", "name": "bms_test2", "addresses": { "5849fdf1-9d79-4589-80c2-fe557990c417": [ { "version": "4", "addr": "192.168.1.50", "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:8f:38:2c", "OS-EXT-IPS:port_id": "460aa585-9f83-4719-9527-fc39ebaca9aa", "OS-EXT-IPS:type": "fixed" } ] }, "flavor": { "disk": "9309", "vcpus": "32", "ram": "193047", "id": "physical.s1.medium", "name": "physical.s1.medium" }, "accessIPv4": "", "accessIPv6": "", "status": "SHUTOFF", "hostId": "cd243addb5d2c64e89218180b7a3ed95abe6882e81c337cc563137df", "updated": "2018-09-06T10:00:25Z", "created": "2018-08-30T12:40:47Z", "metadata": { "metering.order_id": "CS18083020422CNV9", "baremetalPortIDList": "[460aa585-9f83-4719-9527-fc39ebaca9aa]", "metering.product_id": "00301-167001-0--0", "chargingMode": "1" }, "tags": [ "__type_baremetal", "_sys_enterprise_project_id=9dd1131d-71fd-40fe-8f14-3fe6b6b5ef8b", "key1=value1", "three=3", "two=2" ], "description": "bms_test2", "locked": false, "config_drive": "", "tenant_id": "bbf1946d374b44a0a2a95533562ba954", "user_id": "3fc5ab2b0c544979abcaafd86edd80e6", "key_name": "$key_name", "OS-EXT-STS:power_state": 4, "OS-EXT-STS:vm_state": "stopped", "OS-EXT-SRV-ATTR:host": "bms.dc1", "OS-EXT-SRV-ATTR:instance_name": "instance-0014581b", "OS-EXT-SRV-ATTR:hypervisor_hostname": "nova002@2", "OS-DCF:diskConfig": "MANUAL", "OS-EXT-AZ:availability_zone": "az-dc-1", "os:scheduler_hints": {}, "OS-EXT-SRV-ATTR:root_device_name": "/dev/vda", "OS-EXT-SRV-ATTR:ramdisk_id": "", "enterprise_project_id": "0", "OS-SRV-USG:launched_at": "2018-08-30T12:42:10.000000", "OS-EXT-SRV-ATTR:kernel_id": "", "OS-EXT-SRV-ATTR:launch_index": 0, "host_status": "UP", "OS-EXT-SRV-ATTR:reservation_id": "r-i5w3yc9a", "OS-EXT-SRV-ATTR:hostname": "bms-test2", "sys_tags": [ { "key": "_sys_enterprise_project_id", "value": "0" } ] } ] }
  • 单实例单并发与单实例多并发的对比 当一个函数执行需要花费5秒,若配置为单实例单并发,三次函数调用请求分别在三个函数实例执行,总执行时长为15秒。 若配置为单实例多并发,设置单实例并发数为5,即单个实例最多支持5个并发请求,如果有三次函数调用请求,将在一个实例内并发处理,总执行时间为5秒。 单实例并发数大于1,在您设置的“单函数最大实例数”范围内,超过单实例并发处理能力时会自动扩容新实例。 表1 单并发与多并发对比 对比项 单实例单并发 单实例多并发 日志打印 - Node.js Runtime使用console.info()函数,Python Runtime使用print()函数,Java Runtime使用System.out.println()函数打印日志,该方式会把当前请求的Request ID包含在日志内容中。当多请求在同一个实例并发处理时,当前请求可能有很多个,继续使用这些函数打印日志会导致Request ID错乱。此时应该使用context.getLogger(),获取一个日志输出对象,通过这个日志输出对象打印日志,例如Python Runtime: log = context.getLogger() log.info("test") 共享变量 不涉及 单实例多并发处理时,修改共享变量会导致错误。这要求您在编写函数时,对于非线程安全的变量修改要进行互斥保护。 监控指标 按实际情况进行监控。 相同负载下,函数的实例数明显减少。 流控错误 不涉及 太多请求时,body中的errorcode为“FSS.0429” ,响应头中的status为429 ,错误信息提示:Your request has been controlled by overload sdk, please retry later。
  • 应用场景 单实例多并发适合函数处理逻辑中有较长时间等待下游服务响应的场景,也适合函数逻辑中初始化时间较长的场景,具备以下优势: 降低冷启动概率,优化函数处理时延:例如并发三个请求,不配置单实例多并发,FunctionGraph默认启动三个实例处理请求,会有三次冷启动。若配置了单实例支持三并发,三个并发请求,FunctionGraph只启动一个实例处理请求,减少了两次冷启动。 减少总请求处理时长,节省费用:单实例单并发下,多个请求的总处理时长为每个请求的处理时长相加。单实例多并发下,同一个实例对并发的多个请求的计费时间为,从第一个请求开始处理计时,到最后一个并发的请求处理结束记一次时长费用。
  • 状态管理 函数实例的生成 创建函数实例调用句柄时,系统会自动生成新的状态实例,并加载到函数中执行。 创建函数实例调用句柄方式,各语言可参照demo模板。以下以java为例: 通过f = new Function (context, functionName) 不指定函数实例逻辑名称创建。 通过f = new Function (context, functionName, instanceName) 指定一个全新的函数实例逻辑名称 instanceName 值调用有状态函数。 函数实例调用句柄的恢复 通过指定的函数实例逻辑名称instanceName恢复获取函数实例调用句柄。 f = new Function (context) f.getInstance (functionName, instanceName) 函数实例的访问 开发者可以通过context.state访问当前函数实例绑定的状态数据值。 状态的操作 运行函数前,系统会依据函数实例调用句柄所绑定的函数实例ID自动加载状态数据到context.state中。 开发者可以通过context.state访问当前函数实例绑定的状态数据值。 通过f.saveState()接口保存状态数据的修改。 当函数执行结束后,如果调用了f.saveState()接口,系统会自动持久化状态数据。如果未调用f.saveState()接口,则调用结束之后,状态数据不会被保存。
  • 后续操作 当函数挂载了文件系统配置后,对函数访问路径的读写就相当于对相关文件系统的读写。 如果把日志路径配置为函数访问路径的子目录,就可以轻松实现函数日志的持久化。 可以参见如下步骤,使用函数统计web服务器访问情况(应用模板),对运行在云上的服务器进行 日志分析 。 登录 函数工作流 控制台,在左侧导航栏选择“函数模板”。 在“函数模板”界面右上角搜索框中,输入“统计web服务器访问情况”进行搜索。 在搜索结果中,单击“使用模板”进入配置界面,如图2所示,请您根据实际业务进行参数配置。 参数配置完成后,单击“创建函数”,完成“统计web服务器访问情况”的函数创建。 图2 函数模板
  • 约束与限制 仅支持Java函数。 如果应用函数强依赖于有状态,需要考虑使用Restore Hook进行状态刷新。 对于强依赖CPU指令集特性的函数,请先提前与客服确认。 依赖硬编码的host 环境(例如 hostname, 或者 hostip)的函数在迁移到其他主机上的时候,可能会有问题。建议避免依赖这些变量,请先提前与客服确认。 当前仅支持基于x86机器开发的应用。 该功能当前仅支持乌兰察布二零一、乌兰察布二零二、贵阳一、伊斯坦布尔。
  • 操作步骤 登录 FunctionGraph 控制台,配置 Java 函数,并打开“快照式冷启动”开关。 (可选)配置 Restore Hook,并在函数代码中实现对应的 Hook 逻辑。 图1 开启Restore Hook 函数代码中Restore Hook示例如下: 函数发布新版本后,触发快照的自动化制作。 图2 发布新版本 请耐心等待快照制作完成(5min 超时时间)。 调用 Java 函数,体验快照优化后的性能提升。
  • 概述 华为云发布的基于进程级快照的冷启动加速方案,是一种性能优化服务,用户无需额外付费,只需进行简单的配置、少量的代码修改,即可享受到该创新方案带来的冷启动性能提升。 当用户 Java 函数打开冷启动加速的配置开关后,华为云 FunctionGraph 会预先执行函数对应的初始化代码,获取其初始化执行上下文环境的快照,并进行加密缓存。后续调用该函数并触发冷启动扩容时,会直接从提前初始化后的应用快照来恢复执行环境,而非重新走一遍初始化流程,以此达到极大提升启动性能的效果。
  • 创建EG触发器 返回函数工作流控制台,进入“函数流”页面。 在“函数流”流程列表页面,选择需要创建触发器的流程,单击“编辑”,进入编辑页面。 单击“开始”节点,在右侧弹出的属性页面添加触发器,触发器类型选择“EG触发器”。 创建成功后“workflow_test”事件通道接收到来自事件源“workflow_test_1”的事件时,会触发此函数流执行。 填写触发器配置信息。如表4所示,带*参数为必填项。 表4 定时触发器配置信息 配置项 说明 *提供方 EG事件源提供方,支持华为云服务事件源和自定义事件源。 *事件通道 事件通道负责接收来自事件源的事件来出发函数流执行。 *事件源 事件源是事件的来源,负责将华为云服务、自定义应用等应用程序生产的事件发布到事件网格。 事件类型 可以指定事件类型进行过滤,满足事件类型才会触发函数流执行。 单击“创建”,完成定时触发器创建。
  • 创建定时触发器 登录FunctionGraph控制台,进入“函数流”页面。 在“函数流”流程列表页面,选择需要创建触发器的流程,单击“编辑”,进入编辑页面。 单击“开始”节点,在右侧弹出的属性页面添加触发器,触发器类型选择“定时触发器”。 填写触发器配置信息。如表1所示,带*参数为必填项。 表1 定时触发器配置信息 配置项 说明 *触发规则 定时触发器的触发规则,当前只支持Cron表达式 *Cron表达式 用于表示任务调度的表达式,能够表示特定周期进行的特定的时间、日期等。具体请参见函数定时触发器Cron表达式规则。 附加信息 附加信息为json格式,输入必须包含input,在input内输入需要的json体。input的内容会作为流程的输入参数。 单击“创建”,完成定时触发器创建。
  • 调用API 配置请求地址相关参数。 API调用场景 API请求参数配置 使用域名调用API ROMA API允许使用服务分配的子域名或服务绑定的域名调用API,无需另外配置。 使用IP调用API ROMA API的实例配置参数“app_route”已设置为“on”,允许通过IP访问API。 允许使用IP地址调用API,无需另外配置。 配置认证参数。 API认证方式 API请求参数配置 APP认证 签名认证 使用获取的SDK对API请求进行签名,具体请参考APP认证开发。 简易认证 在ROMA API请求中添加Header参数“X-Apig-AppCode”,参数值为获取API的请求信息中获取到的AppCode。 双重认证 在API请求参数中增加自定义认证信息进行认证。 凭证认证 在API请求中添加Header参数“X-HW-ID”,获取API的请求信息中获取到凭证信息的Key。 在API请求中添加Header参数“X-HW-AppKey”,获取API的请求信息中获取到凭证信息的Secret。 app_api_key认证 ROMA API的实例配置参数“app_api_key”已设置为“on”,开启app_api_key认证。 在API请求中添加Header或Query参数“apikey”,参数值为获取API的请求信息中获取到的Key或AppKey。 app_secret认证 ROMA API的实例配置参数“app_secret”已设置为“on”,开启app_secret认证,且“app_api_key”已设置为“off”,关闭app_api_key认证。 在API请求中添加Header参数“X-HW-ID”,参数值为API所授权的Key或客户端的AppKey。 在API请求中添加Header参数“X-HW-AppKey”,参数值为获取API的请求信息中获取到的Secret或AppSecret。 app_basic认证 ROMA API的实例配置参数“app_basic”已设置为“on”,开启app_basic认证。 在API请求中添加Header参数“Authorization”,参数值为"Basic "+base64(appkey+":"+appsecret),其中appkey和appsecret分别为获取API的请求信息中获取到的Key和Secret(或AppKey和AppSecret)。 app_jwt认证 ROMA API的实例配置参数“app_jwt”已设置为“on”,开启app_jwt认证。 在API请求中添加Header参数“Timestamp”,参数值为当前时间的Unix时间戳。 在API请求中添加Header参数“Authorization”,参数值为sha256(appkey+appsecret+timestamp),其中appkey和appsecret分别为获取API的请求信息中获取到的Key和Secret(或AppKey和AppSecret),timestamp为当前时间的Unix时间戳。 华为IAM认证 Token认证 先获取云服务平台的认证Token,然后在API请求中携带Token进行认证。 AK/SK认证 调用API时,使用获取的SDK对API请求进行签名,具体请参考IAM认证开发(AK/SK)。 双重认证 在API请求参数中增加自定义认证信息进行认证。 自定义认证 在API请求参数中携带认证信息进行认证。 无认证 无需认证,可直接调用API。
  • 获取API的请求消息 在调用API前,您需要向API管理者获取API的请求信息,包括访问域名、请求协议、请求方法、请求路径以及请求参数。 根据API使用的安全认证方式,还要获取相关的请求认证信息: APP认证: 签名认证:向API管理者获取该API所授权应用的Key和Secret(或客户端的AppKey和AppSecret),以及用于调用API的SDK。 简易认证:向API管理者获取该API所在应用的AppCode。 其他认证:向API管理者获取该API所授权应用的Key和Secret(或客户端的AppKey和AppSecret)或凭证信息。 华为IAM认证:通过云服务平台的账号凭证(账号和密码 获取Token 或者AK/SK)进行认证。如果使用AK/SK进行认证,还需要向API管理者获取用于调用API的SDK。 自定义认证:向API管理者获取请求参数中要携带的自定义认证信息。 无认证:无需认证信息。
  • 交换IP须知 交换IP过程中,会自动停止在线迁移任务。 交换实例IP地址时,会有一分钟内只读和秒级的闪断。 创建的目标端实例端口需要与源实例端口保持一致。 请确保您的客户端应用具备重连机制和处理异常的能力,否则在交换IP后有可能需要重启客户端应用。 源实例和目标实例不在同一子网时,交换IP地址后,会更新实例的子网信息。 如果源端是主备实例,交换IP时不会交换备节点IP,请确保应用中没有直接引用备节点IP。 如果应用中有直接引用域名,请选择交换域名,否则域名会挂在源实例中。 请确保目标Redis和源Redis密码一致,否则交换IP后,客户端会出现密码验证错误。 当源实例配置了白名单时,则在进行IP交换前,保证目标实例也配置同样的白名单。
  • 前提条件 准备目标实例,如果已有目标Redis,不需要重复创建,但在迁移之前,您需要清空实例数据,清空操作请参考清空Redis实例数据。 如果没有清空,如果存在与源Redis实例相同的key,迁移后,会覆盖目标Redis实例原来的数据。 创建的目标Redis与源Redis和迁移任务资源所在VPC需在同一个VPC内。 如已有的目标Redis与源Redis的VPC不在同一个VPC内,需参考如下方式打通网络,确保迁移任务的虚拟机资源能访问源Redis和目标Redis: 当源Redis和目标Redis属于华为云同一Region,请参考VPC对等连接说明,查看和创建对等连接,打通网络。 当源Redis和目标Redis属于华为云不同Region,请参考云连接,查看和创建云连接,打通网络。 创建的目标实例端口需要与源实例保持一致。 进行实例交换IP满足的条件为: 进行实例IP交换依赖的是数据迁移功能,所以,源实例及目标实例必须支持数据迁移功能,详见DCS支持的迁移能力。 交换IP支持的能力如下表。 表1 交换ip能力 源端 目标端 单机/主备/读写分离 单机/主备/读写分离/proxy集群 Proxy集群 单机/主备/读写分离/proxy集群
  • 查找并禁用高消耗命令 使用了keys等消耗资源的命令,高消耗资源的命令即时间复杂度为O(N)或更高的命令,通常情况下,命令时间复杂度越高,在执行时消耗的资源越高,这会导致CPU使用率超高,容易触发主备倒换。关于各命令对应的时间复杂度信息请参见Redis官网。例如,使用了keys等消耗资源的命令,导致CPU超高,建议客户改成scan命令或者禁用keys命令。 通过性能监控功能,确认CPU使用率高的具体时间段。 通过下述方法,找出高消耗的命令。 慢查询功能会记录执行超过指定时间阈值的命令,通过分析慢查询的语句和执行时长可帮助您找出高消耗命令,具体操参见慢查询。 通过实例诊断功能,选择CPU冲高的时间点进行诊断后,可以看到报告中的对应时间段命令的执行情况以及CPU耗时百分比,具体操作参见实例诊断。 处理措施。 评估并禁用高风险命令和高消耗命令,例如FLUSHALL、KEYS、HGETALL等。 优化业务,例如避免频繁执行数据排序操作。 可选:根据业务情况,选择下述方法对实例进行调整: 调整实例为读写分离实例,对高消耗命令或应用进行分流。 扩容实例增强实例处理能力。
  • 是否存在Redis的持久化重写操作 对于主备和集群实例,华为云Redis实例默认开启AOF数据落盘,实例开启了AOF持久化功能后,华为云Redis会定期进行AofRewrite的磁盘整理,AOF磁盘持久化整理一般在以下2种场景执行: 数据量写入不大,AOF文件不大时,固定在每天的凌晨1-4点进行AOF持久化重写。所以容易出现这个时间点实例CPU使用率超高的现象。 数据量写入过大,AOF文件大小超过阈值(缓存实例容量的3-5倍)时,不论当前的所处的时间,会自动触发后台AOF持久化重写。 Redis的持久化重写操作(Bgsave或Bgrewriteaof)比较消耗CPU资源(请参考为什么使用Fork执行Bgsave和Bgrewriteaof),Bgsave和Bgrewriteaof会调用系统的Fork机制,造成CPU短暂时间冲高。 如果客户没有需要用到持久化功能,建议将该功能关闭(请根据实际业务慎重操作,关闭持久化功能会导致极端故障场景下恢复时,由于没有落盘造成的数据丢失)。关闭操作:在实例详情页面,选择“配置参数”页签,将“appendonly”修改为“no”。
  • 前提条件 准备目标实例,如果已有目标Redis,不需要重复创建,但在迁移之前,您需要清空实例数据,清空操作请参考清空Redis实例数据。 如果没有清空,如果存在与源Redis实例相同的key,迁移后,会覆盖目标Redis实例原来的数据。 创建的目标Redis与源Redis和迁移任务资源所在VPC需在同一个VPC内。 如已有的目标Redis与源Redis的VPC不在同一个VPC内,需参考如下方式打通网络,确保迁移任务的虚拟机资源能访问源Redis和目标Redis: 当源Redis和目标Redis属于华为云同一Region,请参考VPC对等连接说明,查看和创建对等连接,打通网络。 当源Redis和目标Redis属于华为云不同Region,请参考云连接,查看和创建云连接,打通网络。 创建的目标实例端口需要与源实例保持一致。 进行实例交换IP满足的条件为: 进行实例IP交换依赖的是数据迁移功能,所以,源实例及目标实例必须支持数据迁移功能,详见DCS支持的迁移能力。 交换IP支持的能力如下表。 表1 交换ip能力 源端 目标端 单机/主备/读写分离 单机/主备/读写分离/proxy集群 Proxy集群 单机/主备/读写分离/proxy集群
  • 交换IP须知 交换IP过程中,会自动停止在线迁移任务。 交换实例IP地址时,会有一分钟内只读和秒级的闪断。 创建的目标端实例端口需要与源实例端口保持一致。 请确保您的客户端应用具备重连机制和处理异常的能力,否则在交换IP后有可能需要重启客户端应用。 源实例和目标实例不在同一子网时,交换IP地址后,会更新实例的子网信息。 如果源端是主备实例,交换IP时不会交换备节点IP,请确保应用中没有直接引用备节点IP。 如果应用中有直接引用域名,请选择交换域名,否则域名会挂在源实例中。 请确保目标Redis和源Redis密码一致,否则交换IP后,客户端会出现密码验证错误。 当源实例配置了白名单时,则在进行IP交换前,保证目标实例也配置同样的白名单。
  • 主备实例的只读地址是连接到主节点还是备节点? Redis 4.0、Redis 5.0、和Redis 6.0的基础版主备实例的连接信息中,有“连接地址”和“只读地址”。其中,连接地址是连接主备实例的主节点,只读地址是连接主备实例的备节点。 详情可以参考Redis 4.0/5.0/6.0基础版主备实例架构设计。 图1 连接信息 默认情况下,客户端通过主备实例的主节点读、写数据,备节点用于同步数据。如需使用“只读地址”实现读写分离,需要在客户端增加用户读写请求判断,如果是写请求,将请求发送给读写域名,如果是读请求,将请求发送给只读域名。 父主题: 客户端和网络连接
  • 响应示例 状态码: 400 { "error_code" : "EG.00014000", "error_msg" : "Bad request" } 状态码: 401 { "error_code" : "EG.00014010", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 { "error_code" : "EG.00014030", "error_msg" : "No permissions to request this method" } 状态码: 404 { "error_code" : "EG.00014040", "error_msg" : "Not request resource found" } 状态码: 500 { "error_code" : "EG.00015000", "error_msg" : "Internal Server Error" }
共100000条