# 弹性内存存储 EMS > 高带宽、低时延的内存存储服务 ## 产品介绍 - [什么是弹性内存存储](https://support.huaweicloud.com/productdesc-ems/ems_01_0100.md): 弹性内存存储(Elastic Memory Service,EMS)是一种以DRAM内存(动态随机存取存储器)为主要存储介质的云基础设施服务,为LLM推理提供缓存和推理加速。EMS实现AI服务器的分布式内存池化管理,将LLM推理场景下多轮对话及公共前缀等历史KVCache缓存到EMS内存存储中,通过以存代算,减少了冗余计算,提升推理吞吐量 - [产品优势](https://support.huaweicloud.com/productdesc-ems/ems_01_0200.md): EMS内存存储具有以下优势:半托管融合部署,降低成本EMS数据面部署在AI服务器上,采用融合部署,统一纳管AI服务器上空闲的DRAM内存资源,复用DRAM内存资源,提供推理加速服务,降低推理KVCache存储成本。EMS数据面部署在AI服务器上,采用融合部署,统一纳管AI服务器上空闲的DRAM内存资源,复用DRAM内存资源,提供推理加速服 - [应用场景](https://support.huaweicloud.com/productdesc-ems/ems_01_0300.md): 需求和挑战随着LLM推理的飞速发展,LLM推理需求急速增加,LLM推理包含多种任务,如:多轮对话交互、信息检索和文本生成(包括代码)等。LLM推理场景的需求和主要挑战如下:保持连贯性:受限于显存容量原因,多轮交互使智能助手很容易“忘记”对话中更早的部分或重复自己说过的话。推理吞吐性能低:LLM在线推理需要满足大量消费者用户同时使用,受限于 - [EMS以存代算](https://support.huaweicloud.com/productdesc-ems/ems_01_0500.md): 在AI推理过程中,Transformer模型接收用户的问题输入,并通过迭代方式生成相应的回答。每个Transformer层由自注意力模块和前馈网络模块组成。在自注意力模块中,上下文词元(token)与模型参数结合,生成中间数据K(键)和V(值),并进行注意力计算。为避免在迭代生成过程中重复计算KV,生成的KV中间数据被存储在AI服务器的显 - [身份认证与访问控制](https://support.huaweicloud.com/productdesc-ems/ems_01_0602.md): IAM身份认证用户访问EMS服务控制台时,其本质是通过EMS服务管理面提供的REST风格的API接口进行请求。EMS服务管理面的接口支持认证请求,需要用户从华为云统一身份认证服务 IAM获取正确的鉴权信息才能访问成功。关于IAM鉴权信息的详细介绍及获取方式,请参见认证鉴权。访问控制EMS默认资源隔离,IAM账号在EMS服务控制台创建的资源 - [数据保护技术](https://support.huaweicloud.com/productdesc-ems/ems_01_0603.md): EMS通过多种数据保护手段和特性,保障EMS数据安全可靠。EMS数据保护手段数据保护手段简要说明传输加密(HTTPS)为保证数据传输的安全性,访问EMS服务控制台时支持HTTPS协议。操作认证所有EMS服务管理面的API都会进行IAM身份认证。出于分析或审计等目的,用户可以开启日志记录功能。通过将EMS日志规则配置到云日志服务 LTS,您 - [认证证书](https://support.huaweicloud.com/productdesc-ems/ems_01_0609.md): 华为云服务及平台通过了多项国内外权威机构(ISO/SOC/PCI等)的安全合规认证,用户可自行申请下载合规资质证书。合规证书下载华为云还提供以下资源来帮助用户满足合规性要求,具体请查看资源中心。资源中心华为云安全服务提供了网络安全专用产品安全检测证书、软件著作权等证书,供用户下载和参考。具体请查看合规资质证书。合规资质证书 - [约束与限制](https://support.huaweicloud.com/productdesc-ems/ems_01_0800.md): IAM认证用户默认可以直接访问EMS API,无需授予任何IAM权限。使用EMS服务前,需要给EMS服务创建2个委托,请参见创建委托。EMS提供的是内存缓存,不是持久化存储,在EMS镜像重启/升级、节点重启、发生异常导致故障等场景下会导致内存缓存丢失,需要上层业务按缓存未命中进行处理。为提高内存缓存性能,EMS内存缓存集群必须部署在同一A - [与其他服务的关系](https://support.huaweicloud.com/productdesc-ems/ems_01_0900.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [EMS基本概念](https://support.huaweicloud.com/productdesc-ems/ems_01_1001.md): KVCacheKVCache(Key-Value Cache)是用于加速大型语言模型(如Transformer模型)推理过程的技术,KVCache通过缓存Attention机制中的Key和Value矩阵(K和V),以避免在生成新token时重复计算历史序列的中间结果,减少冗余计算,从而显著提升推理效率。LLM推理LLM(Large Lan - [区域和可用区](https://support.huaweicloud.com/productdesc-ems/ems_01_1002.md): 我们用区域和可用区来描述数据中心的位置,您可以在特定的区域、可用区创建资源。区域(Region)指物理的数据中心。每个区域完全独立,这样可以实现最大程度的容错能力和稳定性。资源创建成功后不能更换区域。可用区(AZ,Availability Zone)是同一区域内,电力和网络互相隔离的物理区域,一个可用区不受其他可用区故障的影响。一个区域内 ## 用户指南 - [申请公测](https://support.huaweicloud.com/usermanual-ems/ems_03_0000.md): EMS服务目前处于公测阶段,需要先申请公测并通过审核后才可以使用。公测期间资源有限,仅限已通过实名认证的华为账号申请公测。公测申请提交后,5个工作日内审核结果将发送到您的邮箱和手机。 - [创建XMS运维委托](https://support.huaweicloud.com/usermanual-ems/ems_02_0001.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [创建XMS日志委托](https://support.huaweicloud.com/usermanual-ems/ems_02_0002.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [创建集群](https://support.huaweicloud.com/usermanual-ems/ems_03_0115.md): 弹性内存存储可用作LLM推理的缓存和加速器,当您的LLM推理任务需要更高的性能和更低的延迟时,您可以选择创建弹性内存存储集群来提升推理效率。本章节指导用户如何创建全新的弹性内存存储集群。已申请公测资格并通过审核。请确保您所希望部署的集群有足够的资源能够满足EMS集群的正常运行。请检查所需部署EMS集群的CCE集群满足部署EMS的最小资源要 - [删除集群](https://support.huaweicloud.com/usermanual-ems/ems_03_0116.md): 当您已不需要使用EMS集群,需要调用删除集群接口删除集群。已申请公测资格并通过审核。为避免影响您的CCE集群正常运行的服务,删除EMS集群时将会保留在创建集群时自动安装到CCE集群的插件。您可以根据业务需要,手动修改已安装插件配置,卸载已部署插件。可能保留的插件列表请查看安装插件描述。在删除EMS集群时,整个删除过程的时长不超过30分钟。 - [查询集群](https://support.huaweicloud.com/usermanual-ems/ems_02_0003.md): 当您需要查询集群信息时,可以通过API接口查询集群详情。已申请公测资格并通过审核。无在通过公测审核后,调用EMS API,查询EMS集群。查询EMS集群API请参考:查询集群详情 - [EMS集群扩容](https://support.huaweicloud.com/usermanual-ems/ems_02_0005.md): 在业务高峰期,您可以扩容EMS集群以提高推理性能。已申请公测资格并通过审核。无在通过公测审核后,调用EMS API,扩容EMS集群。EMS集群扩容API请参考:扩容EMS数据面集群 - [EMS集群缩容](https://support.huaweicloud.com/usermanual-ems/ems_02_0006.md): 在业务低峰期,您可以缩容EMS集群以降低服务成本。已申请公测资格并通过审核。无在通过公测审核后,调用EMS API,缩容EMS集群。EMS集群缩容API请参考:缩容EMS数据面集群 ## SDK参考 - [使用前须知](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0001.md): 本文介绍EMS SDK的版本变更,并提供版本兼容性说明,以及其他使用前须知。如表1所示,本节将为您展示EMS SDK的版本变更情况,以及当前版本是否兼容某个历史版本的说明。请确认您已阅读弹性内存存储(Elastic Memory Service,EMS)产品文档。 - [SDK接口概览](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0002.md): 表1总结了EMS Python SDK支持的接口及功能描述,每个接口的详细介绍和示例代码请前往接口详情页查看。 - [使用前准备](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0003.md): 在使用Python SDK访问华为云弹性内存服务EMS之前,您需要先完成推理/训练环境的准备。环境准备需要提前在本地完成环境搭建,比如下载安装依赖软件,安装开发工具等,以便您能顺利完成推理/训练环境准备,以及SDK的安装、基于SDK的代码开发与运行。在推理/训练容器内执行命令npu-smio info查看NPU卡信息,确保成功挂载NPU加 - [下载与安装SDK](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0004.md): 本节提供Python SDK的下载链接,并介绍SDK的安装方式。EMS Python SDK安装包:请联系技术人员获取。 - [快速入门](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0005.md): 本示例用于初始化EMS客户端配置并启动EMS服务。更多关于EMS客户端初始化的内容请参考初始化章节。本示例通过初始化并获取Context Caching配置,保存和加载显存数据。初始化Ems,并向context cache注册一个KVCache结构。import os, torch, torch_npu from ems import - [EMS存储初始化](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0007.md): Ems是访问EMS服务的Python客户端,它为调用者提供一系列与EMS服务进行交互的接口,提供EMS内存池健康检查等能力,以及ContextCaching等存储功能。如果初始化参数校验失败或者因与EMS内存池连接失败,可以参考异常处理捕获异常,避免阻塞推理服务启动;同时根据异常信息,初步分析原因并联系EMS工程师。初始化Ems,示例为支 - [环境变量](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0008.md): EMS SDK提供了以下环境变量。 - [获取Context Caching对象](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0010.md): 获取Ems初始化的Context Caching对象,在访问Context Caching的相关接口前使用。无。以下为获取ContextCaching对象示例,用于后续执行该对象内部的方法。 - [健康检查](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0011.md): 健康检查接口主要用于探测EMS存储服务状态是否工作正常,可以用于服务熔断后恢复场景。无。当调用SDK接口访问EMS服务时返回失败,业务可能会熔断EMS服务,可以使用定时检查EMS服务状态来实现自动恢复。 - [注册KVCache](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0013.md): 将推理过程中使用的KVCache内存布局一次性注册到EMS上下文缓存(Context Caching)中,用于后续save/load/async_save/async_load接口按块(block)进行定位与管理。注册仅建立元数据与地址映射,不执行实际读写。仅V1版本需要注册KVCache接口为同步调用,完成初始化后返回。KVCache期 - [同步保存KVCache](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0014.md): 将推理计算过程中加速卡产生的多个 KVCache 数据块,批量同步保存到 EMS 缓存池,并在保存完成后返回结果表8。同步接口:接口会休眠阻塞。加速卡限制:仅支持华为昇腾加速卡显存拷贝。异常处理:若部分键值保存失败,接口不会直接返回失败,后续读取时将无法命中对应键值。V1语义约束:需遵循以下两种语义之一,二选一:slot_mapping - [异步保存KVCache](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0015.md): 将推理计算过程中产生的多个 KVCache 数据块,批量异步保存到 EMS 缓存池。方法调用在提交后会立即返回一个表8句柄,用户可通过该句柄在后续获取保存结果。加速卡限制:仅支持华为昇腾加速卡显存拷贝。异常处理:若部分键值保存失败,接口不会直接返回失败,后续读取时将无法命中对应键值。V1语义约束:需遵循以下两种语义之一,二选一:slot_ - [同步加载KVCache](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0016.md): 将推理请求需要的多个KVCache数据块,批量同步加载到EMS缓存中,并在保存完成后返回结果表8。同步接口:接口会休眠阻塞。加速卡限制:仅支持华为昇腾加速卡显存拷贝。异常处理:若部分键值保存失败,接口不会直接返回失败,后续读取时将无法命中对应键值。V1语义约束:需遵循以下两种语义之一,二选一:slot_mapping 语义(使用 hash - [异步加载KVCache](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0017.md): 将推理请求需要的多个KVCache数据块,批量异步加载到EMS缓存中。方法调用在提交后会立即返回一个表8句柄,用户可通过该句柄在后续获取保存结果。加速卡限制:仅支持华为昇腾加速卡显存拷贝。异常处理:若部分键值保存失败,接口不会直接返回失败,后续读取时将无法命中对应键值。V1语义约束:需遵循以下两种语义之一,二选一:slot_mapping - [检查异步IO状态](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0018.md): 用于检测async_save、async_load等接口返回的异步Future对象是否已完成计算。调用is_ready不会阻塞,适合在轮询或超时控制场景下使用。接口为非阻塞调用。输入必须是CcFuture类型对象,由async_save/async_load返回。仅判断完成状态,不返回计算结果。本示例用于多次下发异步加载KVCache的请 - [获取异步IO结果](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0019.md): 用于获取async_save、async_load等接口返回的异步Future对象的结果。调用get_result将阻塞,直到异步计算完成,并返回以token为单位的结果对象。接口会休眠阻塞,直到异步结果可用。输入必须是CcFuture类型对象,由 async_save/async_load返回。本示例用于异步保存KVCache的请求,并 - [同步查询KvCache](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0027.md): 用于查询 EMS 缓存池中是否存在已保存的 KVCache 数据块,查询结果将以表 CcResult形式返回。同步接口:接口会休眠阻塞。加速卡限制:仅支持华为昇腾加速卡显存查询。异常处理:若 KVCache 数据块查询超时或失败,接口返回0命中,框架将重新进行计算。下面为从EMS中同步查询KVCache,同时对异常进行容错处理。# 设置请 - [获取错误码](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0021.md): 调用EMS接口时,需要对EmsExcepiton异常进行捕获,并根据异常中不同错误码进行不同策略处理。EMS捕获到接口异常,可以通过接口获取异常状态码。常见的状态码及其含义:本示例用于获取异常错误码为超时,进行重试 。 - [获取详细信息](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0022.md): EMS捕获到接口执行异常,可以通过接口获取异常详细信息。本示例用于获取异常详细描述信息 。 - [EMS初始化失败如何定位?](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0024.md): 在推理框架的日志中搜索"EMS init failed"关键字,如果对应的时间为出问题的时间点,则收集该日志,联系EMS工程师定位。 - [ContextCaching接口超时时间如何设置?](https://support.huaweicloud.com/sdk-python-devg-ems/obs_22_0025.md): Context Caching的读写相关接口执行时间,跟请求并发数、每个请求的键值对数量有关系,当前单个请求超时时间默认5秒,用户可以根据SLO(Service Level Objective,服务级别目标,例如吞吐、首token时延等)、请求batch数和KVCache数据量,合理设置超时时间。例如:长序列场景要求的首token时延是5 ## 常见问题 - [什么是KVCache](https://support.huaweicloud.com/ems_faq/ems_02_0101.md): KVCache(Key-Value Cache)是用于加速大型语言模型(如Transformer模型)推理过程的技术,KVCache通过缓存Attention机制中的Key和Value矩阵(K和V),以避免在生成新Token时重复计算历史序列的中间结果,减少冗余计算,从而显著提升了推理效率。 - [什么是KVCache](https://support.huaweicloud.com/ems_faq/ems_02_0101.md): KVCache(Key-Value Cache)是用于加速大型语言模型(如Transformer模型)推理过程的技术,KVCache通过缓存Attention机制中的Key和Value矩阵(K和V),以避免在生成新Token时重复计算历史序列的中间结果,减少冗余计算,从而显著提升了推理效率。 - [为什么需要激活凭证](https://support.huaweicloud.com/ems_faq/ems_02_0201.md): EMS采用半托管融合部署,EMS数据面部署在用户AI节点上,用户需要使用激活凭证激活EMS后才能开始使用。EMS激活时,EMS数据面会和EMS管理面通信,通过EMS管理面校验并完成用户关联后,用户才能使用EMS。 - [为什么需要激活凭证](https://support.huaweicloud.com/ems_faq/ems_02_0201.md): EMS采用半托管融合部署,EMS数据面部署在用户AI节点上,用户需要使用激活凭证激活EMS后才能开始使用。EMS激活时,EMS数据面会和EMS管理面通信,通过EMS管理面校验并完成用户关联后,用户才能使用EMS。 - [EMS内存池需要占用AI节点多少DRAM内存](https://support.huaweicloud.com/ems_faq/ems_02_0301.md): EMS数据面镜像部署在用户的CCE容器集群上,EMS镜像运行需要占用AI节点的vCPU、内存等资源,同时EMS用于保存推理KVCache需要额外占用AI节点的内存资源。AI推理场景受限于显存瓶颈,DRAM内存富余较多,建议分配一半DRAM内存给EMS的KVCache内存池,EMS内存池空间越大,有利于提高KVCache缓存命中率,提升推理 - [在执行主机配置脚本的过程中,无返回信息怎么办](https://support.huaweicloud.com/ems_faq/ems_02_0302.md): 在执行主机配置脚本的过程中,当屏幕上显示如下信息时,可能会出现脚本一直无法结束的现象:Modifying the kernel parameters.. If the process takes too long, restart the host to apply the changes.这通常是因为脚本在最后阶段会调整大页内核参数,将 - [EMS内存池需要占用AI节点多少DRAM内存](https://support.huaweicloud.com/ems_faq/ems_02_0301.md): EMS数据面镜像部署在用户的CCE容器集群上,EMS镜像运行需要占用AI节点的vCPU、内存等资源,同时EMS用于保存推理KVCache需要额外占用AI节点的内存资源。AI推理场景受限于显存瓶颈,DRAM内存富余较多,建议分配一半DRAM内存给EMS的KVCache内存池,EMS内存池空间越大,有利于提高KVCache缓存命中率,提升推理 - [在执行主机配置脚本的过程中,无返回信息怎么办](https://support.huaweicloud.com/ems_faq/ems_02_0302.md): 在执行主机配置脚本的过程中,当屏幕上显示如下信息时,可能会出现脚本一直无法结束的现象:Modifying the kernel parameters.. If the process takes too long, restart the host to apply the changes.这通常是因为脚本在最后阶段会调整大页内核参数,将 - [EMS集群使用的安全组配置说明](https://support.huaweicloud.com/ems_faq/ems_02_0008.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [配置CoreDNS插件](https://support.huaweicloud.com/ems_faq/ems_02_0010.md): DNS是K8s中至关重要的基础服务之一,当容器DNS策略配置不合理,集群规模较大时,DNS容易出现解析超时、解析失败等现象,极端场景下甚至会引起集群内业务大面积解析失败。CoreDNS为Kubernetes集群提供DNS域名解析服务,在CCE集群创建时会默认安装,但需要根据集群规模进行CoreDNS的规格配置。CoreDNS配置指导请见: - [配置LocalDNS插件](https://support.huaweicloud.com/ems_faq/ems_02_0011.md): 随着集群规模增大,CoreDNS压力会增大,此场景下CoreDNS无法处理集群中的部分域名解析请求,导致该部分域名解析超时,影响集群的功能或者导致集群故障。LocalDNS通过在集群节点上作为守护程序集运行DNS缓存代理,提高集群DNS性能。LocalDNS配置指导请见:LocalDNS配置指导。 - [EMS集群使用的安全组配置说明](https://support.huaweicloud.com/ems_faq/ems_02_0008.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [配置CoreDNS插件](https://support.huaweicloud.com/ems_faq/ems_02_0010.md): DNS是K8s中至关重要的基础服务之一,当容器DNS策略配置不合理,集群规模较大时,DNS容易出现解析超时、解析失败等现象,极端场景下甚至会引起集群内业务大面积解析失败。CoreDNS为Kubernetes集群提供DNS域名解析服务,在CCE集群创建时会默认安装,但需要根据集群规模进行CoreDNS的规格配置。CoreDNS配置指导请见: - [配置LocalDNS插件](https://support.huaweicloud.com/ems_faq/ems_02_0011.md): 随着集群规模增大,CoreDNS压力会增大,此场景下CoreDNS无法处理集群中的部分域名解析请求,导致该部分域名解析超时,影响集群的功能或者导致集群故障。LocalDNS通过在集群节点上作为守护程序集运行DNS缓存代理,提高集群DNS性能。LocalDNS配置指导请见:LocalDNS配置指导。 ## API参考 - [使用前必读](https://support.huaweicloud.com/api-ems/ems_04_0001.md): 欢迎使用弹性内存存储(Elastic Memory Service,EMS)。弹性内存存储是一种以DRAM内存(动态随机存取存储器)为主要存储介质的云基础设施服务,为LLM推理提供缓存和推理加速。EMS实现AI服务器的分布式内存池化管理,将LLM推理场景下多轮对话及公共前缀等历史KVCache缓存到EMS内存存储中,通过以存代算,减少了冗 - [API概览](https://support.huaweicloud.com/api-ems/ems_04_0002.md): 弹性内存存储提供自研的REST接口。弹性内存存储提供的具体API如表1所示: - [构造请求](https://support.huaweicloud.com/api-ems/ems_04_0004.md): 本章节介绍REST API请求的组成,并以调用IAM服务的管理员创建IAM用户接口说明如何调用API。请求URI由如下部分组成。{URI-scheme} :// {Endpoint} / {resource-path} ? {query-string}尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以 - [认证鉴权](https://support.huaweicloud.com/api-ems/ems_04_0005.md): 调用接口有如下两种认证方式,您可以选择其中一种进行认证鉴权。AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。Token认证:通过Token认证调用请求。AK/SK签名认证方式仅支持消息体大小12MB以内,12MB以上的请求请使用Token认证。AK/SK既可以使用永久访问密钥 - [返回结果](https://support.huaweicloud.com/api-ems/ems_04_0006.md): 请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。对于管理员创建IAM用户接口,如果调用后返回状态码为“201”,则表示请求成功。对应请求消息头,响应同样也有消息头,如“Content-type”。对于管理员创建IAM用户接口,返回 - [获取EMS版本列表 - ListReleases](https://support.huaweicloud.com/api-ems/ems_04_0101.md): 获取EMS版本列表。GET /v1/releases无状态码:200状态码:400查询EMS版本列表,每页返回10个记录,从第2条记录(offset=1)开始返回结果。状态码:200参数解释获取EMS版本列表成功返回响应体。取值范围不涉及。状态码:400参数解释错误响应体。取值范围不涉及。请参见错误码。 - [获取项目版本特性列表 - ListFeatures](https://support.huaweicloud.com/api-ems/ems_04_0102.md): 获取EMS特性列表。GET /v1/features无状态码:200状态码:400查询项目版本特性列表,每页返回10个记录,从第2条记录(offset=1)开始返回结果。状态码:200参数解释获取项目版本特性列表成功返回响应体。取值范围不涉及。状态码:400参数解释错误响应体。取值范围不涉及。请参见错误码。 - [查询集群标签列表 - ListClustersLabels](https://support.huaweicloud.com/api-ems/ems_04_0104.md): 查询指定K8s集群的所有标签信息。GET /v1/clusters/labels无状态码:200状态码:400查询集群标签列表,每页返回10个记录,从第2条记录(offset=1)开始返回结果,cce集群ID为“7835613c-1b94-11f1-855e-0255ac1001bd”。状态码:200参数解释成功返回集群标签列表。取值范围 - [创建集群 - CreateCluster](https://support.huaweicloud.com/api-ems/ems_04_0106.md): 创建集群接口用于创建一个新的集群实例。POST /v1/clusters状态码:202状态码:400创建一个名称为“ems-test”的集群。集群使用的cce集群ID为“2036b058-03c0-11f0-b46a-0255ac1001b2”,标签为ems=true,开启lts日志,关闭monitor插件安装。状态码:202参数解释创建 - [查询集群列表 - ListClusters](https://support.huaweicloud.com/api-ems/ems_04_0107.md): 查询集群列表接口。GET /v1/clusters无状态码:200状态码:400获取当前租户集群列表。每页返回10个记录,从第2条(offset+1)条记录开始。状态码:200参数解释查询集群列表成功返回响应体。取值范围不涉及。状态码:400参数解释错误响应体。取值范围不涉及。请参见错误码。 - [查询集群详情 - ShowCluster](https://support.huaweicloud.com/api-ems/ems_04_0108.md): 查询集群详情接口。GET /v1/clusters/{cluster_id}无状态码:200状态码:400查询ID为“4f4b3dfa-eb70-47cf-a60a-998a53bd598a”的集群详情。状态码:200参数解释查询集群详情成功返回响应体。取值范围不涉及。状态码:400参数解释错误响应体。取值范围不涉及。请参见错误码。 - [指定id删除集群实例 - DeleteClusterById](https://support.huaweicloud.com/api-ems/ems_04_0109.md): 指定id删除集群实例。DELETE /v1/clusters/{cluster_id}无状态码:202状态码:400删除ID为“620ac47b-718a-405a-8534-295582e8dc02”的集群,并释放相关ems资源状态码:202参数解释指定id删除集群实例成功返回响应体。取值范围不涉及。状态码:400参数解释错误响应体。取 - [设置集群细粒度权限 - AuthorizeCluster](https://support.huaweicloud.com/api-ems/ems_04_0110.md): 设置集群细粒度权限。POST /v1/clusters/{cluster_id}/authorization无状态码:204参数解释取值范围不涉及。不涉及。状态码:400为id为“620ac47b-718a-405a-8534-295582e8dc02”的集群,设置集群细粒度权限状态码:400参数解释错误响应体。取值范围不涉及。请参见错误 - [纳管手动发放的集群 - EnrollCluster](https://support.huaweicloud.com/api-ems/ems_04_0111.md): 纳管手动发放的集群。该接口只适用于25.12.0版本之前的集群进行调用,25.12.0版本及之后版本的集群,无需调用该接口。POST /v1/clusters/enroll状态码:202状态码:400纳管ID为“b2209a2c-d6dd-47ee-817e-f89c63da7759”的集群。状态码:202参数解释纳管手动发放的集群成功返 - [扩容EMS数据面集群 - ExpandCluster](https://support.huaweicloud.com/api-ems/ems_04_0112.md): 扩容EMS数据面集群。支持EMS数据面集群粒度的并发扩缩容,任务进入队列等待调度执行,返回ems-custom-{uuid}格式的jobId。POST /v1/clusters/{cluster_id}/expand状态码:202状态码:400扩容ID为“620ac47b-718a-405a-8534-295582e8dc02”的集群,新 - [缩容EMS数据面集群 - ShrinkCluster](https://support.huaweicloud.com/api-ems/ems_04_0113.md): 缩容EMS数据面集群。支持EMS数据面集群粒度的并发扩缩容,任务进入队列等待调度执行,返回ems-custom-{uuid}格式的jobId。POST /v1/clusters/{cluster_id}/shrink状态码:202状态码:400缩容ID为“620ac47b-718a-405a-8534-295582e8dc02”的集群,缩 - [查询任务列表 - ListJobs](https://support.huaweicloud.com/api-ems/ems_04_0115.md): 查询任务列表。GET /v1/jobs无状态码:200状态码:400查询任务列表,任务类型为short,每页返回10个记录,从第2条记录(offset=1)开始返回结果。状态码:200参数解释查询成功响应。取值范围不涉及。状态码:400参数解释错误响应体。取值范围不涉及。请参见错误码。 - [查询单个任务详情 - ShowJob](https://support.huaweicloud.com/api-ems/ems_04_0116.md): 查询单个任务详情。GET /v1/jobs/{job_id}无状态码:200状态码:400查询ID为“short-d0f6d0c2-21fe-4588-975c-ab47fcb82239”的任务。状态码:200参数解释查询单个任务详情成功返回响应体。取值范围不涉及。状态码:400参数解释错误响应体。取值范围不涉及。请参见错误码。 - [取消任务 - CancelJobs](https://support.huaweicloud.com/api-ems/ems_04_0117.md): 取消任务,当前只支持扩缩集群的任务取消。POST /v1/jobs/cancel状态码:200状态码:400状态码:403取消任务,取消的id列表有“long-123123123”。状态码:200参数解释取消任务成功返回响应体。取值范围不涉及。状态码:400参数解释错误响应体。取值范围不涉及。状态码:403参数解释错误响应体。取值范围不涉 - [权限及授权项说明](https://support.huaweicloud.com/api-ems/ems_04_0027.md): 如果您需要对您所拥有的弹性内存存储(Elastic Memory Service,EMS)进行精细的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使用EMS服务的其它功能。默认情况下, - [策略授权参考](https://support.huaweicloud.com/api-ems/ems_04_0028.md): 本章节介绍EMS策略授权场景下支持的策略授权项。策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下:权限:允许或拒绝某项操作。对应API接口:自定义策略实际调用的API接口。授权项:自定义策略中支持的Acti - [状态码](https://support.huaweicloud.com/api-ems/ems_04_0030.md): 状态码如表1所示 - [错误码](https://support.huaweicloud.com/api-ems/ems_04_0031.md): 调用接口出错后,将不会返回结果数据。调用方可根据每个接口对应的错误码来定位错误原因。 当调用出错时,HTTP 请求返回一个 4xx 或 5xx 的 HTTP 状态码。返回的消息体中是具体的错误代码及错误信息。在调用方找不到错误原因时,可以联系华为云客服,并提供错误码,以便我们尽快帮您解决问题。当接口调用出错时,会返回错误码及错误信息说明, - [获取项目ID](https://support.huaweicloud.com/api-ems/ems_04_0032.md): 项目ID还可通过调用查询指定条件下的项目列表API获取。获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。响应示例如下,其中projects下的“id”即为项目ID。在调用接口的时候,部分URL中 - [获取账号ID](https://support.huaweicloud.com/api-ems/ems_04_0033.md): 在调用接口的时候,部分URL中需要填入账号ID,所以需要先在管理控制台上获取到账号ID。账号ID获取步骤如下:登录EMS管理控制台。鼠标移动到右上角的用户名处,在下拉列表中单击“我的凭证”。在“API凭证”页面中查看账号ID。获取账号ID