• 华为云sdk调用知识1-华为云的帐户介绍
    本帖最后由 潇湘夜雨 于 2017-12-14 16:09 编辑使用华为云,您会不会遇到帐户方面的困惑,特别是使用sdk时,domain_name、user_name、user_password 分不清》《,下面就给您一一道来 1、帐户:当您进入注册页面进行注册后,填的用户名密码,其实就是domain_name,domain_password;是一个华为云帐户 6705 2、帐户下的子用户:通过华为云帐户创建它的用户a)进入“统一身份认证服务”,这个服务负责帐户管理 6706 b) 创建子用户sub_user,以及设置它的密码sub_password 6707 6708 至此,我们已经创建了一个帐户domain_name、domain_password,以及它的一个子用户sub_user、sub_password 现在我们开始通过sdk使用云服务,必须指定一个帐户,可以是帐户,也可以是帐户的子用户;调用sdk 1、当使用帐户时,domain_name、user_name、user_password分别指的是domain_name、domain_name、domain_password 2、当使用帐户的子用户时,domain_name、user_name、user_password分别指的是domain_name、sub_user、sub_password 如果对你有帮助,记得点赞哦 华为云sdk调用知识2-domain_id/user_id以及project_id 如果您有消息推送的需求,包括短信、邮件、http、https、集成DMS、FunctionStage、FunctionGraph;请移步华为云消息通知服务,更多精彩帖子为你解惑。
  • 华为云sdk调用知识3-使用消息通知服务发送短信
    本帖最后由 潇湘夜雨 于 2017-12-14 16:15 编辑华为云消息通知服务(Simple Message Notification),简称SMN, 提供一键式发送短信能力,移动、联通、电信三网无缝覆盖,精确快速到达。使用条件:暂时开放给通过企业认证的帐户使用,企业认证方式必须是证件认证。 通过如下步骤即可使用 1、注册华为云帐户,记下您的帐户名/用户名/密码。 不了解帐户名/用户名/密码?没关系,请先看看科普帖 华为云sdk调用知识1-华为云的帐户介绍 2、通过证件方式进行企业认证。 3、企业认证通过后,登陆Console,点击“消息通知服务”进入服务页面,创建短信签名。创建完后,签名需要进行人工审批,一般需要2~3工作日;审批通过之后,就可以使用短信签名来发送短信了。 6715 4、获取短信签名的ID,即sign_id,以及签名所属的区域,例如华北区cn-north-1。 不知道什么是区域?没关系,请先看看科普帖 华为云sdk调用知识2-domain_id/user_id以及project_id 有了帐户名/用户名/密码,短信签名sign_id,以及签名所属的区域,就可以直接使用SDK发短信啦! 华为云消息通知服务SDK目前支持Java/php/go/python/.net,后续会支持更多的语言,敬请期待。 每个语言的SDK,都有example,直接在example中配置帐户名/用户名/密码,短信签名sign_id,以及签名所属的区域;就可以发送短信啦,当然如果用户也可以编写代码调用SDK实现更加灵活的控制。 SDK Github地址,戳这里(Click Here)
  • 华为云sdk调用知识2-domain_id/user_id以及project_id
    本帖最后由 潇湘夜雨 于 2017-12-14 00:09 编辑华为云sdk调用知识1-华为云的帐户介绍 在华为云sdk调用知识1-华为云的帐户介绍,我们已经知道华为云帐户和账号的子用户的概念 事实上,帐户也是一个用户,只不过它是拥有最高权限的用户,它可以创建子用户,子用户的权限小于帐户的权限。 Domain ID 如果把帐户看成是一个企业,那么它的子用户类似于企业的员工。帐户ID就是类似于企业ID,只要这个企业不变,帐户ID就不变。这就是Domain ID。 User ID 企业下有很多员工,每个员工相当于一个子用户,标识员工的ID就是User ID。 特别注意,帐户也是一个特殊用户,因此它也有自己的User ID。 查看Domain ID方法,在控制台进入“统一身份认证服务”,然后把地址栏的#/iam/users 替换成#/myCredential ,按回车键即可进入“我的凭证”页面,可以看到Domain ID. 6712 6714 [hr] 上面是从资源使用者的角度看,有Domain ID与User ID概念。 接下来,以资源提供的角度看 大家都知道,公有云是就是提供云资源;让用户像用水用电一样快捷的使用计算服务。那么,它这个资源的物理承载最终是由数据中心来提供的。基于服务便捷/容灾等方面的考虑,公有云的数据中心是分布在不同的区域。比如华为云的华北区/华南区/华东区,这些数据中心分别是在北京/广州/上海。于是就有project概念,project可以看作是一个区域的数据中心资源,project_id就是数据中心资源ID 也就是说,资源提供是分地域的。当资源使用者,即用户,在使用资源时,一般需要指定用哪个区域的资源,即指定project_id。 华为云目前有华北区/华南区/华东区/东北区, 6709 对应的project_id 6713
  • 华为云sdk调用知识1-华为云的帐户介绍
    本帖最后由 潇湘夜雨 于 2017-12-14 00:07 编辑使用华为云,您会不会遇到帐户方面的困惑,特别是使用sdk时,domain_name、user_name、user_password 分不清》《,下面就给您一一道来 1、帐户:当您进入注册页面进行注册后,填的用户名密码,其实就是domain_name,domain_password;是一个华为云帐户 6705 2、帐户下的子用户:通过华为云帐户创建它的用户a)进入“统一身份认证服务”,这个服务负责帐户管理 6706 b) 创建子用户sub_user,以及设置它的密码sub_password 6707 6708 至此,我们已经创建了一个帐户domain_name、domain_password,以及它的一个子用户sub_user、sub_password 现在我们开始通过sdk使用云服务,必须指定一个帐户,可以是帐户,也可以是帐户的子用户;调用sdk 1、当使用帐户时,domain_name、user_name、user_password分别指的是domain_name、domain_name、domain_password 2、当使用帐户的子用户时,domain_name、user_name、user_password分别指的是domain_name、sub_user、sub_password 如果对你有帮助,记得点赞哦 华为云sdk调用知识2-domain_id/user_id以及project_id
  • 【活动结束】0元使用热门产品,输出API SDK体验报告,赢mate10!
    本帖最后由 开发者 于 2018-3-16 09:29 编辑不少开发者反馈在使用华为云SDK/API时遇到了各种各样的坑: 小明觉得文档不够细化,很难读懂; 老王觉得SDK每个接口可调用次数不明确; 小强认为SDK/API没有统一规范;...... 做为开发者,你在使用华为云SDK/API时,都遇到了哪些糟心的问题? 你觉得华为云SDK/API目前存在的最大问题是什么?有哪些需要重点提升的地方? 说出你的问题或建议就有机会挑战最具价值体验官,更有mate10等你来领! -----------------------------------------我是活动详情分割线----------------------------------------- 活 动 主 题 华为云API SDK上线挑战最具价值体验官 mate10等你领! 活动时间: 调用API/SDK并输出体验报告:2017年12月15日—2018年3月11日 体验报告评审:2018年3月12-14日 活动结果公布:2018年3月15日 华为云API SDK介绍: 您可以基于华为云SDK通过编写代码的方式调用华为云API,或通过发起HTTP/HTTPS请求调用华为云API的方式来使用云产品,实现对应用、资源和数据更灵活的部署、更快速的操作、更精准的使用、更及时的监控。 活动参与方式: 1、注册登录,点击领取代金券礼包,轻松上云; 2、调用已购买产品或礼包产品的API/SDK; 3、在该贴下按模板输出体验报告(问题描述+使用界面截图); 4、体验报告评审:筛选有效体验报告后由产品专家对报告进行综合评分。 5、活动结果公布:公布活动最终结果,获奖用户奖品寄送。 体验报告输出规则: 1、文字、图片必须本人原创;逻辑清晰、图文并茂容易获得专家加分; 2、内容包含但不限于产品使用感受(如使用中存在bug,接口定义不够准确、规范不够清晰、文档不够细化、很难读懂、交互性和体验性不够好,以及使用华为云API/SDK存在的问题,有哪些需要重点提升的方面等各种建议。) 3、报告格式: a.注明购买的产品和调用的API或使用的SDK; b.反馈跟API/SDK相关的使用问题(问题描述+截图)或改进建议; c.如有重复反馈,以最先回帖的用户为准。 奖项评选方式: 1、产品团队从问题或BUG的级别、用户建议的价值等方面进行综合评分。最具价值体验官须反馈提议3条以上有效体验报告; 2、各类奖项不能叠加,每个用户只能获得一个奖项,如遇同一用户获得两个奖项,则以所获最高奖项为准,其奖品顺延至下一用户,如活动体验报告未达到30份,奖项另外酌情处理。 3、为达到活动公平公正公开,避免恶意刷楼等行为,回复无意义内容(纯数字、标点、表情或词不达意等)、谩骂、造谣等,均视为无效。 4、活动参与需遵守《华为云社区常规活动规则》,戳>>>这里 活动奖品展示: 最具价值体验官(1名):华为mate 10(4GB+64GB) 6741 优质建议奖(5名):华为VR 6752 特别参与奖(20名):荣耀引擎耳机二代 6753 体验报告参考模板(两种方式可任选): 1、#API SDK体验报告#使用的产品名称+是否好用+有没有需要优化的地方 如:XX产品可调用的SDK支持语言太少,建议增加XX语言。 2、#API SDK体验报告# 产品名称+ 使用环节 + 问题描述 + 优化建议 + 界面截图 如:在调用XX产品API时,在XX环节发现XX问题,建议做XX优化。 6883 10361(点击图片即可参与活动) 了解更多活动详情,领产品代金券,请戳链接: http://activity.huaweicloud.com/ ... 9N-sso&locale=zh-cn 参考: 密钥管理服务API调用的简单实现(附完整代码) http://forum.huaweicloud.com/for ... =5408&highlight=API 华为云sdk调用知识1-华为云的帐户介绍: http://forum.huaweicloud.com/thread-5371-1-1.html 华为云sdk调用知识2-domain_id/user_id以及project_id: http://forum.huaweicloud.com/thread-5372-1-1.html 【干货】【详情】用华为云账号通过smn-sdk-java简单发送SMN短息: http://forum.huaweicloud.com/thread-5187-1-2.html 华为云ECS服务API使用指南(1) - 获取虚拟机列表: http://forum.huaweicloud.com/thread-397-1-1.html 华为云ECS服务API使用指南(2) - 根据浮动ip过滤查询虚拟机列表: http://forum.huaweicloud.com/thread-623-1-1.html 华为云ECS服务API使用指南(3) - 使用python cli获取keystone认证: http://forum.huaweicloud.com/thread-858-1-1.html 本活动由开发者中心与华为云社区共同策划,有任何活动问题,请联系工作人员咨询。 本活动参加华为云社区嘉年华活动盛典,详情请戳: http://activity.huaweicloud.com/carnival/index.html?icn_source=%E5%88%86%E4%BC%9A%E5%9C%BA&icn_campaign=JNH2018
  • 华为云的SDK太难找啦
    1、华为云真正的SDK位置是:http://developer.huaweicloud.com/dev/sdk#Java 2、但从百度搜索进入的SDK页面是:http://developer.huaweicloud.com/ecology-tool-center.html 3、还有一个貌似是SDK的页面:http://developer.huaweicloud.com/sdk/java.html 我真正找的是1,但从百度,从官网入口,往往是导到2或3;每个页面说是SDK,但又不一样,实在是令人混淆。
  • [技术干货] 使用华为对象存储是使用sdk好还是自己直接封装http请求?
    使用华为对象存储是使用sdk好还是自己直接封装http请求?
  • java版sdk验证
    一、测试环境1、环境变量配置a.从Java官网站下载和安装JDK软件: b. 配置JAVA_HOME、Path和Classpath环境变量。 2. 安装Intellij Idea3.下载SDK源码 https://github.com/huawei/openstack4j下载JAR包:SDK库包 https://github.com/Huawei/public_cloud/tree/master/OpenStack4j/huawei-openstack4j-3.0.5.1.jartestng包 4.导入sample工程 a.File->open b.导入两jar包,File->ProjectStructure5.修改endpoint等参数,在AbstractSample.java6.然后就可以看case,学着case调接口拉
  • 【干货分享】华为云API介绍(二)华为云python SDK 使用指导
    本帖最后由 Mercy 于 2017-11-27 10:33 编辑前提条件 1. 已经获取相关API文档。 登录以下网站获取API相关文档: http://developer.huaweicloud.com/index.html 通过这些文档,可以学习云平台所支持的API参数。 2. 已获取Python OpenStack SDK的官方文档。 登录以下网站获取Python OpenStack SDK 的官方文档: https://developer.openstack.org/ ... dk/users/index.html 了解如何使用Python OpenStack SDK对用户而言非常重要。 3. 已经申请到云平台账号,并开通所需的服务。 Project/Domain参数获取方法见: http://forum.huaweicloud.com/forum.php?mod=viewthread&tid=1813 endpoint/AZ信息见: http://developer.huaweicloud.com/endpoint.html 4. python-openstacksdk 适用于 Python 2.7.x 和 3.5.x 系列版本。 5. 欲了解Python SDK项目的源代码,请访问如下地址。 https://github.com/huawei/python-openstacksdk SDK获取与安装(使用git) 请从GitHub 上下载源代码进行安装。(以下为Linux示例,Windows可以使用pycharm)cd your-workspace-folder git clone https://github.com/Huawei/python ... python-openstacksdk cd huawei-python-openstacksdk # install master git checkout master pip install -r requirements.txt python setup.py install 脚本示例:(脚本示例放在examples文件夹下,见帖子最下方截图) 脚本示例中包含如下内容: 1、创建虚拟机(带安全组、带反亲和性组),将虚拟机加入到ELB后端,从ELB上移除虚拟机,查询ELB后端,删除虚拟机、 2、启动、停止、查询虚拟机 3、创建空卷,创建快照,从快照创建卷,挂载卷到虚拟机,从虚拟机卸载卷,删除卷,删除快照 4、申请弹性IP并绑定给虚拟机,查询弹性IP,删除弹性IP #encoding:utf-8 # Copyright 2017 HuaWei Tld # Copyright 2017 OpenStack.org # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. #encoding:utf-8 import sys reload(sys) sys.setdefaultencoding(´utf8´) import os import random import time from openstack import connection from openstack import exceptions # those services´s endpoint will be auto detected from V3 auth token # # Nova -> ECS # Cinder -> EVS # Neutron -> VPC # Keystone -> IAM # Glance -> IMS # Heat -> RTS # # so, we do not need to setup the endpoint override for them. # setup endpoint override for cloud services os.environ.setdefault( ´OS_CLOUD_EYE_ENDPOINT_OVERRIDE´, ´https://ces.cn-north-1.myhwclouds.com/V1.0/%(project_id)s´ ) os.environ.setdefault( ´OS_VOLUME_BACKUP_ENDPOINT_OVERRIDE´, ´https://vbs.cn-north-1.myhwclouds.com/v2/%(project_id)s´ ) os.environ.setdefault( ´OS_LOAD_BALANCER_ENDPOINT_OVERRIDE´, ´https://elb.cn-north-1.myhwclouds.com/v1.0/%(project_id)s´ ) # create connection with authenticationes username = "XXXXXXXX" password = "XXXXXXXX" projectId = "XXXXXXXX" userDomainId = "XXXXXXXX" auth_url = "https://iam.cn-north-1.myhwclouds.com/v3" conn = connection.Connection(auth_url=auth_url, user_domain_id=userDomainId, project_id=projectId, username=username, password=password) # parameteres for ECS,VPC RANDOM = random.randint(1000, 9999) # 使用随机数以确保查询结果的唯一性 SERVER_NAME = "test-pythonsdk-" + str(RANDOM) IMAGE_NAME = "test-image-" + str(RANDOM) flavor = "s2.small.1" availability_zone = "cn-north-1a" image_id = "c4b5bef2-5cd4-4d26-824c-456ba4515315" network_id = "eafa3880-32f9-4586-9545-1bf5bf9a1842" server_group_id = "70542220-2e4b-499f-b117-16949f9fa6f6" # Nova anti-affinity server group security_group_id = "90241b5b-cf8c-4940-b118-265204b5cdc9" # Neutron security group keypair = "KeyPair-e344" # parameteres for ELB mds_loadbalancer = "16dbea1701154c0ba48b70a5540bfead" mds_listener80 = "2cf38492f14140eb85b5e76ce8d5af74" mds_listener1860 = "e2d3d83e10024470baabe17c537c7444" # parameteres for Scaling resources template_server_id = "de8c4868-6088-4b47-9fdd-58f41c3b39ac" template_volume_id = "089911f0-7065-4645-b66b-75c8c65f8d91" def create_server(): # 带安全组、反亲和性组、AZ创建虚拟机,不支持min_count参数 server = conn.compute.create_server( name=SERVER_NAME, image_id=image_id, flavor_id=flavor, networks=[{"uuid": network_id}], key_name=keypair, availability_zone=availability_zone, security_groups=[{"name": security_group_id}], scheduler_hints={"group": server_group_id}) server = conn.compute.wait_for_server(server, interval=10, wait=300) return server def delete_server(server): conn.compute.delete_server(server) def start_server(server): conn.compute.start_server(server) conn.compute.wait_for_server(server, interval=5, wait=150) # 参数server应该是Server对象,而不是String id def stop_server(server): conn.compute.stop_server(server) conn.compute.wait_for_server(server, status="SHUTOFF", interval=5, wait=150) def attach_volume(server, volume_id): conn.compute.create_volume_attachment(server, volume_id=volume_id) def detach_volume(server, volume_id): conn.compute.delete_volume_attachment(volume_id, server) def wait_for_volume(volume, status="available", interval=5, wait=150, failures=[´error´]): volume = conn.block_store.get_volume(volume) if volume.status == status: return volume total_sleep = 0 if failures is None: failures = [] while total_sleep wait: volume = conn.block_store.get_volume(volume) if volume.status == status: return volume if volume.status in failures: msg = ("Volume %s transitioned to failure state %s" % (volume.id, volume.status)) raise exceptions.ResourceFailure(msg) time.sleep(interval) total_sleep += interval msg = "Timeout waiting for %s to transition to %s" % (volume.id, status) raise exceptions.ResourceTimeout(msg) def wait_for_snaps**(snaps**, status="available", interval=5, wait=150, failures=[´error´]): snaps** = conn.block_store.get_snaps**(snaps**) if snaps**.status == status: return snaps** total_sleep = 0 if failures is None: failures = [] while total_sleep wait: snaps** = conn.block_store.get_snaps**(snaps**) if snaps**.status == status: return snaps** if snaps**.status in failures: msg = ("Snaps** %s transitioned to failure state %s" % (snaps**.id, snaps**.status)) raise exceptions.ResourceFailure(msg) time.sleep(interval) total_sleep += interval msg = "Timeout waiting for %s to transition to %s" % (snaps**.id, status) raise exceptions.ResourceTimeout(msg) # def create_image(server, name, **metadata): # 该方法限制太多,不建议使用,建议在控制台页面导出镜像 # server = conn.compute.get_server(server) # conn.compute.create_server_image(server, name, **metadata) # # 请确保name的唯一性 # images = conn.image.images(name=name, owner_id=server.project_id) # return images.next() def list_servers(**query): print("****************************List Servers:****************************") for server in conn.compute.servers(**query): print(server.name) def list_loadbalancers(): print(´****************************List Load Balancer:****************************´) query = { # ´vip_address´: ´192.168.2.36´ # ´name´: ´elb-yc5f´ } for load_balancer in conn.load_balancer.load_balancers(**query): print(load_balancer) def add_members_to_listener(listener, members): print(´****************************Add Member To Listener:****************************´) # listener = "83c8765e77a84f7b9dbe4215564171cc" # members = [{"server_id": "5b9762f4-4883-4664-9ca6-6bd9feef75df", "address": "192.168.0.40"}] conn.load_balancer.add_members_to_listener(listener, members) def wait_for_job(job_id, status="SUCCESS", interval=3, wait=60, failures=[´FAIL´]): job = conn.load_balancer.get_job(job_id) if job.status == status: return job total_sleep = 0 if failures is None: failures = [] while total_sleep wait: job = conn.load_balancer.get_job(job_id) if job.status == status: return job if job.status in failures: msg = ("Job %s transitioned to failure state %s" % (job_id, job.status)) raise exceptions.ResourceFailure(msg) time.sleep(interval) total_sleep += interval msg = "Timeout waiting for %s to transition to %s" % (job_id, status) raise exceptions.ResourceTimeout(msg) # 创建、删除虚拟机示例,并将虚拟机加入listener后端 print("****************************Create Server:****************************") test_server = create_server() print(test_server) print("****************************Add Member to Listener:****************************") test_server_ip = test_server.addresses.values()[0][0].get(´addr´) # 获取虚拟机IP test_add_member = [{"server_id": test_server.id, "address": test_server_ip}] # 组装member消息体 add_job = conn.load_balancer.add_members_to_listener(mds_listener80, test_add_member) # 添加ECS后端到ELB上 add_job = wait_for_job(add_job.id) # 等待后端添加成功 print(add_job) listener_members = conn.load_balancer.listener_members(mds_listener80) # 查询ECS后端列表 member_id = "" for member in listener_members: # 获取member_id print(member) if member.server_id == test_server.id: member_id = member.id break print("****************************Remove Member from Listener:****************************") test_remove_member = [member_id] # 组装member消息体 remove_job = conn.load_balancer.remove_members_of_listener(mds_listener80, test_remove_member) # 移除ECS后端 remove_job = wait_for_job(remove_job.id) # 等待后端移除成功 print(remove_job) listener_members = conn.load_balancer.listener_members(mds_listener80) # 查询ECS后端列表 for member in listener_members: print(member) delete_server(test_server.id) # 删除虚拟机 # 启动、停止、查询虚拟机 conn.compute.start_server(template_server_id) # 启动虚拟机 template_server = conn.compute.find_server(template_server_id) # 查询指定server # 等待server状态为ACTIVE,注意wait_for_server中的server参数要是Server对象,而不能只是server_id template_server = conn.compute.wait_for_server(template_server, interval=5, wait=150) print(template_server) conn.compute.stop_server(template_server_id) # 停止虚拟机 template_server = conn.compute.wait_for_server(template_server, status="SHUTOFF", interval=5, wait=150) print(template_server) servers = conn.compute.servers(name="test") # 过滤查询虚拟机示例 for server in servers: print server # 卷、快照操作示例:创建空白卷,创建快照,从快照创建卷,挂卸卷,删除卷 blank_volume = conn.block_store.create_volume(size=150, availability_zone=availability_zone, name="test-blank-volume", volume_type="SAS") # 创建空卷,SATA、SAS、SSD blank_volume = wait_for_volume(blank_volume) # 等待卷状态为available print(blank_volume) attach_volume(template_server_id, blank_volume.id) # 挂载卷到虚拟机上,要求卷和虚拟机在同一AZ blank_volume = wait_for_volume(blank_volume, status="in-use") snaps** = conn.block_store.create_snaps**(name="test-snaps**-from-datavolume", volume_id=template_volume_id, is_forced=True) # 从数据盘创建快照 snaps** = wait_for_snaps**(snaps**) # 等待快照状态为available print(snaps**) 从快照创建卷,要求新卷与快照的AZ相同,volume-type相同 snaps**_volume = conn.block_store.create_volume(snaps**_id=snaps**.id, availability_zone=availability_zone, name="test-volume-from-snaps**", volume_type="SAS") snaps**_volume = wait_for_volume(snaps**_volume) # 等待卷状态为available print(snaps**_volume) attach_volume(template_server_id, snaps**_volume.id) # 挂载卷到虚拟机上 snaps**_volume = wait_for_volume(snaps**_volume, status="in-use") detach_volume(template_server_id, blank_volume.id) # 卸载卷 detach_volume(template_server_id, snaps**_volume.id) # 卸载卷 blank_volume = wait_for_volume(blank_volume) # 等待卷状态为available snaps**_volume = wait_for_volume(snaps**_volume) # 等待卷状态为available conn.block_store.delete_volume(blank_volume) # 删除卷,需要卷状态为available,且卷没有快照 conn.block_store.delete_volume(snaps**_volume) # 删除卷,需要卷状态为available,且卷没有快照 conn.block_store.delete_snaps**(snaps**) # 删除快照 # 弹性IP相关操作: 申请EIP、绑定EIP、解绑定EIP server_inte**ce = conn.compute.server_inte**ces(template_server_id).next() # 获取虚拟机第一张网卡ID print(server_inte**ce) net_external = conn.network.networks(is_router_external=True).next() # 获取公网网络 print(net_external) floating_ip = conn.network.create_ip(floating_network_id=net_external.id, port_id=server_inte**ce.port_id) # 申请EIP,带宽默认是300M/s time.sleep(10) # 等待弹性IP创建并绑定成功 floating_ip = conn.network.get_ip(floating_ip) # 查询EIP状态 print(floating_ip) conn.network.delete_ip(floating_ip) # 删除EIP
  • 【消息通知服务】【SDK】【JAVA】 SMN的消息通知服务,真的真的很不错
    本帖最后由 追风猎手 于 2017-11-8 17:58 编辑消息通知服务的SDK 重磅来袭,欢迎各路英雄豪 杰 提MR进行改进 SDK真的, 真的,真的很不错 SDK使用示例代码 https://github.com/SimpleMessageNotification/smn-sdk-java/tree/master/smn-sdk-java-example SDK使用WIKI https://github.com/SimpleMessageNotification/smn-sdk-java/wiki SDK源码地址 https://github.com/SimpleMessageNotification/smn-sdk-java/tree/master/smn-sdk-java
  • [问题求助] Q: 如何决定使用SDK构建微服务还是使用ServiceMesh?
    本帖最后由 李白云 于 2017-10-31 22:54 编辑A:SDK方式适合完全自治的微服务,方便线下调试,但是需要引入SDK,基于SDK进行开发。 Mesher的方式需要在部署的时候准备Mesher环境,开发方便,无需引入其他的SDK。 使用 Mesher 场景: 将非java语言编写的业务代码改造为微服务。 老旧的java服务改造微服务。 想将非java SDK开发的服务与java SDK编写的服务对接。 使用 JAVA SDK 场景: 使用了分布式事务。 java语言编写的微服务,尤其是新的微服务项目。 mesher目前只支持http1.1,所以需要其他协议支持可以选择SDK。
总条数:806 到第
上滑加载中