• 关于

    d3 4.版本更新api

    的搜索结果

问题

Xampps 1.8.9 wamp环境包全系列正式发布.

xampps为windows下界面控制的wamp环境包, 一键集成apache php mysqlphpmyadmin等工具,方便用户快速学习与使用php语言.  支持在线编辑配置文件, 一键重启, api交互, 在线小工具,网页截图等常用...
kideny 2019-12-01 20:59:03 9910 浏览量 回答数 5

问题

MNS Java SDK如何下载?

建议下载最新发布的SDK版本以获得最佳性能和稳定性。 Version 1.1.8 更新日期 2016-12-15 sdk下载 sample下载 更新内容 Topic订阅增加batch短信发送接口; ...
轩墨 2019-12-01 22:08:33 1088 浏览量 回答数 0

问题

社区系统 Icarus 1.3.0

开源协议 ZLIB 免费且商业友好,这个协议基本上和MIT相同。 特性 全局 文件上传(七牛云) 超宽屏支持 简易的移动端支持 实时在线人数 Markdown发帖和评论 ...
寒喵 2019-12-01 21:51:20 1292 浏览量 回答数 0

阿里云高校特惠,助力学生创业梦!0元体验,快速入门云计算!

建个炫酷的简历网页,制作一个浪漫的表白网页,打造个人专属网盘,多种动手场景应用免费学!!!

回答

本文介绍了如何在 Knative 上实现 GitHub 事件处理。 前提条件 您已经成功部署 Serving 组件、Eventing组件及add-on组件,参见部署组件。 您已经在Knative上自定义域名并完成域名配置。参见Knative 自定义域名。 创建服务 登录容器服务管理控制台。 在 Kubernetes 菜单下,选择Knative > 服务管理,进入服务管理页面。 单击右上角的创建服务。 设置集群名称、命名空间、服务名称,选择所要使用的镜像和镜像版本等配置信息。 设置服务信息 说明 本示例中,界面参数取值参考如下: 服务名称:自定义该服务的名称。本例为github-event-display。 镜像名称:您可以单击选择镜像,在弹出的对话框中选择所需的镜像并单击确定。您还可以填写私有 registry。填写的格式为domainname/namespace/imagename:tag。本例中为registry.cn-shanghai.aliyuncs.com/knative-release/eventing-sources-event_display 。 镜像版本:您可以单击选择镜像版本选择镜像的版本。若不指定,默认为 latest。本例中为bf45b3eb1e7fc4cb63d6a5a6416cf696295484a7662e0cf9ccdf5c080542c21d。 界面其他参数详细信息请参见参数说明。 单击创建。 创建 GitHub Token 创建 Personal access token。 Personal access token用于访问 GitHub API。请参见Personal access tokens。 下面是设置一个 GitHubSource Sample token 的示例。创建github token 说明 需要开启 repo:public_repo 和 admin:repo_hook,以便通过公共仓库触发 Event 事件,并为这些公共仓库创建 webhooks 。 您可以自定义token 的名称。 通过 kubectl 连接 Kubernetes 集群。 secretToken内容可以通过下述方式生成随机字符串。 head -c 8 /dev/urandom | base64 更新githubsecret.yaml。 如果生成的是 personal_access_token_value token,则需要设置 secretToken 。示例如下: apiVersion: v1 kind: Secret metadata: name: githubsecret type: Opaque stringData: accessToken: personal_access_token_value secretToken: asdfasfdsaf 执行如下命令,创建 GitHub Token。 kubectl --namespace default apply githubsecret.yaml 创建 GitHub 事件源 您可以创建 GitHubSource 用于接收 GitHub 产生的事件。 通过 kubectl 连接 Kubernetes 集群。 创建并拷贝以下内容到github-source.yaml文件中。 apiVersion: sources.eventing.knative.dev/v1alpha1 kind: GitHubSource metadata: name: githubsourcesample spec: eventTypes: - pull_request ownerAndRepository: / accessToken: secretKeyRef: name: githubsecret key: accessToken secretToken: secretKeyRef: name: githubsecret key: secretToken sink: apiVersion: serving.knative.dev/v1alpha1 kind: Service name: github-event-display 执行以下命令,在命名空间default中创建 GitHubSource。 kubectl --namespace default apply github-source.yaml 执行结果 在 GitHub repository 中 Settings > Webhooks,查看会有一个验证成功的 Hook URL。 说明 域名需要备案,否则无法进行访问。 在 GitHub repository 中执行以下命令,创建一个 pull request,此时会产生Event事件。 kubectl --namespace default get pods kubectl --namespace default logs github-event-display-XXXX user-container 在 Knative Eventing 可以看到类似下面的事件结果。 2018/11/08 18:25:34 Message Dumper received a message: POST / HTTP/1.1 Host: github-event-display.knative-demo.svc.cluster.local Accept-Encoding: gzip Ce-Cloudeventsversion: 0.1 Ce-Eventid: a8d4cf20-e383-11e8-8069-46e3c8ad2b4d Ce-Eventtime: 2018-11-08T18:25:32.819548012Z Ce-Eventtype: dev.knative.source.github.pull_request Ce-Source: https://github.com/someuser/somerepo/pull/1 Content-Length: 21060 Content-Type: application/json User-Agent: Go-http-client/1.1 X-B3-Parentspanid: b2e514c3dbe94c03 X-B3-Sampled: 1 X-B3-Spanid: c85e346d89c8be4e X-B3-Traceid: abf6292d458fb8e7 X-Envoy-Expected-Rq-Timeout-Ms: 60000 X-Envoy-Internal: true X-Forwarded-For: 127.0.0.1, 127.0.0.1 X-Forwarded-Proto: http X-Request-Id: 8a2201af-5075-9447-b593-ec3a243aff52 {"action":"opened","number":1,"pull_request": ...}
1934890530796658 2020-03-31 20:14:10 0 浏览量 回答数 0

回答

您可以使用阿里云负载均衡来访问服务。 背景信息 如果您的集群的cloud-controller-manager版本大于等于v1.9.3,对于指定已有SLB,系统默认不再为该SLB处理监听,用户可以通过设置service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: "true"参数来显示启用监听配置,或者手动配置该SLB的监听规则。 执行以下命令,可查看cloud-controller-manager的版本。 root@master # kubectl get pod -n kube-system -o yaml|grep image:|grep cloud-con|uniq image: registry-vpc.cn-hangzhou.aliyuncs.com/acs/cloud-controller-manager-amd64:v1.9.3 注意事项 Cloud Controller Manager(简称CCM)会为Type=LoadBalancer类型的Service创建或配置阿里云负载均衡(SLB),包含SLB、监听、虚拟服务器组等资源。 对于非LoadBalancer类型的Service则不会为其配置负载均衡,这包含如下场景:当用户将Type=LoadBalancer的Service变更为Type!=LoadBalancer时,CCM也会删除其原先为该Service创建的SLB(用户通过service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id指定的已有SLB除外)。 自动刷新配置 CCM使用声明式API,会在一定条件下自动根据Service的配置刷新阿里云负载均衡配置,所有用户自行在SLB控制台上修改的配置均存在被覆盖的风险(使用已有SLB同时不覆盖监听的场景除外),因此不能在SLB控制台手动修改Kubernetes创建并维护的SLB的任何配置,否则有配置丢失的风险。 同时支持为serivce指定一个已有的负载均衡,或者让CCM自行创建新的负载均衡。但两种方式在SLB的管理方面存在一些差异: 指定已有SLB 仅支持复用负载均衡控制台创建的SLB,不支持复用CCM创建的SLB。 如果您需要在Kubernetes集群中复用私网类型的SLB,则该SLB需要和Kubernetes集群在同一VPC下。 需要为Service设置annotation:service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id 。 SLB配置 此时CCM会使用该SLB做为Service的SLB,并根据其他annotation配置SLB,并且自动的为SLB创建多个虚拟服务器组(当集群节点变化的时候,也会同步更新虚拟服务器组里面的节点)。 监听配置 是否配置监听取决于service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: 是否设置为true。如果设置为false,CCM不会为SLB管理任何监听配置;如果设置为true,CCM会根据service配置管理监听,如果监听已经存在,则CCM会覆盖已有监听。 SLB的删除 当Service删除时CCM不会删除用户通过id指定的已有SLB。 CCM管理的SLB CCM会根据Service的配置自动的创建配置SLB、监听、虚拟服务器组等资源,所有资源归CCM管理,因此用户不得手动在SLB控制台更改以上资源的配置,否则CCM在下次Reconcile的时候将配置刷回Service所声明的配置,造成非用户预期的结果。 SLB的删除 当Service删除时CCM会删除该SLB。 后端服务器更新 CCM会自动的为该Service对应的SLB刷新后端虚拟服务器组。当Service对应的后端Endpoint发生变化的时候或者集群节点变化的时候都会自动的更新SLB的后端Server。 spec.externalTrafficPolicy = Cluster模式的Service,CCM默认会将所有节点挂载到SLB的后端(使用BackendLabel标签配置后端的除外)。由于SLB限制了每个ECS上能够attach的SLB的个数(quota),因此这种方式会快速的消耗该quota,当quota耗尽后,会造成Service Reconcile失败。解决的办法,可以使用Local模式的Service。 spec.externalTrafficPolicy = Local模式的Service,CCM默认只会将Service对应的Pod所在的节点加入到SLB后端。这会明显降低quota的消耗速度。同时支持四层源IP保留。 任何情况下CCM不会将Master节点作为SLB的后端。 CCM默认不会从SLB后端移除被kubectl drain/cordon的节点。如需移除节点,请设置service.beta.kubernetes.io/alibaba-cloud-loadbalancer-remove-unscheduled-backend为on。 说明 如果是v1.9.3.164-g2105d2e-aliyun之前的版本,CCM默认会从SLB后端移除被kubectl drain/cordon的节点。 VPC路由 集群中一个节点对应一条路由表项,VPC默认情况下仅支持48条路由表项,如果集群节点数目多于48个,请提工单给VPC产品。 说明 您可以在提交工单时,说明需要修改vpc_quota_route_entrys_num参数,用于提升单个路由表可创建的自定义路由条目的数量。 更多VPC使用限制请参见使用限制。 专有网络VPC配额查询请参见专有网络VPC配额管理。 SLB使用限制 CCM会为Type=LoadBalancer类型的Service创建SLB。默认情况下一个用户可以保留60个SLB实例,如果需要创建的SLB数量大于60,请提交工单给SLB产品。 说明 您可以在提交工单时,说明需要修改slb_quota_instances_num参数,用于提高用户可保有的slb实例个数。 CCM会根据Service将ECS挂载到SLB后端服务器组中。 默认情况下一个ECS实例可挂载的后端服务器组的数量为50个,如果一台ECS需要挂载到更多的后端服务器组中,请提交工单给SLB产品。 说明 您可以在提交工单时,说明需要修改slb_quota_backendservers_num参数,用于提高同一台服务器可以重复添加为SLB后端服务器的次数。 默认情况下一个SLB实例可以挂载200个后端服务器,如果需要挂载更多的后端服务器,请提交工单给SLB产品。 说明 您可以在提交工单时,说明需要修改slb_quota_backendservers_num参数,提高每个SLB实例可以挂载的服务器数量。 CCM会根据Service中定义的端口创建SLB监听。默认情况下一个SLB实例可以添加50个监听,如需添加更多监听,请提交工单给SLB产品。 说明 您可以在提交工单时,说明需要修改slb_quota_listeners_num参数,用于提高每个实例可以保有的监听数量。 更多SLB使用限制请参见使用限制。 负载均衡SLB配额查询请参见负载均衡SLB配额管理。 通过命令行操作 方法一: 通过命令行工具创建一个Nginx应用。 root@master # kubectl run nginx --image=registry.aliyuncs.com/acs/netdia:latest root@master # kubectl get po NAME READY STATUS RESTARTS AGE nginx-2721357637-dvwq3 1/1 Running 1 6s 为Nginx应用创建阿里云负载均衡服务,指定 type=LoadBalancer 来向外网用户暴露Nginx服务。 root@master # kubectl expose deployment nginx --port=80 --target-port=80 --type=LoadBalancer root@master # kubectl get svc NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx 172.19.XX.XX 101.37.XX.XX 80:31891/TCP 4s 在浏览器中访问 http://101.37.XX.XX,来访问您的Nginx服务。 方法二: 将下面的yml code保存到 nginx-svc.yml文件中。 apiVersion: v1 kind: Service metadata: labels: run: nignx name: nginx-01 namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 执行如下命令,创建一个Nginx应用。 kubectl apply -f nginx-svc.yml 执行如下命令,向外网用户暴露Nginx服务。 root@master # kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE9d ngi-01nx LoadBalancer 172.19.XX.XX 101.37.XX.XX 80:32325/TCP 3h 在浏览器中访问 http://101.37.XX.XX,来访问您的Nginx服务。 通过 Kubernetes Dashboard 操作 将下面的yml code保存到 nginx-svc.yml文件中。 apiVersion: v1 kind: Service metadata: labels: run: nginx name: http-svc namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 登录容器服务管理控制台,单击目标集群右侧的控制台,进入Kubernetes Dashboard页面。 单击创建,开始创建应用。 创建应用 单击使用文件创建。选择刚才保存的nginx-svc.yml 文件。 单击上传。 此时,会创建一个阿里云负载均衡实例指向创建的Nginx应用,服务的名称为 http-svc。 在Kubernetes Dashboard上定位到default命名空间,选择服务。 可以看到刚刚创建的 http-svc 的Nginx服务和机器的负载均衡地址 http://114.55.XX.XX:80。 访问服务 将该地址拷贝到浏览器中即可访问该服务。 通过控制台操作 登录容器服务管理控制台。 在 Kubernetes 菜单下,单击左侧导航栏中的应用 > 无状态,进入无状态(Deployment)页面。 选择目标集群和命名空间,单击右上角使用模板创建。 创建应用 示例模板选为自定义,将以下内容复制到模板中。 apiVersion: v1 kind: Service metadata: labels: run: nginx name: ngnix namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 单击创建。 创建成功,单击Kubernetes 控制台前往控制台查看创建进度。 Kubernetes 控制台 或单击左侧导航栏路由与负载均衡 > 服务,选择目标集群和命名空间,查看已部署的服务。 部署服务 更多信息 阿里云负载均衡还支持丰富的配置参数,包含健康检查、收费类型、负载均衡类型等参数。 注释 阿里云可以通过注释annotations的形式支持丰富的负载均衡功能。 创建一个公网类型的负载均衡 apiVersion: v1 kind: Service metadata: name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 创建一个私网类型的负载均衡 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 创建HTTP类型的负载均衡 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 创建HTTPS类型的负载均衡 需要先在阿里云控制台上创建一个证书并记录cert-id,然后使用如下annotation创建一个 HTTPS 类型的SLB。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "https:443" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${YOUR_CERT_ID}" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 限制负载均衡的带宽 只限制负载均衡实例下的总带宽,所有监听共享实例的总带宽,参见共享实例带宽。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-charge-type: "paybybandwidth" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth: "100" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 指定负载均衡规格 负载均衡规格可参见CreateLoadBalancer。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec: "slb.s1.small" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 使用已有的负载均衡 默认情况下,使用已有的负载均衡实例,不会覆盖监听,如要强制覆盖已有监听,请配置service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners为true。 说明 复用已有的负载均衡默认不覆盖已有监听,因为以下两点原因: 如果已有负载均衡的监听上绑定了业务,强制覆盖可能会引发业务中断。 由于CCM目前支持的后端配置有限,无法处理一些复杂配置。如果有复杂的后端配置需求,可以在不覆盖监听的情况下,通过控制台自行配置监听。 如存在以上两种情况不建议强制覆盖监听,如果已有负载均衡的监听端口不再使用,则可以强制覆盖。 使用已有的负载均衡暂不支持添加额外标签(annotation: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags) apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: "${YOUR_LOADBALACER_ID}" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 使用已有的负载均衡,并强制覆盖已有监听 强制覆盖已有监听,如果监听端口冲突,则会删除已有监听。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id: "${YOUR_LOADBALACER_ID}" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners: "true" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 使用指定Label的worker节点作为后端服务器 多个Label以逗号分隔。例如"k1=v1,k2=v2"。多个label之间是and的关系。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-backend-label: "failure-domain.beta.kubernetes.io/zone=ap-southeast-5a" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 为TCP类型的负载均衡配置会话保持时间 参数service.beta.kubernetes.io/alibaba-cloud-loadbalancer-persistence-time仅对TCP协议的监听生效。 如果负载均衡实例配置了多个TCP协议的监听端口,则默认将该配置应用到所有TCP协议的监听端口。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-persistence-timeout: "1800" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 为HTTP&HTTPS协议的负载均衡配置会话保持(insert cookie) 仅支持HTTP及HTTPS协议的负载均衡实例。 如果配置了多个HTTP或者HTTPS的监听端口,该会话保持默认应用到所有HTTP和HTTPS监听端口。 配置insert cookie,以下四项annotation必选。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session: "on" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type: "insert" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cookie-timeout: "1800" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 为HTTP&HTTPS协议的负载均衡配置会话保持(server cookie) 仅支持HTTP及HTTPS协议的负载均衡实例。 如果配置了多个HTTP或者HTTPS的监听端口,该会话保持默认应用到所有HTTP和HTTPS监听端口。 配置server cookie,以下四项annotation必选。 cookie名称(service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cookie)只能包含字母、数字、‘_’和‘-’。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session: "on" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type: "server" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cookie: "${YOUR_COOKIE}" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 创建负载均衡时,指定主备可用区 某些region的负载均衡不支持主备可用区,例如ap-southeast-5。 一旦创建,主备可用区不支持修改。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-master-zoneid: "ap-southeast-5a" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-slave-zoneid: "ap-southeast-5a" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 使用Pod所在的节点作为后端服务器 默认externalTrafficPolicy为Cluster模式,会将集群中所有节点挂载到后端服务器。Local模式仅将Pod所在节点作为后端服务器。 Local模式需要设置调度策略为加权轮询wrr。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler: "wrr" name: nginx namespace: default spec: externalTrafficPolicy: Local ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 创建私有网络类型(VPC)的负载均衡 创建私有网络类型的负载均衡,以下两个annotation必选。 私网负载均衡支持专有网络(VPC)和经典网络(Classic),两者区别参见实例概述。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-network-type: "vpc" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 创建按流量付费的负载均衡 仅支持公网类型的负载均衡实例 以下两项annotation必选 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth: "45" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-charge-type: "paybybandwidth" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 创建带健康检查的负载均衡 设置TCP类型的健康检查 TCP端口默认开启健康检查,且不支持修改,即service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag annotation无效。 设置TCP类型的健康检查,以下所有annotation必选。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type: "tcp" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout: "8" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold: "4" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold: "4" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval: "3" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 设置HTTP类型的健康检查 设置HTTP类型的健康检查,以下所有的annotation必选。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag: "on" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type: "http" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-uri: "/test/index.html" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold: "4" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold: "4" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-timeout: "10" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval: "3" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "http:80" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 为负载均衡设置调度算法 rr(默认值):轮询,按照访问顺序依次将外部请求依序分发到后端服务器。 wrr:加权轮询,权重值越高的后端服务器,被轮询到的次数(概率)也越高。 wlc:加权最小连接数,除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler: "wlc" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 为负载均衡配置访问控制策略组 需要先在阿里云负载均衡控制台上创建一个负载均衡访问控制策略组,然后记录该访问控制策略组ID(acl-id),然后使用如下annotation创建一个带有访问控制的负载均衡实例。 白名单适合只允许特定IP访问的场景,black黑名单适用于只限制某些特定IP访问的场景。 使用该功能前,请确保CloudControllerManage组件是最新版本。请登录容器服务管理控制台,在左侧导航栏选择集群 > 集群,在集群列表中对需要升级的集群单击更多 > 系统组件升级,在组件列表中找到Cloud Controller Manager,单击升级。系统组建升级 创建带有访问控制的负载均衡,以下三项annotation必选。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-status: "on" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-id: "${YOUR_ACL_ID}" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-type: "white" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 为负载均衡指定虚拟交换机 通过阿里云专有网络控制台查询交换机ID,然后使用如下的annotation为负载均衡实例指定虚拟交换机。 为负载均衡指定虚拟交换机,以下两项annotation必选。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vswitch-id: "${YOUR_VSWITCH_ID}" name: nginx namespace: default spec: ports: - port: 443 protocol: TCP targetPort: 443 selector: run: nginx type: LoadBalancer 为负载均衡指定转发端口 端口转发是指将http端口的请求转发到https端口上。 设置端口转发需要先在阿里云控制台上创建一个证书并记录cert-id。 如需设置端口转发,以下三项annotation必选。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "https:443,http:80" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${YOUR_CERT_ID}" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-forward-port: "80:443" name: nginx namespace: default spec: ports: - name: https port: 443 protocol: TCP targetPort: 443 - name: http port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 为负载均衡添加额外标签 多个tag以逗号分隔,例如"k1=v1,k2=v2"。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags: "Key1=Value1,Key2=Value2" name: nginx namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 移除SLB后端unscheduleable状态的节点 kubectl cordon与kubectl drain命令会将节点置为unscheduleable状态,默认service.beta.kubernetes.io/alibaba-cloud-loadbalancer-remove-unscheduled-backend的取值为off,此时不会将处于unscheduleable状态的节点从SLB的后端服务器组移除。若需要从SLB的后端服务器组移除unscheduleable状态的节点,请将service.beta.kubernetes.io/alibaba-cloud-loadbalancer-remove-unscheduled-backend的的取值设置为on。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-remove-unscheduled-backend: "on" name: nginx spec: externalTrafficPolicy: Local ports: - name: http port: 30080 protocol: TCP targetPort: 80 selector: app: nginx type: LoadBalancer 直接将Pod ENI挂载到SLB后端 支持在Terway 网络模式下,通过annotation:service.beta.kubernetes.io/backend-type:"eni" 将Pod直接挂载到SLB后端,提升网络转发性能。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/backend-type: "eni" name: nginx spec: ports: - name: http port: 30080 protocol: TCP targetPort: 80 selector: app: nginx type: LoadBalancer 创建IPv6类型的负载均衡 集群的kube-proxy代理模式需要是IPVS。 生成的IPv6地址仅可在支持IPv6的环境中访问。 创建后IP类型不可更改。 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: "ipv6" name: nginx spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: app: nginx type: LoadBalancer 说明 注释的内容是区分大小写的。 自2019年9月11日起,annotation字段alicloud更新为alibaba-cloud。 例如: 更新前:service.beta.kubernetes.io/alicloud-loadbalancer-id 更新后:service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id 系统将继续兼容alicloud的写法,用户无需做任何修改,敬请注意。 注释 类型 描述 默认值 支持的版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port string 多个值之间由逗号分隔,例如:https:443,http:80 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type string 取值可以是internet或者intranet internet v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-slb-network-type string 负载均衡的网络类型,取值可以是classic或者vpc 取值为vpc时,需设置service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type为intranet。 classic v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-charge-type string 取值可以是paybytraffic或者paybybandwidth paybytraffic v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id string 负载均衡实例的 ID。通过 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id指定您已有的SLB,默认情况下,使用已有的负载均衡实例,不会覆盖监听,如要强制覆盖已有监听,请配置service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners为true。 无 v1.9.3.81-gca19cd4-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-backend-label string 通过 label 指定 SLB 后端挂载哪些worker节点。 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec string 负载均衡实例的规格。可参见:CreateLoadBalancer 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-persistence-timeout string 会话保持时间。 仅针对TCP协议的监听,取值:0-3600(秒) 默认情况下,取值为0,会话保持关闭。 可参见:CreateLoadBalancerTCPListener 0 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session string 是否开启会话保持。取值:on | off 说明 仅对HTTP和HTTPS协议的监听生效。 可参见:CreateLoadBalancerHTTPListener和CreateLoadBalancerHTTPSListener off v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type string cookie的处理方式。取值: insert:植入Cookie。 server:重写Cookie。 说明 仅对HTTP和HTTPS协议的监听生效。 当service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session取值为on时,该参数必选。 可参见:CreateLoadBalancerHTTPListener和CreateLoadBalancerHTTPSListener 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cookie-timeout string Cookie超时时间。取值:1-86400(秒) 说明 当service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session为on且service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type为insert时,该参数必选。 可参见:CreateLoadBalancerHTTPListener和CreateLoadBalancerHTTPSListener 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cookie string 服务器上配置的Cookie名称。 长度为1-200个字符,只能包含ASCII英文字母和数字字符,不能包含逗号、分号或空格,也不能以$开头。 说明 当service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session为on且service.beta.kubernetes.io/alibaba-cloud-loadbalancer-sticky-session-type为server时,该参数必选。 可参见:CreateLoadBalancerHTTPListener和CreateLoadBalancerHTTPSListener 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-master-zoneid string 主后端服务器的可用区ID。 无 v1.9.3.10-gfb99107-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-slave-zoneid string 备后端服务器的可用区ID。 无 v1.9.3.10-gfb99107-aliyun及以上版本 externalTrafficPolicy string 哪些节点可以作为后端服务器,取值: Cluster:使用所有后端节点作为后端服务器。 Local:使用Pod所在节点作为后端服务器。 Cluster v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners string 绑定已有负载均衡时,是否强制覆盖该SLB的监听。 false:不覆盖 v1.9.3.81-gca19cd4-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidth string 负载均衡的带宽,仅适用于公网类型的负载均衡。 50 v1.9.3.10-gfb99107-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id string 阿里云上的证书ID。您需要先上传证书 无 v1.9.3.164-g2105d2e-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-flag string 取值是on | off TCP监听默认为on且不可更改。 HTTP监听默认为off。 默认为off。TCP 不需要改参数。因为 TCP 默认打开健康检查,用户不可设置。 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-type string 健康检查类型,取值:tcp | http。 可参见:CreateLoadBalancerTCPListener tcp v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-uri string 用于健康检查的URI。 说明 当健康检查类型为TCP模式时,无需配置该参数。 可参见:CreateLoadBalancerTCPListener 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-port string 健康检查使用的端口。取值: -520:默认使用监听配置的后端端口。 1-65535:健康检查的后端服务器的端口。 可参见:CreateLoadBalancerTCPListener 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-healthy-threshold string 健康检查连续成功多少次后,将后端服务器的健康检查状态由fail判定为success。 取值:2-10 可参见:CreateLoadBalancerTCPListener 3 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-unhealthy-threshold string 健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail。取值: 2-10 可参见:CreateLoadBalancerTCPListener 3 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval string 健康检查的时间间隔。 取值:1-50(秒) 可参见:CreateLoadBalancerTCPListener 2 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout string 接收来自运行状况检查的响应需要等待的时间,适用于TCP模式。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。 取值:1-300(秒) 说明 如果service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout的值小于service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval的值,则service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-connect-timeout无效,超时时间为service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval的值。 可参见:CreateLoadBalancerTCPListener 5 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-timeout string 接收来自运行状况检查的响应需要等待的时间,适用于HTTP模式。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。 取值:1-300(秒) 说明 如果 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-timeout的值小于service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval的值,则 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-timeout无效,超时时间为 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-interval的值。 可参见:CreateLoadBalancerTCPListener 5 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-domain string 用于健康检查的域名。 $_ip:后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。 domain:域名长度为1-80,只能包含字母、数字、点号(.)和连字符(-)。 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-health-check-httpcode string 健康检查正常的HTTP状态码,多个状态码用逗号(,)分割。取值: http_2xx http_3xx http_4xx http_5xx 默认值为http_2xx。 http_2xx v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-scheduler string 调度算法。取值wrr | wlc| rr。 wrr:权重值越高的后端服务器,被轮询到的次数(概率)也越高。 wlc:除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。 rr:默认取值,按照访问顺序依次将外部请求依序分发到后端服务器。 rr v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-status string 是否开启访问控制功能。取值: on | off off v1.9.3.164-g2105d2e-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-id string 监听绑定的访问策略组ID。当AclStatus参数的值为on时,该参数必选。 无 v1.9.3.164-g2105d2e-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-acl-type string 访问控制类型。 取值:white | black。 white:仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于应用只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设名单,就只有白名单中的IP可以访问负载均衡监听。如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。 black: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于应用只限制某些特定IP访问的场景。如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。当AclStatus参数的值为on时,该参数必选。 无 v1.9.3.164-g2105d2e-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vswitch-id string 负载均衡实例所属的VSwitch ID。设置该参数时需同时设置addresstype为intranet。 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-forward-port string 将HTTP请求转发至HTTPS指定端口。取值如80:443 无 v1.9.3.164-g2105d2e-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-additional-resource-tags string 需要添加的Tag列表,多个标签用逗号分隔。例如:"k1=v1,k2=v2" 无 v1.9.3及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-remove-unscheduled-backend string 从slb后端移除SchedulingDisabled Node。取值on | off off v1.9.3.164-g2105d2e-aliyun及以上版本 service.beta.kubernetes.io/backend-type string 支持在Terway eni网络模式下,通过设定改参数为"eni",可将Pod直接挂载到SLB后端,提升网络转发性能。取值:eni。 无 v1.9.3.164-g2105d2e-aliyun及以上版本 service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version string 负载均衡实例的IP版本,取值:ipv4或ipv6 ipv4 v1.9.3.220-g24b1885-aliyun及以上版本
1934890530796658 2020-03-31 15:26:42 0 浏览量 回答数 0

问题

钉钉开放平台“常见问题常见问题常见问题“重要请关注

本贴提供了JSAPI、服务端API、isv接入及常见的建议问题等,本帖问题及分类随大家反馈及时更新,请关注~ 为提高解决问题速度,请您在反馈问题时,参照以下模板提供信息 服务端...
竹梅 2019-12-01 21:57:52 74299 浏览量 回答数 28

回答

报错信息 HSFServiceAddressNotFoundException 未找到需要调用的服务目标地址。 描述信息 需要调用的目标服务为:xxxx; 组别为:xxxx。 基本问题排查 服务本身的发布、调用是否正确。 验证服务是否发布:在对应环境(日常、预发或线上环境)的 “服务治理”控制台查询需要的服务。 名称不匹配,检查代码中对应发布者和消费者 XML 配置的 interface、version、group,3个数据要完全一致(注意大小写也要一样, 同时要注意前后不能有空格)。 服务提供者防火墙开启或网络不通,telnet 服务提供者 IP HSF 端口(默认12200)是否可以正常连接,如果不能正常连接说明防火墙开启或网络存在问题,需要协调相关负责人员排查。 是否存在多网卡,如果存在多网卡可以使用 -Dhsf.server.ip 来指定服务端的 IP。 本地开发环境可以直接 jvm 启动参数设定。 生产环境需要跟开发联系确定如何解决。 服务调用太快,在 ConfigServer 将地址推送过来之前就发起调用导致出错。在服务消费者的配置项里添加 maxWaitTimeForCsAddress 的相关配置,请参考开发服务消费者。 本地开发环境排查 本地使用轻量配置中心进行开发时,服务发布、订阅均无需鉴权,故服务正常启动就可以注册、订阅成功。在排除掉前面的基本问题后,可以按照如下步骤进行排查。 轻量配置中心检查。 登录轻量配置中心控制台,搜索对应的服务是否已经发布成功,服务提供者的 IP、端口是否正确。如果服务未发布成功,按照下方《服务提供者排查》步骤进行排查。 搜索对应的服务是否已经订阅成功。如果服务未订阅成功 《服务消费者排查》 步骤进行排查。 从订阅者机器上 Telnet 服务提供者 IP 端口,是否可以正常联通。 服务提供者排查。 如果轻量配置中心控制台发现服务未能发布成功,请进行如下排查。 ping jmenv.tbsite.net 确定地址服务器 IP 跟轻量配置中心 IP 一致。 清空/{userhome}/logs/下所有日志,清空/{userhome}/configclient/目录。 启动服务提供者应用,如果之前 Tomcat 已经启动,请重启。 首先查看 Tomcat 启动日志,无异常信息,最后显示启动耗时 ms。如果有异常,请解决异常。 查看/{userhome}/configclient/logs/configclient.log 或/{userhome}/logs/configclient/configclient.log(不同版本稍有区别),查找 Connecting to remoting://{IP 地址}连接的注册中心 IP 跟轻量配置中心 IP 一致,如果不一致,请确认轻量配置中心是否通过 -Daddress.server.ip={可以访问的 IP}调整过 IP。 其中对应服务[Register-ok][Publish-ok],确定服务名、版本、分组都是预期的信息。 如果[Register-ok][Publish-ok],说明服务提供者正常注册到服务注册中心。开发环境只要启动成功就可以注册成功。 说明 在实际开发过程中机器上可能会同时启动多个服务提供者,例如A,B,C;每个服务提供者对外提供的hsf端口会在12200基础上依次累加。同时可以通过在jvm参数上指定ip和端口:-Dhsf.server.ip= -Dhsf.server.port= 在轻量配置中心上可以检查服务端端口与实际启动的端口是否一致,不一致会导致消费端调用失败,可以通过轻量配置中心控制台更新服务端端口,或者删除掉服务,然后重新发布应用。 服务消费者排查。 ping jmenv.tbsite.net 确定地址服务器 IP 跟轻量配置中心 IP 一致。 启动服务消费者应用,如果之前 Tomcat 已经启动,请重启。 首先查看 Tomcat 启动日志,无异常信息,最后显示启动耗时 ms。如果有异常,请解决异常。 查看 /{userhome}/configclient/logs/configclient.log 或 /{userhome}/logs/configclient/configclient.log(不同版本稍有区别),查找 Connecting to remoting://{IP 地址}连接的注册中心 IP 跟轻量配置中心 IP 一致,如果不一致,请确认轻量配置中心是否通过 -Daddress.server.ip={可以访问的 IP} 调整过 IP。 查看日志中对应的服务订阅情况,[Data-received] 是否收到服务提供者的具体信息。如果未收到服务提供者数据,需要确定服务提供者服务已经注册成功。 从订阅者机器上 Telnet 服务提供者 IP 端口,是否可以正常联通。如果不能正常连接说明防火墙开启或网络存在问题,需要协调相关负责人员排查。 线上环境排查 使用 EDAS 管理和部署的应用都是使用的正式环境,正式环境存在严格的服务鉴权和数据隔离。由于存在鉴权,正式环境不同主账号之间的服务无法直接互相调用,同时开发环境也无法调用访问正式环境的服务。 服务提供者排查。 id="codeph_hor_1ki_a0p">cat /home/admin/{taobao-tomcat 目录}/bin/setenv.sh 此文件中 -Daddress.server.domain={地址服务器域名} 对应地址服务器域名。 ping {地址服务器域名} 查看返回的 IP,是否正常。如果不能 ping 通说明网络存在问题,请排查网络。 清空/home/admin/logs/下所有日志,清空/home/admin/configclient/目录,清空/home/admin/{taobao-tomcat 目录}/logs/目录。 启动服务提供者应用,如果之前 Tomcat 已经启动,请重启。 首先查看/home/admin/{taobao-tomcat 目录}/logs/catalina.out,此文件中无异常信息,最后显示启动耗时 ms。如果有异常,请解决异常。 查看/home/admin/{taobao-tomcat 目录}/logs/localhost-{日期}.log,此文件中无异常信息。。如果有异常,请解决异常。 查看/home/admin/configclient/logs/configclient.log 或/home/admin/logs/configclient/configclient.log(不同版本稍有区别),其中对应服务[Register-ok][Publish-ok],确定服务名、版本、分组都是预期的信息。如果[Publish or unregister error],请排查。 查看 catalina.out 日志中 edas.hsf.xxxx 格式的版本。 低于 edas.hsf.2114.1.0,必须创建对应服务分组,否则会鉴权失败。登录 EDAS 控制台,在左侧导航栏选择服务市场 > 服务分组查看应用的服务分组是否已经创建。 大于或等于 edas.hsf.2114.1.0,已经提供多租户方式隔离,可以不需要创建服务分组。对应服务会注册2次,一次是基于租户注册(总是成功),一次是基于分组注册(可能失败,但不影响服务调用)。 2018-07-19 10:28:44.716|ERROR|[] [] [%s] [Publish or unregister error] spas-authentication-failed! dataId:com.alibaba.edas.testcase.api.TestCase:1.0.0 group:test erorr:java.lang.Error: A receivedRevision:2 tenant:DEFAULT_TENANT 2018-07-19 10:28:44.717|INFO|[] [] [] [Register-ok] Publisher (HSFProvider-com.alibaba.edas.testcase.api.TestCase:1.0.0.2 for com.alibaba.edas.testcase.api.TestCase:1.0.0)Tenant:0846c173-decf-4b47-xxxxxxxx in group test in env default 2018-07-19 10:28:44.717|INFO|[] [] [] [Publish-ok] dataId=com.alibaba.edas.testcase.api.TestCase:1.0.0, clientId=HSFProvider-com.alibaba.edas.testcase.api.TestCase:1.0.0.2, datumId=ecu:ed5b9d2b-a276-4ad7-b7b9-14e432ff2356:192.168.0.1,tenant=0846c173-decf-4b47-xxxxxxxx, rev=2, env=default 上述 ERROR 级别日志中:使用tenant:DEFAULT_TENANT鉴权失败;使用tenant=0846c173-decf-4b47-xxxxxxxx发布成功。只需保证两套鉴权成功一次即可。 如果[Register-ok][Publish-ok],说明服务提供者正常注册到服务注册中心。 服务消费者排查。 cat /home/admin/{taobao-tomcat 目录}/bin/setenv.sh 此文件中 -Daddress.server.domain={地址服务器域名} 对应地址服务器域名。 ping {地址服务器域名} 查看返回的 IP,是否正常。如果不能 ping 通说明网络存在问题,请排查网络。 清空 /home/admin/logs/下所有日志,清空 /home/admin/configclient/目录,清空 /home/admin/{taobao-tomcat 目录}/logs/目录 启动服务消费者应用,如果之前 Tomcat 已经启动,请重启。 首先查看 /home/admin/{taobao-tomcat 目录}/logs/catalina.out,此文件中无异常信息,最后显示启动耗时 ms。如果有异常,请解决异常。 查看 /home/admin/{taobao-tomcat 目录}/logs/localhost-{日期}.log,此文件中无异常信息。如果有异常,请解决异常。 查看 /home/admin/configclient/logs/configclient.log 或 /home/admin/logs/configclient/configclient.log(不同版本稍有区别,查看日志中对应的服务订阅情况,搜索对应服务,查看[Data-received]是否收到服务提供者的具体信息。如果未收到服务提供者数据,需要确定服务提供者服务已经注册成功。 从订阅者机器上 Telnet 服务提供者 IP 端口,是否可以正常联通。如果不能正常连接说明防火墙开启或网络存在问题,需要协调相关负责人员排查。 相关日志排查 查看/home/admin/configclient/snapshot/DEFAULT_ENV/ 可以查到消费端服务订阅到的实际服务列表数据信息如下: [root@iZ2ze26awga24ijh93152dZ com.alibaba.edas.carshop.itemcenter.ItemService:1.0.0]# cat HSF-0846c173-decf-4b47-8aa0-xxxxxx.dat [ "192.168.0.1:12200?_p\u003dhessian2\u0026_ENV\u003dDEFAULT\u0026v\u003d2.0\u0026_TIMEOUT\u003d3000\u0026_ih2\u003dy\u0026_TID\u003d0846c173-decf-4b47-8aa0-04b5a5610096\u0026_SERIALIZETYPE\u003dhessian\u0026_auth\u003dy" ] /home/admin/logs/hsf/hsf.log 可以查看服务调用报错信息。 /home/admin/logs/hsf/hsf-remoting.log 记录消费端与服务端心跳检查日志,若出现如下日志: 01 2018-06-20 12:35:00.797 ERROR [HSF-Worker-2-thread-1:hsf.remoting] [] [] [HSF-0085] [remoting] fail to connect: /192.168.1.1:12200 in timeout: 4000 该日志为消费端与提供端无法建立 TCP 长连接。 检查对应的机器 IP 上的服务正常启动,对应的端口已经处于监听状态(例如 12200)。 2. 第一步没有问题,可以尝试在消费端 telnet 服务端 IP Port,检查端口是否未开放。
保持可爱mmm 2020-03-28 22:11:46 0 浏览量 回答数 0

问题

归档存储的命令行工具

归档存储 提供了便于用户日常操作的命令行工具 oascmd.py,该文档将通过一些简单的操作帮助用户快速熟悉 归档存储 的使用 环境要求 oascmd.py 需要 Python 2.7.x 版本支持,目前...
云栖大讲堂 2019-12-01 21:07:22 1445 浏览量 回答数 0

回答

onShareAppMessage(options: Object) 点击右上角通用菜单中的分享按钮时或点击页面内分享按钮时触发。详见分享。 onTitleClick() 点击标题时触发。 onOptionMenuClick() 点击右上角菜单按钮时触发。 onPopMenuClick() 点击右上角通用菜单按钮时触发。 onPullDownRefresh({from: manual|code}) 下拉刷新时触发。 需要先在 app.json 的 window 选项中开启 pullRefresh 。当处理完数据刷新 后,my.stopPullDownRefresh 可以停止当前页面的下拉刷新。 onPullIntercept() 下拉中断时触发。 onTabItemTap(object: Object) 点击 tabItem 时触发。 属性 类型 描述 from String 点击来源 pagePath String 被点击 tabItem 的页面路径 text String 被点击 tabItem 的按钮文字 index Number 被点击 tabItem 的序号,从 0 开始 onPageScroll({scrollTop}) 页面滚动时触发,scrollTop 为页面滚动距离。 onReachBottom() 上拉触底时触发。 events 为了使代码更加简洁,提供了新的事件处理对象 events。 已有的页面处理事件函数跟直接在 page 实例上暴露的事件函数等价。 注意:  events 从基础库 1.13.7 版本 开始支持。  请正确区分页面事件函数与 events 内同名事件函数的基础库版本要求。 以下是 events 支持的事件函数列表: 事件 类型 描述 最低版本 onBack Function 页面返回时触发 1.13.7 onKeyboardHeight Function 键盘高度变化时触发 1.13.7 onOptionMenuClick Function 点击右上角菜单按钮触发 1.13.7 onPopMenuClick Function 点击右上角通用菜单按钮触 发 1.13.7 onPullIntercept Function 下拉截断时触发 1.13.7 onPullDownRefresh Function({from: manual/code}) 页面下拉时触发 1.13.7 onTitleClick Function 点击标题触发 1.13.7 onTabItemTap Function 点击非当前 tabItem 后触 发 1.13.7 beforeTabItemTap Function 点击非当前 tabItem 前触 发 1.13.7 onResize Function({size: {windowWidth: number, windowHeight: number}}) window 尺寸改变时触发 示例代码: my.canIUse('page.events.onBack'); Page({ data: { text: 'This is page data.' }, onLoad(){ // 页面加载时触发 }, events:{ onBack(){ // 页面返回时触发 }, onKeyboardHeight(e){ // 键盘高度变化时触发 console.log('键盘高度:', e.height) }, onOptionMenuClick(){ // 点击右上角菜单按钮触发 }, onPopMenuClick(e){ // 点击右上角通用菜单中的自定义菜单按钮触发 console.log('用户点击自定义菜单的索引', e.index) console.log('用户点击自定义菜单的 name', e.name) console.log('用户点击自定义菜单的 menuIconUrl', e.menuIconUrl) }, onPullIntercept(){ // 下拉截断时触发 }, onPullDownRefresh(e){ // 页面下拉时触发。e.from 的值是“code”表示 startPullDownRefresh 触发的 事件;值是“manual”表示用户下拉触发的下拉事件 console.log('触发下拉刷新的类型', e.from) my.stopPullDownRefresh() }, // 点击标题触发 }, onTabItemTap(e){ // e.from 是点击且切换 tabItem 后触发,值是“user”表示用户点击触发的事件; 值是“api”表示 switchTab 触发的事件 console.log('触发 tab 变化的类型', e.from) console.log('点击的 tab 对应页面的路径', e.pagePath) console.log('点击的 tab 的文字', e.text) console.log('点击的 tab 的索引', e.index) }, beforeTabItemTap(){ // 点击但切换 tabItem 前触发 }, onResize(e){ // window 尺寸改变时触发 var {windowWidth, windowHeight} = e.size console.log('改变后 window 的宽度', windowWidth) console.log('改变后 window 的高度', windowHeight) }, } }) Page.prototype.setData(data: Object, callback: Function) setData 会将数据从逻辑层发送到视图层,同时改变对应的 this.data 的值。 Object 以 key: value 的形式表示,将 this.data 中的 key 对应的值改变成 value。其中 key 可以非常灵活,以数据路径的形式给出,如 array[2].message、a.b.c.d,可以不需要在 this.data 中预先定义。 使用过程中,需要注意以下几点: 1. 直接修改 this.data 无效,无法改变页面的状态,还会造成数据不一致。 2. 仅支持设置可 JSON 化的数据。 3. 请尽量避免一次设置过多的数据。 4. 请不要把 data 中任何一项的 value 设为 undefined ,否则这一项将不被设置并可能遗 留一些潜在问题。 示例代码: <button onTap="changeTitle"> Change normal data </button> <view>{{array[0].text}}</view> <button onTap="changeArray"> Change Array data </button> <view>{{object.text}}</view> <button onTap="changePlanetColor"> Change Object data </button> <view>{{newField.text}}</view> <button onTap="addNewKey"> Add new data </button> <view>hello: {{name}}</view> <button onTap="changeName"> Change name </button> data: { text: 'test', array: [{text: 'a'}], object: { text: 'blue', }, name: 'taobao', }, changeTitle() { // 错误!不要直接去修改 data 里的数据 // this.data.text = 'changed data' // 正确 this.setData({ text: 'ha', }); }, changeArray() { // 可以直接使用数据路径来修改数据 this.setData({ 'array[0].text': 'b', }); }, changePlanetColor(){ this.setData({ }); }, addNewKey() { this.setData({ 'newField.text': 'c', }); }, changeName() { this.setData({ name: 'alipay', }, () => { // 接受传递回调函数 console.log(this); // this 当前页面实例 this.setData({ name: this.data.name + ', ' + 'welcome!'}); }); }, }); 参数说明: data Object 待改变的数据 - callback Function 回调函数,在页面渲 染更新完成之后执 行。 使用 my.canIUse('page.setData.callb ack') 做兼容性处理。详见 1.7.0 Page.prototype.$spliceData(data: Object, callback: Function) 说明: $spliceData 自 1.7.2 之后才支持,可以使用 my.canIUse('page.$spliceData') 做兼容性处理。详见 兼容接口说明。 spliceData 同样用于将数据从逻辑层发送到视图层,但是相比于 setData,在处 理长列表的时候,其具有更高的性能。 Object 以 key: value 的形式表示,将 this.data 中的 key 对应的值改变成 value。其中 key 可以非常灵活,以数据路径的形式给出,如 array[2].message、a.b.c.d,可以不需要在 this.data 中预先定义。value 为 一个数组(格式:[start, deleteCount, ...items]), 数组的第一个元素为操作的 起始位置,第二个元素为删除的元素的个数,剩余的元素均为插入的数据。对应 es5 中数组的 splice 方法。 示例代码: <view class="spliceData"> <view a:for="{{a.b}}" key="{{item}}" style="border:1px solid red"> {{item}} </view> </view> Page({ data: { a: { b: [1,2,3,4], }, }, onLoad(){ this.$spliceData({ 'a.b': [1, 0, 5, 6] }); }, }); 页面输出: 1 5 6 2 3 4 参数说明: data Object 待改变的数据 callback Function 回调函数,在页面渲染更新完成之后执行。 Page.prototype.$batchedUpdates(callback: Function) 批量更新数据。 说明 $batchedUpdates 自 1.14.0 之后才支持,可以使用 my.canIUse('page.$batchedUpdates') 做兼容性处理。详见 兼容接口说明 参数说明: 事件 类型 描述 callback Function 在此回调函数中的数据操作会被批量更新。 下面是示例代码: Page({ data: { counter: 0, }, plus() { setTimeout(() => { this.$batchedUpdates(() => { this.setData({ counter: this.data.counter + 1, }); this.setData({ counter: this.data.counter + 1, }); }); }, 200); }, }); <view>{{counter}}</view> <button onTap="plus">+2</button> 本示例中每次点击按钮,页面的 counter 会加 2将 setData 放在 this.$batchedUpdates 中,这样尽管有多次 setData,但是却只有一 次数据的传输 Page.route Page 路径,对应 app.json 中配置的路径值,类型为 String。 这是一个只读属性。 onShow() { // 对应 app.json 中配置的路径值 console.log(this.route) } }) 内容来源:https://developer.aliyun.com/article/756818?spm=a2c6h.12873581.0.dArticle756818.26162b70Su1GZy&groupCode=tech_library
KaFei 2020-04-27 14:24:42 0 浏览量 回答数 0

回答

Aliyun Function Compute API Specification Overview Version information Version : 0.1 URI scheme Host : $account-id.$region.fc.aliyuncs.com BasePath : /version, version 是指函数计算提供的 api 的版本,即 api-version; 目前的 api-version 为 2016-08-15 。 Schemes : HTTP, HTTPS Tags Service : Service相关的操作 Function : Function相关的操作 Trigger : Trigger相关的操作 Version : Version相关的操作 Alias :Alias相关的操作 CustomDomain: CustomDomain相关的操作 ProvisionConfig: ProvisionConfig相关的操作 Consumes application/json Produces application/json Resources Service Service相关的操作 CreateService ListServices GetService UpdateService DeleteService Function Function相关的操作 CreateFunction ListFunctions GetFunction UpdateFunction DeleteFunction GetFunctionCode InvokeFunction Trigger Trigger相关的操作 CreateTrigger ListTriggers GetTrigger UpdateTrigger DeleteTrigger Version Version相关的操作 PublishVersion ListVersions DeleteVersion Alias Alias相关的操作 CreateAlias ListAliases GetAlias UpdateAlias DeleteAlias CustomDomain CustomDomain 相关的操作 CreateCustomDomain ListCustomDomain GetCustomDomain UpdateCustomDomain DeleteCustomDomain ProvisionConfig ProvisionConfig 相关的操作 PutProvisionConfig GetProvisionConfig ListProvisionConfigs Tag Tag 相关的操作 TagResource UntagResource GetResourceTags Operations CreateFunction POST /services/{serviceName}/functions Description 创建function Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Path serviceName required service名称 string Body body required function对象描述 Function Responses HTTP Code Description Schema 200 创建成功 Headers : ETag (string) : function etag,用于更改function。以确保实际更改的function和期望更改的function是一致的. FunctionResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service不存在,错误码:ServiceNotFound Error 409 function已存在,错误码:FunctionAlreadyExists Error 500 服务内部错误,错误码:InternalServerError Error CreateService POST /services Description 创建service Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Body body required service对象描述 Service Responses HTTP Code Description Schema 200 创建成功 Headers : ETag (string) : service etag,用于更改service。以确保实际更改的service和期望更改的service是一致的. ServiceResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 409 service已存在,错误码:ServiceAlreadyExists Error 500 服务内部错误,错误码:InternalServerError Error CreateTrigger POST /services/{serviceName}/functions/{functionName}/triggers Description 创建trigger Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Path functionName required function名称 string Path serviceName required service名称 string Body body required trigger对象 Trigger Responses HTTP Code Description Schema 200 创建成功 Headers : ETag (string) : trigger etag,用于更改trigger。以确保实际更改的trigger和期望更改的trigger是一致的. TriggerResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service或function不存在,错误码:ServiceNotFound,FunctionNotFound Error 409 Trigger already exists. Error code is TriggerAlreadyExists. Error 500 服务内部错误,错误码:InternalServerError Error PublishVersion POST /services/{serviceName}/versions Description 发布version Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Header If-Match optional 用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update Service API的响应 string Path serviceName required service名称 string Body body optional version描述 string Responses HTTP Code Description Schema 200 发布成功 Headers : ETag (string) : version etag,用以确保实际发布的service和期望发布的version是一致的. VersionResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service不存在,错误码:ServiceNotFound Error 409 service发布失败,错误码:VersionPublishError, ConcurrentUpdateError Error 500 服务内部错误,错误码:InternalServerError Error CreateAlias POST /services/{serviceName}/aliases Description 创建alias Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Path serviceName required service名称 string Body body required alias名称 string Body body required versionId string Body body optional alias描述 string Body body optional 灰度发布的版本,以及对应的流量权重 map Responses HTTP Code Description Schema 200 创建成功 Headers : ETag (string) : alias etag,用以确保实际更改的alias和期望更改的alias是一致的. ||400|请求无效,错误码:InvalidArgument|Error||403|拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed|Error||404|service或者version不存在,错误码:ServiceNotFound,VersionNotFound|Error||409|alias已经存在,错误码:AliasAlreadyExists.|Error||500|服务内部错误,错误码:InternalServerError|Error| DeleteFunction DELETE /services/{serviceName}/functions/{functionName} Description 删除function Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Header If-Match optional 用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update API的响应 string Path functionName required function名称 string Path serviceName required service名称 string Responses HTTP Code Description Schema 204 删除成功 No Content 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service或function不存在,错误码:ServiceNotFound,FunctionNotFound Error 409 function非空,包含至少一个trigger,错误码:FunctionNotEmpty; 多个线程同时删除,错误码:ConcurrentUpdateError Error 500 服务内部错误,错误码:InternalServerError Error DeleteService DELETE /services/{serviceName} Description 删除service Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Header If-Match optional 用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update API的响应 string Path serviceName required service名称 string Responses HTTP Code Description Schema 204 删除成功 No Content 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service不存在,错误码:ServiceNotFound Error 409 service非空,错误码:ServiceNotEmpty; 多个线程同时删除,错误码:ConcurrentUpdateError Error 500 服务内部错误,错误码:InternalServerError Error DeleteTrigger DELETE /services/{serviceName}/functions/{functionName}/triggers/{triggerName} Description 删除trigger Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Header If-Match optional 用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update API的响应 string Path functionName required function名称 string Path serviceName required service名称 string Path triggerName required trigger名称 string Responses HTTP Code Description Schema 204 删除成功 No Content 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service,function,trigger不存在,错误码:ServiceNotFound,FunctionNotFound,TriggerNotFound Error 409 多个线程同时删除,错误码:ConcurrentUpdateError Error 500 服务内部错误,错误码:InternalServerError Error DeleteVersion DELETE /services/{serviceName}/versions/{versionId} Description 删除version Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Path serviceName required service名称 string Path versionId required versionId string Responses HTTP Code Description Schema 204 删除成功 No Content 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 version不存在,错误码:VersionNotFound Error 409 多个线程同时删除,错误码:ConcurrentUpdateError Error 500 服务内部错误,错误码:InternalServerError Error DeleteAlias DELETE /services/{serviceName}/aliases/{aliasName} Description 删除alias Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Header If-Match optional 用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update Alias API的响应 string Path serviceName required service名称 string Path aliasName required alias名称 string Responses HTTP Code Description Schema 204 删除成功 No Content 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 alias不存在,错误码:AliasNotFound Error 409 多个线程同时删除,错误码:ConcurrentUpdateError Error 500 服务内部错误,错误码:InternalServerError Error GetFunction GET /services/{serviceName}/functions/{functionName} GET /services/{serviceName}.{qualifier}/functions/{functionName} Description 获取function信息 Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Path functionName required function名称 string Path serviceName required service名称 string Path qualifier optional service版本, 可以是versionId或者aliasName string Responses HTTP Code Description Schema 200 请求成功 Headers : ETag (string) : function etag,用于更改function。以确保实际更改的function和期望更改的function是一致的. FunctionResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service,function,alias或者version不存在,错误码:ServiceNotFound,FunctionNotFound,VersionNotFound,AliasNotFound Error 500 服务内部错误,错误码:InternalServerError Error GetFunctionCode GET /services/{serviceName}/functions/{functionName}/code GET /services/{serviceName}.{qualifier}/functions/{functionName}/code Description 获取Function代码 Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Path functionName required function名称 string Path serviceName required service名称 string Path qualifier optional service版本, 可以是versionId或者aliasName string Responses HTTP Code Description Schema 200 请求成功 FunctionCodeResponse 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service,function,alias或者version不存在,错误码:ServiceNotFound,FunctionNotFound,VersionNotFound,AliasNotFound Error 500 服务内部错误,错误码:InternalServerError Error GetService GET /services/{serviceName} GET /services/{serviceName}.{qualifier} Description 获取service信息 Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Path serviceName required service名称 string Path qualifier optional service版本, 可以是versionId或者aliasName string Responses HTTP Code Description Schema 200 请求成功 Headers : ETag (string) : service etag,用于更改service。以确保实际更改的service和期望更改的service是一致的. ServiceResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service,alias或者version不存在,错误码:ServiceNotFound,VersionNotFound,AliasNotFound Error 500 服务内部错误,错误码:InternalServerError Error GetAlias GET /services/{serviceName}/aliases/{aliasName} Description 获取alias信息 Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Header If-Match optional 用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update Alias API的响应 string Path serviceName required service名称 string Path aliasName required alias名称 string Responses HTTP Code Description Schema 200 请求成功 Headers : ETag (string) : alias etag,用于更改alias。以确保实际更改的alias和期望更改的alias是一致的. AliasResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 alias不存在,错误码:AliasNotFound Error 409 多个线程同时更新,错误码:ConcurrentUpdateError Error 500 服务内部错误,错误码:InternalServerError Error GetTrigger GET /services/{serviceName}/functions/{functionName}/triggers/{triggerName} Description 获取trigger信息 Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Path functionName required function名称 string Path serviceName required service名称 string Path triggerName required trigger名称 string Responses HTTP Code Description Schema 200 请求成功 Headers : ETag (string) : trigger etag,用于更改trigger。以确保实际更改的trigger和期望更改的trigger是一致的. TriggerResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service,function,trigger不存在,错误码:ServiceNotFound,FunctionNotFound,TriggerNotFound Error 500 服务内部错误,错误码:InternalServerError Error InvokeFunction POST /services/{serviceName}/functions/{functionName}/invocations POST /services/{serviceName}.{qualifier}/functions/{functionName}/invocations Description 同步或异步调用function Parameters Type Name Description Schema Default Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Header X-Fc-Invocation-Type optional 调用方式:Sync或者Async string "Sync" Path functionName required function名称 string Path serviceName required service名称 string Path qualifier optional service版本, 可以是versionId或者aliasName string Body body required 事件(event),binary type。函数计算服务将event传递给用户function来处理 object Responses HTTP Code Description Schema 200 同步调用成功,返回函数结果 Headers : X-Fc-Error-Type (string) : 调用function的错误类型,分为HandledInvocationError和UnhandledInvocationError两种。. InvokeResponse 202 异步调用,服务器已接受请求但可能尚未处理 No Content 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service,function,alias或者version不存在,错误码:ServiceNotFound,FunctionNotFound,VersionNotFound,AliasNotFound Error 500 服务内部错误,错误码:InternalServerError Error ListFunctions GET /services/{serviceName}/functions GET /services/{serviceName}.{qualifier}/functions Description 获取function列表 Parameters Type Name Description Schema Default Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Path serviceName required service名称 string Path qualifier optional service版本, 可以是versionId或者aliasName string Query limit optional 限定此次返回资源的数量。如果不设定,默认返回20,最大不能超过100。返回结果可能小于指定的数量,但不会多于指定的数量 integer (int32) 20 Query nextToken optional 用来返回更多结果。第一次查询不需要提供这个参数,后续查询的token从返回结果中获取 string Query prefix optional 限定返回的资源名称必须以prefix作为前缀 string Query startKey optional 设定结果从startKey之后(包括startKey)按字母排序的第一个开始返回 string Responses HTTP Code Description Schema 200 请求成功 Response 200 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service,alias或者version不存在,错误码:ServiceNotFound,VersionNotFound,AliasNotFound Error 500 服务内部错误,错误码:InternalServerError Error Response 200 Name Schema functions optional < functions > array nextToken optional NextToken functions Name Description Schema codeChecksum optional function code包的CRC64值 Example : "5434025278388143772" string codeSize optional 系统返回的function的code包大小,单位为byte Example : 1024 integer (int64) createdTime optional function创建时间 Example : "2016-08-15T15:00:00.000+0000" string description optional Example : "This is a demo hello world function." string functionId optional 系统为每个function生成的唯一ID Example : "2d28e0e9-9ba5-4eed-8b1a-d3d9cd24e737" string functionName optional Example : "helloworld" string handler optional function的执行入口 Example : "hello_world.main" string lastModifiedTime optional function上次修改时间 Example : "2016-08-15T17:00:00.000+0000" string memorySize optional function设置的内存大小,单位为MB Example : 512 integer (int32) runtime optional function运行的语言环境,目前支持nodejs6, nodejs8, python2.7, python3, java8 Example : "nodejs4.4" string timeout optional 运行的超时时间,单位为秒 Example : 10 integer (int32) ListServices GET /services Description 获取service列表 Parameters Type Name Description Schema Default Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Query limit optional 限定此次返回资源的数量。如果不设定,默认返回20,最大不能超过100。返回结果可能小于指定的数量,但不会多于指定的数量 integer (int32) 20 Query nextToken optional 用来返回更多结果。第一次查询不需要提供这个参数,后续查询的token从返回结果中获取 string Query prefix optional 限定返回的资源名称必须以prefix作为前缀 string Query startKey optional 设定结果从startKey之后(包括startKey)按字母排序的第一个开始返回 string Responses HTTP Code Description Schema 200 请求成功 Response 200 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 500 服务内部错误,错误码:InternalServerError Error Response 200 Name Schema nextToken optional NextToken services optional < services > array services Name Description Schema createdTime optional service的创建时间 Example : "2016-08-15T16:06:05.000+0000" string description optional service的简短描述信息 Example : "This is a demo service." string internetAccess optional 设为true让function可以访问公网 Example : true boolean lastModifiedTime optional service上次更新时间 Example : "2016-08-16T18:00:00.000+0000" string logConfig optional log配置,function产生的log会写入这里配置的logstore LogConfig role optional 授予函数计算所需权限的RAM role, 使用场景包含 1. 从用户 bucket 中 copy function code 2. 把 function产生的 log 发送到用户的 logstore 中 3. 为function 在执行中访问其它云资源生成 token Example : "acs:ram::1234567890:role/fc-test" string serviceId optional 系统为每个service生成的唯一ID Example : "2d28e0e9-9ba5-4eed-8b1a-d3d9cd24e737" string serviceName optional Example : "demo-service" string vpcConfig optional vpc配置, 配置后function可以访问指定VPC VPCConfig ListTriggers GET /services/{serviceName}/functions/{functionName}/triggers Description 获取trigger列表 Parameters Type Name Description Schema Default Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Path functionName required function名称 string Path serviceName required service名称 string Query limit optional 限定此次返回资源的数量。如果不设定,默认返回20,最大不能超过100。返回结果可能小于指定的数量,但不会多于指定的数量 integer (int32) 20 Query nextToken optional 用来返回更多结果。第一次查询不需要提供这个参数,后续查询的token从返回结果中获取 string Query prefix optional 限定返回的资源名称必须以prefix作为前缀 string Query startKey optional 设定结果从startKey之后(包括startKey)按字母排序的第一个开始返回 string Responses HTTP Code Description Schema 200 请求成功 Response 200 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service或function不存在,错误码:ServiceNotFound,FunctionNotFound Error 500 服务内部错误,错误码:InternalServerError Error Response 200 Name Schema nextToken optional NextToken triggers optional < TriggerResponse > array ListVersions GET /services/{serviceName}/versions Description 获取version列表 Parameters Type Name Description Schema Default Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Path serviceName required service名称 string Query limit optional 限定此次返回资源的数量。如果不设定,默认返回20,最大不能超过100。返回结果可能小于指定的数量,但不会多于指定的数量 integer (int32) 20 Query nextToken optional 用来返回更多结果。第一次查询不需要提供这个参数,后续查询的token从返回结果中获取 string Query startKey optional 设定结果从startKey之后(包括startKey)按版本号排序的第一个开始返回 string Query direction optional 限定返回的资源排序方向 string BACKWARD Responses HTTP Code Description Schema 200 请求成功 Response 200 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service不存在,错误码:ServiceNotFound Error 500 服务内部错误,错误码:InternalServerError Error Response 200 Name Schema nextToken optional NextToken versions optional < VersionResponse > array direction optional string ListAliases GET /services/{serviceName}/aliases Description 获取alias列表 Parameters Type Name Description Schema Default Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Path serviceName required service名称 string Query limit optional 限定此次返回资源的数量。如果不设定,默认返回20,最大不能超过100。返回结果可能小于指定的数量,但不会多于指定的数量 integer (int32) 20 Query nextToken optional 用来返回更多结果。第一次查询不需要提供这个参数,后续查询的token从返回结果中获取 string Query prefix optional 限定返回的资源名称必须以prefix作为前缀 string Query startKey optional 设定结果从startKey之后(包括startKey)按字母排序的第一个开始返回 string Responses HTTP Code Description Schema 200 请求成功 Response 200 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service不存在,错误码:ServiceNotFound Error 500 服务内部错误,错误码:InternalServerError Error Response 200 Name Schema nextToken optional NextToken aliases optional < AliasResponse > array UpdateFunction PUT /services/{serviceName}/functions/{functionName} Description 更新function Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Header If-Match optional 用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update API的响应 string Path functionName required function名称 string Path serviceName required service名称 string Body function required function更新对象描述 FunctionUpdateFields Responses HTTP Code Description Schema 200 请求成功 Headers : ETag (string) : function etag,用于更改function。以确保实际更改的function和期望更改的function是一致的. FunctionResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service或function不存在,错误码:ServiceNotFound,FunctionNotFound Error 409 多个线程同时更新,错误码:ConcurrentUpdateError Error 500 服务内部错误,错误码:InternalServerError Error UpdateService PUT /services/{serviceName} Description 更新service Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Header If-Match optional 用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update API的响应 string Path serviceName required service名称 string Body body required service更新描述 ServiceUpdateFields Responses HTTP Code Description Schema 200 请求成功 Headers : ETag (string) : service etag,用于更改service。以确保实际更改的service和期望更改的service是一致的. ServiceResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service不存在,错误码:ServiceNotFound Error 409 多个线程同时更新,错误码:ConcurrentUpdateError Error 500 服务内部错误,错误码:InternalServerError Error UpdateTrigger PUT /services/{serviceName}/functions/{functionName}/triggers/{triggerName} Description 更新trigger Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Header If-Match optional 用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update API的响应 string Path functionName required function名称 string Path serviceName required service名称 string Path triggerName required trigger名称 string Body body required 更新字段描述 TriggerUpdateFields Responses HTTP Code Description Schema 200 请求成功 Headers : ETag (string) : trigger etag,用于更改trigger。以确保实际更改的trigger和期望更改的trigger是一致的. TriggerResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 service,function,trigger不存在,错误码:ServiceNotFound,FunctionNotFound,TriggerNotFound Error 409 多个线程同时更新,错误码:ConcurrentUpdateError Error 500 服务内部错误,错误码:InternalServerError Error UpdateAlias PUT /services/{serviceName}/aliases/{aliasName} Description 更新alias Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Header If-Match optional 用于确保实际更改的资源和期望更改的资源是一致的,该值来自Create,Get和Update Alias API的响应 string Path serviceName required service名称 string Path aliasName required alias名称 string Body alias required alias更新对象描述 AliasUpdateFields Responses HTTP Code Description Schema 200 请求成功 Headers : ETag (string) : alias etag,用于更改alias。以确保实际更改的alias和期望更改的alias是一致的. AliasResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 aliase或version不存在,错误码:AliasNotFound,VersionNotFound Error 409 多个线程同时更新,错误码:ConcurrentUpdateError Error 500 服务内部错误,错误码:InternalServerError Error createCustomDomain: POST /custom-domains Request: Type Name Description Schema Header Host(required) 用户 endpoint: $account-id.$region.fc.aliyuncs.com string Body body(required) CustomDomainConfig 对象 CustomDomainConfig Response: HTTP Code Description Schema 200 请求成功 CustomDomainResponse 400 请求无效,错误码:InvalidArgument,LimitExceededError,DomainNameNotResolved Error 403 AccessDenied, InvalidAccessKeyId, SignatureNotMatch Error 409 CustomDomainAlreadyExists Error 500 服务内部错误,错误码:InternalServerError Error updateCustomDomain PUT /custom-domains/{CustomDomain} Request: Type Name Description Schema Header Host(required) 用户 endpoint: $account-id.$region.fc.aliyuncs.com string Path CustomDomain(required) 域名 string Body body(required) CustomDomainConfig 对象 CustomDomainConfig Response: HTTP Code Description Schema 200 请求成功 CustomDomainResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied, InvalidAccessKeyId, SignatureNotMatch Error 404 CustomDomainNotFound Error 409 CustomDomainAlreadyExist, ConcurrentUpdateError Error 500 服务内部错误,错误码:InternalServerError Error getCustomDomain GET /custom-domains/{domainaName} Request: Type Name Description Schema Header Host(required) 用户endpoint: $account-id.$region.fc.aliyuncs.com string Path CustomDomain(required) 域名 string Response: HTTP Code Description Schema 200 请求成功 CustomDomainResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied, InvalidAccessKeyId, SignatureNotMatch Error 404 CustomDomain 不存在,错误码:CustomDomainNotFound Error 500 服务内部错误,错误码:InternalServerError Error listCustomDomain GET /custom-domains Request: Type Name Description Schema Header Host(required) 用户endpoint: $account-id.$region.fc.aliyuncs.com string Query limit(optional) 限定此次返回资源的数量。如果不设定,默认返回20,最大不能超过100。返回结果可能小于指定的数量,但不会多于指定的数量 integer (int32) Query nextToken(optional) 用来返回更多结果。第一次查询不需要提供这个参数,后续查询的token从返回结果中获取。 string Query prefix(optional) 限定返回的资源名称必须以prefix作为前缀。 string Query startKey(optional) 设定结果从 startKey 之后(包括startKey)按字母排序的第一个开始返回 string Response: HTTP Code Description Schema 200 请求成功 CustomDomainResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied, InvalidAccessKeyId, SignatureNotMatch Error 500 服务内部错误,错误码:InternalServerError Error deleteCustomDomain DELETE /custom-domains/{domainaName} Request: Type Name Description Schema Header Host(required) 用户endpoint: $account-id.$region.fc.aliyuncs.com string Path CustomDomain(required) 域名名称 string Response: HTTP Code Description Schema 204 请求成功 No Content 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied, InvalidAccessKeyId, SignatureNotMatch Error 404 CustomDomain 不存在,错误码:CustomDomainNotFound Error 500 服务内部错误,错误码:InternalServerError Error putProvisionConfig: PUT /services/{ServiceName}.{Qualifier}/functions/{FunctionName}/provision-config Request: Type Name Description Schema Header Host(required) 用户 endpoint: $account-id.$region.fc.aliyuncs.com string Header If-Match optional 用于确保实际更改的资源和期望更改的资源是一致的,该值来自Get和Put API的响应 string Path serviceName required service名称 string Path qualifier required alias名称 string Path functionName required function名称 string Body body required put provision target描述 PutProvisionConfigFields Response: HTTP Code Description Schema 200 请求成功 Headers : ETag (string) : provision config etag, 以确保实际更改的provision config和期望更改的provision config是一致的。 ProvisionTargetResponse 400 请求无效,错误码:InvalidArgument Error 403 AccessDenied, InvalidAccessKeyId, SignatureNotMatch Error 412 Etag不匹配,错误码:PreconditionFailed Error 500 服务内部错误,错误码:InternalServerError Error getProvisionConfig GET /services/{ServiceName}.{Qualifier}/functions/{FunctionName}/provision-config Request: Type Name Description Schema Header Host(required) 用户endpoint: $account-id.$region.fc.aliyuncs.com string Path serviceName required service名称 string Path qualifier required alias名称 string Path functionName required function名称 string Response: HTTP Code Description Schema 200 请求成功 Headers : ETag (string) : provision config etag, 以确保实际更改的provision config和期望更改的provision config是一致的。 ProvisionConfigResponse 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied, InvalidAccessKeyId, SignatureNotMatch Error 500 服务内部错误,错误码:InternalServerError Error listProvisionConfigs GET /provision-configs Request: Type Name Description Schema Header Host(required) 用户endpoint: $account-id.$region.fc.aliyuncs.com string Query limit(optional) 限定此次返回资源的数量。如果不设定,默认返回20,最大不能超过100。返回结果可能小于指定的数量,但不会多于指定的数量 integer (int32) Query nextToken(optional) 用来返回更多结果。第一次查询不需要提供这个参数,后续查询的token从返回结果中获取。 string Query serviceName(optional) 限定返回的资源名称必须属于该service。 string Query qualifier(optional) 限定返回的资源名称必须属于该qualifier。qualifier只能是aliasName,且必须和serviceName共同使用 string Response: HTTP Code Description Schema 200 请求成功 Response 200 400 请求无效,错误码:InvalidArgument Error 403 拒绝请求,错误码:AccessDenied, InvalidAccessKeyId, SignatureNotMatch Error 500 服务内部错误,错误码:InternalServerError Error Response 200 Name Schema provisionConfigs optional < ProvisionConfigResponse > array nextToken optional NextToken Definitions Code 支持两种方式提供 code 的 zip 包 指定存储code zip包的ossBucketName和ossObjectName 指定zipFile为zip包的base64编码内容, 在一次请求中必须且只能使用其中的一种。 Name Description Schema ossBucketName optional function code包的bucket name string ossObjectName optional code zip包的object name string zipFile optional 直接在request body中上传code zip包的base64编码 string Error 系统返回的error对象 Name Description Schema errorCode optional 错误码 string errorMessage optional 详细的错误信息描述 string Function Name Description Schema code required 指定code zip包 Code description optional string functionName required function名称 string handler required function执行的入口,具体格式和语言相关 string memorySize optional function的内存规格,单位为MB,最小为128MB,最大1536MB,为64MB的倍数 integer runtime required function的运行环境,目前支持nodejs6, nodejs8, python2.7, python3, java8 string EnvironmentVariables optional 为函数设置的环境变量,可以在函数中获取环境变量的值 map timeout optional function运行的超时时间,单位为秒,最小1秒,最长5分钟,默认3秒。function超过这个时间后会被终止执行 integer initializer optional 初始化 function 执行的入口,具体格式和语言相关 string initializationTimeout optional 初始化 function 运行的超时时间,单位为秒,最小1秒,最长5分钟,默认3秒。初始化 function 超过这个时间后会被终止执行 integer FunctionCodeResponse Name Description Schema checksum optional crc64 checksum Example : "1234567890" string url optional Example : "http://func-code.oss-cn-shanghai.aliyuncs.com/1a2b3c4d5e6f" string FunctionResponse Name Description Schema codeChecksum optional function code包的CRC64值 Example : "5434025278388143772" string codeSize optional 系统返回的function的code包大小,单位为byte Example : 1024 integer (int64) createdTime optional function创建时间 Example : "2016-08-15T15:00:00.000+0000" string description optional Example : "This is a demo hello world function." string functionId optional 系统为每个function生成的唯一ID Example : "2d28e0e9-9ba5-4eed-8b1a-d3d9cd24e737" string functionName optional Example : "helloworld" string handler optional function的执行入口 Example : "hello_world.main" string lastModifiedTime optional function上次修改时间 Example : "2016-08-15T17:00:00.000+0000" string memorySize optional function设置的内存大小,单位为MB Example : 512 integer (int32) runtime optional function运行的语言环境,目前支持nodejs6, nodejs8, python2.7, python3, java8 Example : "nodejs4.4" string EnvironmentVariables optional 为函数设置的环境变量,可以在函数中获取环境变量的值 map timeout optional 运行的超时时间,单位为秒 Example : 10 integer (int32) FunctionUpdateFields function可以更新的字段描述 Name Description Schema code optional 指定code zip包 Code description optional string handler optional function执行的入口,具体格式和语言相关 string memorySize optional function的内存规格,单位为MB,最小为128MB,最大1536MB,为64MB的倍数,默认128MB integer runtime optional function的运行环境,目前支持nodejs6, nodejs8, python2.7, python3, java8 string EnvironmentVariables optional 为函数设置的环境变量,可以在函数中获取环境变量的值 map timeout optional function运行的超时时间,单位为秒,最小1秒,最长5分钟,默认3秒。function超过这个时间后会被终止执行 integer InvokeResponse invoke function返回的结果,函数具体的返回内容由用户解释 Type : binary LogConfig logging 配置 Name Description Schema logstore optional loghub中的logstore名称 string project optional loghub中的project名称 string NextToken 用来返回更多的查询结果。如果这个值没有返回,则说明没有更多结果 Type : string Service service对象描述 Name Description Schema description optional service的简短描述 string internetAccess optional 设为true让function可以访问公网 Example : true boolean logConfig optional log配置,function产生的log会写入这里配置的logstore LogConfig role optional 授予函数计算所需权限的RAM role, 使用场景包含 1. 把 function产生的 log 发送到用户的 logstore 中 2. 为function 在执行中访问其它云资源生成 token Example : "acs:ram::1234567890:role/fc-test" string serviceName required service名称 string vpcConfig optional vpc配置, 配置后function可以访问指定VPC VPCConfig nasConfig optional NAS配置, 配置后function可以访问指定NAS NASConfig ServiceResponse Name Description Schema createdTime optional service的创建时间 Example : "2016-08-15T16:06:05.000+0000" string description optional service的简短描述信息 Example : "This is a demo service." string internetAccess optional 设为true让function可以访问公网 Example : true boolean lastModifiedTime optional service上次更新时间 Example : "2016-08-16T18:00:00.000+0000" string logConfig optional logging 配置,function产生的log会写入这里配置的logstore LogConfig role optional 授予函数计算所需权限的RAM role, 使用场景包含 1. 把 function产生的 log 发送到用户的 logstore 中 2. 为function 在执行中访问其它云资源生成 token Example : "acs:ram::1234567890:role/fc-test" string serviceId optional 系统为每个service生成的唯一ID Example : "2d28e0e9-9ba5-4eed-8b1a-d3d9cd24e737" string serviceName optional Example : "demo-service" string vpcConfig optional vpc配置, 配置后function可以访问指定VPC VPCConfig nasConfig optional NAS配置, 配置后function可以访问指定NAS NASConfig ServiceUpdateFields service可更新字段描述 Name Description Schema description optional string internetAccess optional 设为true让function可以访问公网 Example : true boolean logConfig optional log配置,function产生的log会写入这里配置的logstore LogConfig role optional 授予函数计算所需权限的RAM role, 使用场景包含 1. 把 function产生的 log 发送到用户的 logstore 中 2. 为function 在执行中访问其它云资源生成 token Example : "acs:ram::1234567890:role/fc-test" string vpcConfig optional vpc配置, 配置后function可以访问指定VPC VPCConfig nasConfig optional NAS配置, 配置后function可以访问指定NAS NASConfig Trigger Name Description Schema invocationRole required event source,如OSS,使用该role去invoke function Example : "acs:ram::1234567890:role/fc-test" string sourceArn required event source的Aliyun Resource Name(ARN) Example : "acs:oss:cn-shanghai:12345:mybucket" string triggerConfig required trigger配置,针对不同的trigger类型,trigger配置会有所不同 object triggerName required trigger名称 Example : "image_resize" string triggerType required trigger类型 Example : "oss" string qualifier optional service版本 Example : "LATEST" string TriggerResponse Name Description Schema createdTime optional 创建时间 Example : "2016-08-15T15:00:00.000+0000" string invocationRole optional string lastModifiedTime optional 上次修改时间 Example : "2016-08-15T17:00:00.000+0000" string sourceArn optional string triggerConfig optional object triggerName optional string triggerType optional string qualifier optional string TriggerUpdateFields Name Description Schema invocationRole optional event source,如OSS,使用该role去invoke function Example : "acs:ram::1234567890:role/fc-test" string triggerConfig optional trigger配置,针对不同的trigger类型,trigger配置会有所不同 object qualifier optional service版本 Example : "LATEST" string VPCConfig VPC 配置 Name Description Schema securityGroupId required 安全组ID string vSwitchIds required 一个或多个VSwitch ID < string > array vpcId required VPC ID string NASConfig NAS 配置 Name Description Schema userId required userID string groupId required groupID string mountPoints required 挂载点 < MountPoint > array MountPoint 挂载点 Name Description Schema serverAddr required NAS 服务器地址 string mountDir required 本地挂载目录 string CustomDomainConfig 对象描述 Name Description Schema DomainName(required) 域名 string Protocol(required) HTTP 或 HTTP,HTTPS string ApiVersion(optional) api_version string RouteConfig(optional) 路由表:自定义域名访问时的 path 到 function 的映射 RouteConfig CertConfig(optional) https证书信息 CertConfig RouteConfig 对象描述 Name Description Schema Routes(required) 是路由的数组 PathConfig Array PathConfig 对象描述 Name Description Schema path(required) 自定义域名 request 的路径,例如:”/login/*” string serviceName(required) path 对应的 function 所在的 service,例如:”blogService” string functionName(required) path 对应的 function ,例如:”login” string CertConfig 对象描述 Name Description Schema certName(required) 证书的自定义名字 string privateKey(required) 私钥 string certificate(required) 证书 string CustomDomainResponse 对象描述 Name Description Schema CreatedTime 绑定域名的时间 string LastModifiedTime 更新域名信息的时间 string CustomDomain 用户域名 string Protocol 协议类型 string ApiVersion api 版本 string RouteConfig 路由表配置 RouteConfig CertConfig(optional) https证书信息 CertConfig Version Name Description Schema versionId required service版本号 Example : "1" string description optional service版本描述 Example : "my service version" string VersionResponse Name Description Schema createdTime optional 创建时间 Example : "2016-08-15T15:00:00.000+0000" string lastModifiedTime optional 上次修改时间 Example : "2016-08-15T17:00:00.000+0000" string versionId optional string description optional string Alias Name Description Schema aliasName required service版本别名 Example : "my-alias" string versionId required alias指向的版本 Example : "1" string description optional alias的描述 object additionalVersionWeight optional 灰度发布的版本,以及对应的流量权重 Example : "2:0.05" map AliasResponse Name Description Schema createdTime required 创建时间 Example : "2016-08-15T15:00:00.000+0000" string lastModifiedTime required 上次修改时间 Example : "2016-08-15T17:00:00.000+0000" string aliasName required string versionId required string description optional string additionalVersionWeight optional map AliasUpdateFields Name Description Schema versionID required alias指向的版本 Example : "1" string description optional alias的描述 object additionalVersionWeight optional 灰度发布的版本,以及对应的流量权重 Example : "2:0.05" map PutProvisionConfigFields Name Description Schema target required 目标资源个数 Example : "1" integer (int64) ProvisionTargetResponse Name Description Schema resource required 资源描述 Example : "12345#servierName#qualifier#functionName" string target required 目标资源个数 Example : "1" integer (int64) ProvisionConfigResponse Name Description Schema resource required 资源描述 Example : "12345#servierName#qualifier#functionName" string target required 目标资源个数 Example : "1" integer (int64) current required 实际资源个数 Example : "1" integer (int64) TagResource POST /tag Description 给资源打标签 Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Body body required tagResourceBody json Responses HTTP Code Description Schema 200 给指定的资源打标签成功 无 400 请求无效,错误码: InvalidArgument Error 403 拒绝请求,错误码: AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 资源不存在,错误码: ServiceNotFound Error 500 服务内部错误,错误码: InternalServerError Error tagResourceBody Argument Type Required Description resourceArn string yes Resource ARN. ARN 全称或者简称 tags string to string map yes tag 字典, length 至少为 1, 最大为 20 注:目前只能给 top level 资源 service 进行标签的相关操作, ARN 可以是类似 services/foo 或者 acs:fc:cn-shanghai:123456789:services/foo UntagResource DELETE /tag Description 给资源取消标签 Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Body body required unTagResourceBody json Responses HTTP Code Description Schema 200 取消指定资源标签成功 无 400 请求无效,错误码: InvalidArgument Error 403 拒绝请求,错误码: AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 资源不存在,错误码: ServiceNotFound Error 500 服务内部错误,错误码: InternalServerError Error unTagResourceBody Argument Type Required Description resourceArn string yes Resource ARN. ARN 全称或者简称 tagKeys string array no tag key 值列表, 最大为20,当 all=false, length 至少为 1. 当 length 大于 1 时, 可以忽略 all 值 all bool no 删除所有 tag,默认值为 false GetResourceTags GET /tag Description 获取资源所有的标签信息 Parameters Type Name Description Schema Header Host required 访问域名:$account-id.$region.fc.aliyuncs.com string Query resourceArn required Resource ARN. ARN 全称或者简称 string Responses HTTP Code Description Schema 200 获取指定资源标签成功 GetResourceTagsResponse 400 请求无效,错误码: InvalidArgument Error 403 拒绝请求,错误码: AccessDenied,InvalidAccessKeyId,SignatureNotMatch,RequestTimeTooSkewed Error 404 资源不存在,错误码: ServiceNotFound Error 500 服务内部错误,错误码: InternalServerError Error GetResourceTagsResponse Argument Type Description resourceArn string Resource ARN 全称 tags string to string map tag 字典
1934890530796658 2020-03-27 17:57:19 0 浏览量 回答数 0

问题

游戏客户快速扩展服务器的解决方案

游戏客户快速扩展服务器的解决方案 ECS产品快速扩展服务器的解决方案 一.引言 1、游戏行业浅谈       如今的网络游戏市场风生水起,呈现出一片蓬勃发展的势头。2013年中国手机游戏市场规模达...
nono20011908 2019-12-01 21:07:16 16190 浏览量 回答数 5

问题

程序员报错QA大分享(1)

程序员报错QA征集第一弹来了哦~包含QA分享一期征集的部分内容,链接附带解决方案,可收藏哦~ npm install安装依赖一直报错?报错https://developer.aliyun.com/ask/301...
问问小秘 2020-06-18 15:46:14 1684 浏览量 回答数 2

回答

背景 ECI容器组实例创建过程中,大部分时间消耗在镜像下载阶段,为加速ECI容器组创建速度,ECI提供镜像缓存功能,用户事先将需要用到的镜像作为云盘快照缓存,在创建ECI容器组实例时基于快照创建,避免或减少镜像层下载,从而提升ECI容器组实例创建速度。经实测,基于dockerhub的flink镜像(386.26MB)创建Pod,普通创建eci过程中,镜像准备阶段需要耗费50s,使用镜像快照后镜像准备阶段仅需5s。因此在创建eci过程中,镜像准备阶段节省时间45s。具体的提升速度跟Pod使用的镜像个数,镜像大小和镜像仓库网络因素决定。 为方便kubernetes用户也可以使用到ECI的镜像缓存功能,因此以CRD的方式将ECI镜像缓存功能暴露给kubernetes用户。重点强调:ImageCache CRD在kubernetes集群中为Cluster级别的资源,类似于PV,被集群内所有namespace共享。 准备工作 验证您的kubernetes集群是否支持ImageCache: $ kubectl get crd/imagecaches.eci.alibabacloud.com NAME CREATED AT imagecaches.eci.alibabacloud.com 2019-09-27T01:15:07Z 输出以上信息,证明您的kubernetes集群已经支持ImageCache。 kubectl get crd/imagecaches.eci.alibabacloud.com Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "imagecaches.eci.alibabacloud.com" not found 输出以上信息,证明您的kubernetes集群不支持ImageCache,需要升级virtual-kubelet实现支持ImageCache。 virtual-kubelet升级方式: 阿里云 serverless kubernetes集群:由管理员统一负责升级 阿里云 托管 kubernetes集群:用户更新 阿里云 专有 kubernetes集群:用户更新 阿里云 自建 kubernetes集群:用户更新 准备工作完成后,您可以在您的kubernetes集群中,创建ImageCache资源,并且可以使用ImageCache创建Pod。 注:如果您的集群的ImageCache CRD不是最新的,不支持ImageCache CRD新增的参数,建议升级完virtual-kubelet后,执行如下命令: kubectl apply -f imagecache-crd-sample.yaml imagecache-crd-sample.yaml: apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: imagecaches.eci.alibabacloud.com spec: group: eci.alibabacloud.com version: v1 names: kind: ImageCache plural: imagecaches shortNames: - ic categories: - all scope: Cluster subresources: status: {} validation: openAPIV3Schema: required: - spec properties: spec: type: object required: - images properties: imagePullSecrets: type: array items: type: string images: minItems: 1 type: array items: type: string imageCacheSize: type: integer retentionDays: type: integer additionalPrinterColumns: - name: Age type: date JSONPath: .metadata.creationTimestamp - name: CacheId type: string JSONPath: .status.imageCacheId - name: Phase type: string JSONPath: .status.phase - name: Progress type: string JSONPath: .status.progress ImageCache基本操作 创建 CustomResourceDefinition 对象后,您可以操作ImageCache资源。 ImageCache全参数YAML文件: apiVersion: eci.alibabacloud.com/v1 kind: ImageCache metadata: name: imagecache-sample spec: images: - centos:latest - busybox:latest imagePullSecrets: - default:secret1 - default:secret2 - kube-system:secret3 imageCacheSize: 25 retentionDays: 7 参数说明: 名称 类型 必选 描述 spec.images []string Y 镜像列表 spec.imagePullSecrets []string N 镜像仓库对应的Secret列表, 格式:。如果images列表中有用户私有仓库镜像,需要用户为私有镜像仓库创建secret,然后根据namespace:secretName格式,设置此参数。如若images中均是共有镜像,不需要设置此参数 spec.imageCacheSize int N 镜像缓存使用的快照盘大小,默认为20GB,取值范围为:[20, 32768],单位为GB spec.retentionDays int N 镜像缓存保留的时间,取值范围[1,65536],默认永不过期。 创建ImageCache 创建ImageCahce: kubectl create -f imagecache-secrets-test.yaml apiVersion: eci.alibabacloud.com/v1 kind: ImageCache metadata: name: imagecache-sample-liu spec: images: - centos:latest - busybox:latest imagePullSecrets: - default:secret1 - default:secret2 - kube-system:secret3 imageCacheSize: 25 retentionDays: 7 查看ImageCache状态: liumihustdeMacBook-Pro:vk-debug liumihust$ kubectl get imagecache imagecache-sample-liu NAME AGE CACHEID PHASE PROGRESS imagecache-sample-liu 20h imc-2zeditzeoemfhqor4rf8 Ready 100% 查询ImageCache 获取Cluster下全部ImageCache列表: kubectl get imagecache imagecache-sample-liu -o yaml 查看ImageCache详情(包括属性、状态以及事件): $ kubectl get imagecache/imagecache-secrets-test -o yaml apiVersion: eci.alibabacloud.com/v1 kind: ImageCache metadata: creationTimestamp: "2019-10-24T13:40:56Z" generation: 1 name: imagecache-sample-liu resourceVersion: "212484735" selfLink: /apis/eci.alibabacloud.com/v1/imagecaches/imagecache-sample-liu uid: e83a1c53-f663-11e9-a0d4-fa13fc175b32 spec: imageCacheSize: 25 images: - busybox:latest - nginx status: events: - count: 1 eventTime: null firstTimestamp: "2019-10-24T13:41:40Z" involvedObject: {} lastTimestamp: "2019-10-24T13:41:40Z" message: Success pull image busybox:latest metadata: creationTimestamp: null name: busybox:latest reportingComponent: "" reportingInstance: "" source: component: kubelet host: eci type: Normal - count: 1 eventTime: null firstTimestamp: "2019-10-24T13:42:04Z" involvedObject: {} lastTimestamp: "2019-10-24T13:42:04Z" message: Success pull image nginx metadata: creationTimestamp: null name: nginx reportingComponent: "" reportingInstance: "" source: component: kubelet host: eci type: Normal - count: 1 eventTime: null firstTimestamp: "2019-10-24T13:42:06Z" involvedObject: {} lastTimestamp: "2019-10-24T13:42:06Z" message: Success pull image registry-vpc.cn-beijing.aliyuncs.com/acs/pause-amd64:3.0 metadata: creationTimestamp: null name: registry-vpc.cn-beijing.aliyuncs.com/acs/pause-amd64:3.0 reportingComponent: "" reportingInstance: "" source: component: kubelet host: eci type: Normal imageCacheId: imc-2zeditzeoemfhqor4rf8 expireDateTime: "2019-10-25T13:40:54Z" lastUpdatedTime: "2019-10-24T13:44:17Z" phase: Ready progress: 100% startTime: "2019-10-24T13:40:58Z" ImageCache快速创建Pod ImageCache资源是Cluster级别的,所以在不同的namespace下创建Pod都可以使用ImageCache实现创建Pod。 使用ImageCache快速创建Pod有两种使用方式: 明确指定方式:在创建pod时,明确的指定使用哪个ImageCacheId创建Pod 自动匹配方式:在创建Pod时,根据匹配策略自动选择最优的ImageCache创建Pod 明确指定方式 这种使用方式,有一个前提条件就是ImageCache状态必须为Ready状态,其他状态的ImageCache会导致Pod创建失败。 Deployment使用方式: 在PodTemplate增加Annotation关联ImageCache: apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx annotations: k8s.aliyun.com/eci-image-snapshot-id: imc-2ze5tm5gehgtiigaz5jh spec: nodeName: virtual-kubelet containers: - name: nginx image: nginx:1.7.9 imagePullPolicy: IfNotPresent Pod使用方式: 在Pod的Yaml文件中增加Annotation关联ImageCache: apiVersion: v1 kind: Pod metadata: annotations: k8s.aliyun.com/eci-image-snapshot-id: imc-2ze5tm5gehgtiigaz5jh name: nginx-imagecache-id spec: containers: - image: nginx:1.7.9 imagePullPolicy: IfNotPresent name: nginx resources: limits: cpu: 300m memory: 200Mi requests: cpu: 200m memory: 100Mi nodeName: virtual-kubelet 自动匹配方式 在创建Pod时,用户通过Annotation方式,声明使用自动匹配ImageCache方式快速创建Pod,ECI管控基于用户已有的ImageCache列表依据策略进行匹配,匹配出最优的ImageCache创建Pod。如果没有匹配到合适的ImageCache,执行正常下载镜像创建Pod流程。 目前匹配策略的优先级从高到底: 镜像匹配度 匹配的镜像大小 创建时间 Deployment使用方式: 在PodTemplate增加Annotation关联ImageCache,告知ECI管控在创建Pod时是否启用自动匹配ImageCache: apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx annotations: k8s.aliyun.com/eci-image-cache: "true" spec: nodeName: virtual-kubelet containers: - name: nginx image: nginx:1.7.9 imagePullPolicy: IfNotPresent Pod使用方式: 基于Annotation方式,在Pod的Yaml文件中增加Annotation: apiVersion: v1 kind: Pod metadata: annotations: k8s.aliyun.com/eci-image-cache: "true" name: nginx-auto-match spec: containers: - image: nginx:1.7.9 imagePullPolicy: IfNotPresent name: nginx resources: limits: cpu: 300m memory: 200Mi requests: cpu: 200m memory: 100Mi nodeName: virtual-kubelet 使用建议 Pod中容器的image建议采用ImageCache中镜像,提高匹配度。 Pod中容器的ImagePullPolicy建议设置为IfNotPresent,避免镜像层重复下载。 Tip: 在创建Pod时,k8s.aliyun.com/eci-image-snapshot-id和k8s.aliyun.com/eci-image-cache同时设置时,明确指定方式优先级高于自动匹配方式 注:如果是deployment,使用cache的Annotation应该放在pod级别,而不是放在deployment级别,否则会设置失效。 删除ImageCache 删除ImageCache时,不影响基于ImageCache创建成功的Pod实例。 操作如下: $ kubectl get imagecache/imagecache-secrets-test NAME AGE CACHEID PHASE PROGRESS imagecache-secrets-test 14h imc-2ze5tm5gehgtjru0kfm8 Ready 100% $ kubectl delete imagecache/imagecache-secrets-test imagecache.eci.alibabacloud.com " imagecache-secrets-test" deleted $ kubectl get imagecache/ imagecache-secrets-test Error from server (NotFound): imagecaches.eci.alibabacloud.com " imagecache-secrets-test" not found kubernetes ImageCache API文档 Group Version Kind eci.alibabacloud.com v1 ImageCache ImageCache v1 eci.alibabacloud.com ImageCacheList: Field Type Description apiVersion string api版本: eci.alibabacloud.com/v1 kind string 资源类别: ImageCacheList metadata ListMeta Standard list metadata. Items []ImageCache 镜像缓存列表 ImageCache: Field Type Description apiVersion string api版本: eci.alibabacloud.com/v1 kind string 资源类别: ImageCache metadata ObjectMeta spec ImageCacheSpec 镜像缓存详细信息 status ImageCacheStatus 镜像缓存状态信息 ImageCacheSpec: Field Type Request Description images []string Y 镜像缓存的镜像列表 imagePullSecrets []string N 私有镜像仓库对应的Secret列表,格式:namespace:secretName imageCacheSize int N 镜像缓存的大小,默认为20GB,取值范围为:[20, 32768],单位为GB retentionDays int N 镜像缓存保留的时间,取值范围[1,65536],默认永不过期。 ImageCacheStatus: Field Type Description phase string 镜像缓存状态 progress string 标示制作过程中进度 imageCacheId string 镜像缓存ID,调用Provdier的Create操作返回,然后更新到ImageCache对象 startTime Time 镜像缓存对象创建时间 lastUpdatedTime Time 镜像缓存最后更新时间 events []Event 制作镜像cache过程中的事件信息 expireDateTime Time 镜像缓存的过期时间,有两种来源:1、用户设置了retentionDays;2、制作失败的镜像缓存自动在24小时后过期。 CreateImageCache 创建镜像缓存对象 Http Request POST /apis/eci.alibabacloud.com/v1/imagecaches curl request example curl -X POST -H 'Content-Type: application/yaml' --data ' apiVersion: eci.alibabacloud.com/v1 kind: ImageCache metadata: name: imagecache-secrets-test spec: images: - registry.cn-shanghai.aliyuncs.com/baz/nginx:1.0 imagePullSecrets: - default:acr-test ' http://127.0.0.1:8001/apis/eci.alibabacloud.com/v1/imagecaches curl response example { "apiVersion": "eci.alibabacloud.com/v1", "kind": "ImageCache", "metadata": { "creationTimestamp": "2019-10-10T03:50:47Z", "generation": 1, "name": "imagecache-secrets-test", "resourceVersion": "647052328", "selfLink": "/apis/eci.alibabacloud.com/v1/imagecaches/imagecache-secrets-test11", "uid": "2506ba37-eb11-11e9-9576-f2ef49bf1a08" }, "spec": { "imagePullSecrets": [ "default:acr-test" ], "images": [ "registry.cn-shanghai.aliyuncs.com/baz/nginx:1.0" ] } } ListImageCache 获取镜像缓存列表 Http Request GET /apis/eci.alibabacloud.com/v1/imagecaches curl request example curl -X GET 'http://127.0.0.1:8001/apis/eci.alibabacloud.com/v1/imagecaches' curl response example { "apiVersion": "eci.alibabacloud.com/v1", "items": [ { "apiVersion": "eci.alibabacloud.com/v1", "kind": "ImageCache", "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{"apiVersion":"eci.alibabacloud.com/v1","kind":"ImageCache","metadata":{"annotations":{},"name":"imagecache-secrets-test"},"spec":{"imagePullSecrets":["default:acr-test"],"images":["registry.cn-shanghai.aliyuncs.com/baz/nginx:1.0"]}}\n" }, "creationTimestamp": "2019-10-10T01:43:48Z", "generation": 1, "name": "imagecache-secrets-test", "resourceVersion": "646375979", "selfLink": "/apis/eci.alibabacloud.com/v1/imagecaches/imagecache-secrets-test", "uid": "67460461-eaff-11e9-9774-b2c06862f69a" }, "spec": { "imagePullSecrets": [ "default:acr-test" ], "images": [ "registry.cn-shanghai.aliyuncs.com/baz/nginx:1.0" ] }, "status": { "imageCacheId": "imc-2ze5xnx4yiply807zo0o", "lastUpdatedTime": "2019-10-10T01:47:14Z", "phase": "Ready", "progress": "100%", "startTime": "2019-10-10T01:43:49Z" } } ], "kind": "ImageCacheList", "metadata": { "continue": "", "resourceVersion": "647062964", "selfLink": "/apis/eci.alibabacloud.com/v1/imagecaches" } } GetImageCache 获取某一个镜像缓存的相信信息 Http Request GET /apis/eci.alibabacloud.com/v1/imagecaches/{name} curl request example curl -X GET 'http://127.0.0.1:8001/apis/eci.alibabacloud.com/v1/imagecaches/imagecache-secrets-test' curl response example { "apiVersion": "eci.alibabacloud.com/v1", "kind": "ImageCache", "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{"apiVersion":"eci.alibabacloud.com/v1","kind":"ImageCache","metadata":{"annotations":{},"name":"imagecache-secrets-test"},"spec":{"imagePullSecrets":["default:acr-test"],"images":["registry.cn-shanghai.aliyuncs.com/baz/nginx:1.0"]}}\n" }, "creationTimestamp": "2019-10-10T01:43:48Z", "generation": 1, "name": "imagecache-secrets-test", "resourceVersion": "646375979", "selfLink": "/apis/eci.alibabacloud.com/v1/imagecaches/imagecache-secrets-test", "uid": "67460461-eaff-11e9-9774-b2c06862f69a" }, "spec": { "imagePullSecrets": [ "default:acr-test" ], "images": [ "registry.cn-shanghai.aliyuncs.com/baz/nginx:1.0" ] }, "status": { "imageCacheId": "imc-2ze5xnx4yiply807zo0o", "lastUpdatedTime": "2019-10-10T01:47:14Z", "phase": "Ready", "progress": "100%", "startTime": "2019-10-10T01:43:49Z" } } DeleteImageCache 删除指定镜像缓存 Http Request DELETE /apis/eci.alibabacloud.com/v1/imagecaches/{name} curl request example curl -X DELETE -H 'Content-Type: application/yaml' 'http://127.0.0.1:8001/apis/eci.alibabacloud.com/v1/imagecaches/imagecache-secrets-test' curl response example "kind": "Status", "apiVersion": "v1", "metadata": {}, "status": "Success", "details": { "name": "imagecache-secrets-test", "group": "eci.alibabacloud.com", "kind": "imagecaches", "uid": "67460461-eaff-11e9-9774-b2c06862f69a" } }
1934890530796658 2020-03-20 20:49:21 0 浏览量 回答数 0

问题

阿里云运维部署工具AppDeploy详细教程

本帖在ECS板块分开发过几个帖子,现在整合在一个帖子里,希望对大家有所帮助。 欢迎大家使用阿里云运维部署工具AppDeploy ,您若看到这篇文章说明您的工作涉及到服务器的运维和应用部署工作、...
阚俊宝 2019-12-01 20:59:13 17044 浏览量 回答数 1

问题

wttr.in 一个 Python 实现的命令行查看天气工具

wttr.in是面向控制台的天气预报服务,它支持各种信息表示方法,例如用于控制台HTTP客户端(curl,httpie或wget)的面向终端的ANSI序列,...
huc_逆天 2020-05-21 19:12:17 19 浏览量 回答数 1

问题

PHP加速 eAccelerator 配置和使用指南:配置报错 

前一段时间完成了服务器从FreeBSD4.10到6.1的升级,同时把PHP也升级到了最新的PHP5.1.4,Apache也升级到了最新的 Apache2.2,为了更好的提高系统的性能,...
kun坤 2020-06-02 15:46:18 0 浏览量 回答数 1

回答

公共请求参数 公共请求参数是指每个接口都需要使用到的请求参数。 参数名称 说明 选项 Authorization 用于验证请求合法性的认证信息,采用 AccessKeyId:Signature 的形式。 必须 Content-Length RFC 2616 中定义的 HTTP 请求内容长度。 必须 Content-Type RFC 2616 中定义的 HTTP 请求内容类型。 必须 Content-MD5 HTTP 协议消息体的 128-bit MD5 散列值转换成 BASE64 编码的结果。为了防止所有请求被篡改,建议所有请求都附加该信息。 必须 Date 请求的构造时间,目前只支持 GMT 格式。如果与 MNS 的服务器时间前后差异超过 15 分钟将返回本次请求非法。 必须 Host 访问 Host 值,例如:cr.cn-hangzhou.aliyuncs.com。 必须 Accept 客户端需要的返回值类型,支持 application/json 和 application/xml。 必须 x-acs-version API 版本号。参见 API版本。 必须 x-acs-region-id 地域(Region)指的是容器镜像所在的物理位置。参见 地域列表。 必须 x-acs-signature-nonce 唯一随机数,用于防止网络重放攻击。您在不同请求间要使用不同的随机数值。 必须 x-acs-signature-method 用户签名方式,目前只支持 HMAC-SHA1。 必须 示例 GET /namespaces HTTP/1.1 Authorization: acs ACSbW2iBbyX1Pk9N:mp/6Wdr18V3qAc5gbgsqMe/iB0c Content-Length: 0 Content-Type: application/json;charset=utf-8 Date: Wed, 23 May 2018 12:00:01 GMT Host: cr.cn-hangzhou.aliyuncs.com Accept: application/json x-acs-version: 2016-06-07 x-acs-region-id: cn-hangzhou x-acs-signature-nonce: f63659d4-10ac-483b-99da-ea8fde61eae3 x-acs-signature-version: 1.0 x-acs-signature-method: HMAC-SHA1 User-Agent: cr-sdk-python/3.0.0 (Darwin/15.2.0/x86_64;2.7.10) 公共返回 您发送的每次接口调用请求,无论成功与否,系统都会返回一个唯一识别码 RequestId。 示例 XML 示例: <?xml version="1.0" encoding="UTF-8"?> <接口名称+Response> <!--返回请求标签--> <RequestId>4C467B38-3910-447D-87BC-AC049166F216</RequestId> <!--返回结果数据--> </接口名称+Response> JSON 示例: { "RequestId": "4C467B38-3910-447D-87BC-AC049166F216" /* 返回结果数据 */ } 地域列表 地域名称 所在城市 RegionId 华北1 青岛 cn-qingdao 华北2 北京 cn-beijing 华北3 张家口 cn-zhangjiakou 华北5 呼和浩特 cn-huhehaote 华东1 杭州 cn-hangzhou 华东2 上海 cn-shanghai 华南1 深圳 cn-shenzhen 香港 香港 cn-hongkong 亚太东北1 东京 ap-northeast-1 亚太东南1 新加坡 ap-southeast-1 亚太东南2 悉尼 ap-southeast-2 亚太东南3 吉隆坡 ap-southeast-3 亚太东南5 雅加达 ap-southeast-5 亚太南部1 孟买 ap-south-1 美国东部1 弗吉尼亚 us-east-1 美国西部1 硅谷 us-west-1 中东东部1 迪拜 me-east-1 欧洲中部1 法兰克福 eu-central-1 金融云地域列表 地域名称 所在城市 RegionId 华东2 (上海金融云) cn-shanghai-finance-1 接入地址 阿里云容器镜像的 Open API 接入地址为 cr.{regionId}.aliyuncs.com。具体 RegionId 参见地域列表 通信协议 支持通过 HTTP 或 HTTPS 通道进行请求通信。为了获得更高的安全性,推荐您使用 HTTPS 通道发送请求。 请求方法 使用 HTTP 的 PUT、 POST、 GET、 DELETE 等 HTTP Method 发送不同的请求。 请求参数 每个请求都需要包含公共请求参数和指定 API 所特有的请求参数。 请求编码 请求及返回结果都使用UTF-8字符集进行编码。 调用 API 后返回数据采用统一格式,返回的 HTTP 状态码为 2XX,代表调用成功;返回 4XX 或 5XX 的 HTTP 状态码代表调用失败。 调用成功返回的数据格式主要有 XML 和 JSON 两种。外部系统可以在请求时,传入参数来制定返回的数据格式。默认为 XML 格式。 API 文档中的返回示例为了便于查看,做了格式化处理,实际返回结果没有进行换行、缩进等处理。 签名 API 签名包含两部分:公共请求头(HTTP 协议 Header 参数和阿里云协议 Header 参数)和 CanonicalizedResource(规范资源),Body 不计入签名。 Access Key ID和Access Key Secret由阿里云官方颁发给访问者(可以通过阿里云官方网站申请和管理),其中Access Key ID用于标识访问者的身份;Access Key Secret是用于加密签名字符串和服务器端验证签名字符串的密钥,必须严格保密,只有阿里云和用户知道。 系统会对每个访问的请求进行验证,每个提交的请求都需要在请求中包含签名(Signature)信息。系统通过使用Access Key ID和Access Key Secret进行对称加密的方法来验证请求的发送者身份。如果计算出来的验证码和提供的一样,即认为该请求是有效的;否则请求将被拒绝处理,并返回 HTTP 403 错误。 请求要求将签名包含在 HTTP Header 中,格式为 Authorization: acs [Access Key Id]:[Signature]。 签名计算方法 签名计算方法如下: Signature = base64(hmac-sha1(VERB + "\n" + ACCEPT + "\n" + + Content-MD5 + "\n" + Content-Type + "\n" + Date + "\n" + CanonicalizedHeaders + "\n" + CanonicalizedResource)) VERB 表示 HTTP 的 Method。比如示例中的 PUT。 Accept 客户端需要的返回值类型,支持 application/json 和 application/xml。 Content-MD5 表示请求内容数据的 MD5 值。 Content-Type 表示请求内容的类型。 Date 表示此次操作的时间,不能为空,目前只支持 GMT 格式。如果请求时间与服务器时间相差超过 15 分钟,系统会判定此请求不合法,并返回 400 错误。比如示例中的 Thu, 17 Mar 2018 18:00:00 GMT。 CanonicalizedHeaders 表示 HTTP 中以 x-acs- 开始的字段组合。 CanonicalizedResource 表示 HTTP 所请求资源的 URI (统一资源标识符)。比如 /namespaces。 CanonicalizedHeaders CanonicalizedHeaders(即以 x-acs- 开头的 Header)在签名验证前需要符合以下规范: 将所有以 x-acs- 为前缀的 HTTP 请求头的名字转换成小写字母。比如将 X-ACS-Meta-Name: TaoBao 转换为 x-acs-meta-name: TaoBao。阿里云规范请求头的名字是大小写不敏感的,建议全部使用小写。 如果一个公共请求头的值部分过长,则需要处理其中的 \t、\n、\r、\f分隔符,将其替换为英文半角的空格。 将上一步得到的所有 HTTP 阿里云规范头按照字典序进行升序排列。 删除请求头和内容之间分隔符两端出现的任何空格。比如将 x-acs-meta-name: TaoBao,Alipay 转换为 x-acs-meta-name:TaoBao,Alipay。 将所有的头和内容用 \n 分隔符分隔拼成最后的 CanonicalizedHeaders。 CanonicalizedResource CanonicalizedResource 表示客户想要访问资源的规范描述,需要将子资源和 qurey 一同按照字典序,从小到大排列并以 & 为分隔符生成子资源字符串(? 后的所有参数)。 http://cr.cn-hangzhou.aliyuncs.com/repository?name=repository1&namespace=namespace1 CanonicalizedResource 应该为: /repository?name=repository1&namespace=namespace1 版本 更新时间:2018-05-23 13:28:07 API 版本 说明 2016-06-07 提供命名空间、仓库、镜像仓库等API
1934890530796658 2020-03-25 14:30:53 0 浏览量 回答数 0

问题

【Cocos3d 入门教程之---配置cocos3d环境】 : 配置报错 

 本文适合于初步了解cocos2d的童鞋,如果不知道cocos2d是什么,那么请先百度,google,或者翻书去~~~           cocos2d 是一个2d 的游戏引擎&#x...
kun坤 2020-06-03 17:47:35 27 浏览量 回答数 1

问题

PHP加速 eAccelerator 配置和使用指南 :报错

前一段时间完成了服务器从FreeBSD4.10到6.1的升级,同时把PHP也升级到了最新的PHP5.1.4,Apache也升级到了最新的 Apache2.2,为了更好的提高系统的性能,...
kun坤 2020-06-14 16:05:07 1 浏览量 回答数 1

问题

PHP加速 eAccelerator 配置和使用指南,报错

" 前一段时间完成了服务器从FreeBSD4.10到6.1的升级,同时把PHP也升级到了最新的PHP5.1.4,Apache也升级到了最新的 Apache2.2,为了更好的提高系统的性能&#...
一枚小鲜肉帅哥 2020-05-27 21:24:00 6 浏览量 回答数 1

问题

PHP加速 eAccelerator 配置和使用指南-php报错

" 前一段时间完成了服务器从FreeBSD4.10到6.1的升级,同时把PHP也升级到了最新的PHP5.1.4,Apache也升级到了最新的 Apache2.2,为了更好的提高系统的性能&#...
montos 2020-06-01 18:18:52 0 浏览量 回答数 1

问题

PHP加速 eAccelerator 配置和使用指南 - php报错

" 前一段时间完成了服务器从FreeBSD4.10到6.1的升级,同时把PHP也升级到了最新的PHP5.1.4,Apache也升级到了最新的 Apache2.2,为了更好的提高系统的性能&#...
montos 2020-06-03 22:25:14 1 浏览量 回答数 1

回答

我先整体看Kubernetes些理念基本架构网络、资源管理、存储、服务发现、负载均衡、高用、rollingupgrade、安全、监控等面向家简单介绍Kubernetes些主要特性  包括些需要注意问题主要目帮助家快速理解Kubernetes主要功能今研究使用具候所参考帮助  1.Kubernetes些理念:  用户需要关需要少台机器需要关软件(服务)运行所需环境服务需要关api何服务拆服务何使用api整合  保证系统总按照用户指定状态运行  仅仅提给供容器服务同提供种软件系统升级式;保持HA前提升级系统用户想要功能难实现  些需要担需要担事情  更支持微服务理念划、细服务间边界比lablel、pod等概念引入  于Kubernetes架构参考官文档  致由些主要组件构包括Master节点kube-apiserver、kube-scheduler、kube-controller-manager、控制组件kubectl、状态存储etcd、Slave节点kubelet、kube-proxy及底层网络支持(用Flannel、OpenVSwitch、Weave等)  看微服务架构设计目前能支持单服务横向伸缩Kubernetes未版本解决  2.Kubernetes主要特性  网络、服务发现、负载均衡、资源管理、高用、存储、安全、监控等面向家简单介绍Kubernetes些主要特性->由于间限能简单些  另外于服务发现、高用监控些更详细介绍兴趣朋友通篇文章解  1)网络  Kubernetes网络式主要解决几问题:  a.紧耦合容器间通信通Podlocalhost访问解决  b.Pod间通信建立通信网比隧道、路由Flannel、OpenvSwitch、Weave  c.PodService及外部系统Service通信引入Service解决  Kubernetes网络给每Pod配IP址需要Pod间建立链接基本需要处理容器主机间端口映射  注意:Pod重建IP重新配所内网通信要依赖PodIP;通Service环境变量或者DNS解决  2)服务发现及负载均衡  kube-proxyDNSv1前Service含字段portalippublicIPs别指定服务虚拟ip服务口机ippublicIPs任意指定集群任意包含kube-proxy节点portalIp通NAT式跳转container内网址v1版本publicIPS约定废除标记deprecatedPublicIPs仅用作向兼容portalIp改ClusterIp,serviceport定义列表增加nodePort项即应node映射服务端口  DNS服务addon式需要安装skydnskube2dnskube2dns通读取KubernetesAPI获取服务clusterIPport信息同watch式检查service变及收集变信息并于ip信息提交给etcd存档skydns通etcd内DNS记录信息启53端口外提供服务概DNS域名记录servicename.namespace.tenx.domain,tenx.domain提前设置主域名  注意:kube-proxy集群规模较能访问性能问题考虑用其式替换比HAProxy直接导流Serviceendpints或者PodsKubernetes官修复问题  3)资源管理  3层资源限制式别Container、Pod、Namespace层Container层主要利用容器本身支持比DockerCPU、内存、磁盘、网络等支持;Pod面限制系统内创建Pod资源范围比或者CPU、memory需求;Namespace层用户级别资源限额包括CPU、内存限定Pod、rc、service数量  资源管理模型-》简单、通用、准确并扩展  目前资源配计算相简单没资源抢占类强功能通每节点资源总量、及已经使用各种资源加权计算某Pod优先非配哪些节点没加入节点实际用资源评估需要自schedulerplugin支持其实kubelet已经拿节点资源要进行收集计算即相信Kubernetes续版本支持  4)高用  主要指Master节点HA式官推荐利用etcd实现master选举Masterkube-apiserver保证至少master用实现highavailability外loadbalancer式提供入口种式用作ha仍未熟据解未更新升级ha功能  张图帮助家理解:  etcd集群背景存kube-apiserver并用pod-master保证仅主master用同kube-shedullerkube-controller-manager存且伴随着kube-apiserver同间能套运行  5)rollingupgrade  RC始设计让rollingupgrade变更容易通替换Pod更新service实现服务断间化基本思路创建复本1新rc并逐步减少rc复本、增加新rc复本rc数量0其删除  通kubectl提供指定更新镜像、替换pod间间隔rollback前执行upgrade操作  同Kuberntes支持版本同部署并通lable进行区service变情况调整支撑服务Pod测试、监控新Pod工作情况  6)存储  家都知道容器本身般数据进行持久化处理Kubernetes容器异退kubelet简单基于原镜像重启新容器另外我同Pod运行容器经需要些容器间进行共享些数据KuberenetesVolume主要解决面两基础问题  DockerVolume概念相简单且目前支持限KubernetesVolume则着清晰定义广泛支持其核理念:Volume目录并同Pod所容器访问目录端用介质面内容则由使用特定Volume类型决定  创建带VolumePod:  spec.volumes指定Pod需要volume信息spec.containers.volumeMounts指定哪些container需要用VolumeKubernetesVolume支持非广泛贡献者其添加同存储支持反映Kubernetes社区跃程度  emptyDir随Pod删除适用于临存储、灾难恢复、共享运行数据支持RAM-backedfilesystemhostPath类似于Docker本Volume用于访问些本资源(比本Docker)  gcePersistentDiskGCEdisk-GoogleCloudEngine平台用  awsElasticBlockStore类似于GCEdisk节点必须AWSEC2实例nfs-支持网络文件系统  rbd-RadosBlockDevice-Ceph  secret用通KubernetesAPI向Pod传递敏信息使用tmpfs(aRAM-backedfilesystem)  persistentVolumeClaim-抽象PV申请资源需关存储提供  glusterfs  iscsi  gitRepo  根据自需求选择合适存储类型反支持够总用款适合:)  7)安全  些主要原则:  基础设施模块应该通APIserver交换数据、修改系统状态且APIserver访问端存储(etcd)  用户同角色:Developers/ProjectAdmins/Administrators  允许Developers定义secrets象并pod启关联相关容器  secret例kubelet要pull私镜像Kubernetes支持式:  通dockerlogin.dockercfg文件进行全局授权  通每namespace创建用户secret象创建Pod指定imagePullSecrets属性(统设置serviceAcouunt)进行授权  认证(Authentication)  APIserver支持证书、token、基本信息三种认证式  授权(Authorization)  通apiserver安全端口authorization应用所http请求  AlwaysDeny、AlwaysAllow、ABAC三种模式其需求自实现Authorizer接口  8)监控  比较版本Kubernetes需要外接cadvisor主要功能node主机containermetrics抓取较新版本cadvior功能集kubelet组件kubelet与docker交互同外提供监控服务  Kubernetes集群范围内监控主要由kubelet、heapsterstoragebackend(influxdb)构建Heapster集群范围获取metrics事件数据pod式运行k8s平台单独运行standalone式  注意:heapster目前未1.0版本于规模集群监控比较便于较规模集群heapster目前cache式吃掉量内存要定获取整集群容器信息信息内存临存储问题再加heaspter要支持api获取临metricsheapsterpod式运行容易现OOM所目前建议关掉cache并standalone式独立k8s平台 答案来源于网络
养狐狸的猫 2019-12-02 02:15:56 0 浏览量 回答数 0

问题

REST API鉴权

鉴权方法说明 通过RESTful API调用智能语音服务,首先您需要拥有AccessKey( 点击 这里创建和管理您的AccessKey),AccessKey相当于您访问阿里云产品...
nicenelly 2019-12-01 21:01:17 1948 浏览量 回答数 0

回答

Flutter开发框架总结 跨平台高性能的渲染引擎逐渐成为移动端、大前端领域的一个热点,作为其中的明星框架Flutter,经过近几年来的迅速发展,由极大的可能成为下一代跨终端解决方案。自从2017年5月,谷歌公司发布了alpha版本的Flutter;2018年底Flutter Live发布的1.0版本;2019年7月发布1.5版本,截至今日(2020年2月)已经发布了v1.14.6Beta版本。 Flutter背景 + 发展历程 首先在写Flutter之前我们要了解什么是原生开发什么是跨平台技术: 原生开发     是指在某一个平台所特有的应用,使用该平台所支持的开发工具和语言,并直接调用系统SDK,比如android上使用java 和ios上使用OC来开发, 这样做的好处 是可以使用平台上全部功能、速度快 性能好,用户体验好。 但是 缺点也很明显,开发不同平台需要维护的成本增加,动态化弱,更新时需要发布版本。 跨平台技术     针对原生开发所遇到的问题,人们已经研究出现有的跨平台技术方案:H5+原生、Js开发加原生渲染(例如React Native、weex等)、自绘UI加原生(QT fro mobile,Flutter) 发展历程     2011年谷歌推出一款可以在移动端,web,服务器等领域的语言—dart,其本质目的是为了取代现在的js的web。 1. 2014年谷歌在github开源了Sky 这便是Flutter的前身 2. 2015-10 Sky改名为Flutter 3. 2017-5 谷歌正式向外界公布Flutter 4. 2018-12 谷歌发布Flutter Live的1.0版本 5. 2019-2 Flutter1.2发布主要是增加对web的支持     Flutter提供了丰富的组件、接口,开发者可以很快地为 Flutter添加 native扩展。同时 Flutter还使用 Native引擎渲染视图,这无疑能为用户提供良好的体验 Flutter架构     Flutter既没有采用Webview也没有采用操作系统的原生控件,相反Flutter使用自己的高性能渲染引擎来绘制widget,这样不仅可以保证UI和原生的一致性,也可以降低维护成本。     Flutter使用Skia作为其2D渲染引擎,Skia是谷歌的一个2D图形处理函数库。     Flutter 采用Dart语言进性开发。Dart在即时编译模式下速度与JavaScript基本持平,但是Dart支持AOT(Ahead-Of-Time - 预先编译),如果以AOT模式运行时js便远追不上了。 为什么Flutter语言采用Dart而不是JavaScript,我们需要做一个对比 1. 开发效率 Dart运行时和编译器支持Flutter的两个关键特性的组合—“基于JIT的快速开发周期”、“基于AOT的发布包” 2. 高性能 Flutter为了实现流畅高保真的UI体验,需要能够在每个动画帧中运行大量的代码,这就需要一种既能提供高性能的语言,又不会出现丢帧,在这一点上Dart更好 3. 快速分配内存 Flutter框架使用函数式流,这使得它很依赖于底层的内存分配器。事实上Dart开发团队许多来自chrome,chrome V8的js引擎在内存分配上也做得非常好,而Dart也正好满足 4. 类型安全 Dart是类型安全语言,支持静态类型检测,js是弱类型语言,这是Dart的一个重要优势 言归正传,下图是Flutter官方提供的一个架构图 引擎刚刚已经介绍过了,我们现在来看看Flutter框架的结构:     由下到上     Foundation、Animation、Painting、Gestutes 这些在Google的一些视频中合称为Dart ui层,对应的是Flutter中的dart:ui包,他是底层ui库,提供动画、手势以及绘制能力。     Rendering层为一个抽象的布局层,它依赖于ui层,这类似于react中的虚拟dom树,该层可以说是Flutter框架最核心的部分,它除了确定每个元素的位置、大小还要进性坐标变换、绘制。     Widgets层是一套基础组件库,在基础组件之上还提供了Material和Cupertino两种视觉风格组件库,大多数我们只是使用这两层。 Flutter运行流程 渲染流程     当需要更新UI的时候,Framework通知Engine,Engine会等到下个Vsync信号到达的时候,会通知Framework,然后Framework会进行animations, build,layout,compositing,paint,最后生成layer提交给Engine。Engine会把layer进行组合,生成纹理,最后通过Open Gl接口提交数据给GPU, GPU经过处理后在显示器上面显示。 启动流程     此图为flutter在安卓下启动的流程,在安卓中默认启动的Activity是MainActivity,而MainActivity继承的是Flutter Activity。     FlutterActivity是继承Activity和实现了PluginRegistry。分析一下onCreate,onStop,onDestroy这些生命周期方法被FlutterActivity.eventDelegate代理了,这个时候我们明白了,FlutterActivity就是一个空壳,真正实现是代理类FlutterActivityDelegate。说白了就是创建一个FlutterView,并且把view显示到屏幕上。 Flutter生命周期     Flutter和安卓、ios应用一样拥有自己的生命周期,对比来看,安卓中是Activity,ios中是ViewController。Flutter中为Widget createState(): 当框架构建StatefulWidget时,会立即调用createState();initState(): 创建窗口小部件时,调用的第一个方法,子类化State可以重写initState,用来完成仅需要执行一次的工作。didChangeDependencies(): 在执行完initState之后调用此方法。build(): 在执行完didChangeDependencies() 之后立即调用,所有的GUI都会在这里渲染,并且每次渲染UI时都会调用它。didUpdateWidget(): 父级窗口小部件进行更改并需要重新绘制UI时,会调用此方法setState(): 此方法用于通知框架数据已更改。dispose(): 销毁方法,移除State对象时调用,应该在此方法中取消一些订阅、动画、流等。 Flutter生态圈及其常用框架 DIO Dio是flutter中文网开源的一个强大的Dart Http请求库,支持Restful Api、FormData、拦截器、请求取消、Cookie、文件上传下载、超时等。 Flukit flukit即Flutter UI Kit,一个常用的Widget库,包括下拉刷新、轮播图、快速滚动条、渐变进度条、城市选择器等. CookieJar 一个实现HTTP协议标准Cookie管理策略的Cookie管理器,他可以自动帮您自动管理http请求cookie,并支持本地持久化。 flutter-go 阿里巴巴开源的flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档 https://flutter-go.pub/website/ Best-Flutter-UI-Templates Github地址:https://github.com/mitesh77/Best-Flutter-UI-Templates ,有许多内置ui模板。 欢迎大家有问题随时和我分享哦~初次在开发者社区码字,若有不足之处,请指教,您的每一次留言都是我前进的动力。愿大家在疫情期间共同进步,共创美好的开发者社区。
kun坤 2020-03-02 17:00:55 0 浏览量 回答数 0

回答

调用 DescribeClusterDetail 根据集群 ID,查看集群的详细信息。 请求信息 请求行 RequestLine GET /clusters/{cluster_id} HTTP/1.1 请求行参数 URI Param 名称 类型 是否必须 描述 cluster_id string 是 集群 ID。 特有请求头 RequestHead 无,请参考公共请求头部。 请求体 RequestBody 无 返回信息 返回行 ResponseLine HTTP/1.1 200 OK 特有返回头 ResponseHead 无,请参考公共返回头部。 返回体 ResponseBody { "name": "sian-devk8s", "cluster_id": "cdde1f21ae22e483ebcb068a6eb7f358d", "size": 1, "region_id": "cn-beijing", "state": "running", "cluster_type": "ManagedKubernetes", "created": "2019-11-25T15:50:20+08:00", "updated": "2020-01-13T23:01:03+08:00", "init_version": "1.14.8-aliyun.1", "current_version": "1.14.8-aliyun.1", "meta_data": "{"Addons":[{"name":"flannel","version":"","disabled":false,"required":"","config":""},{"name":"flexvolume","version":"","disabled":false,"required":"","config":""},{"name":"alicloud-disk-controller","version":"","disabled":false,"required":"","config":""},{"name":"logtail-ds","version":"","disabled":false,"required":"","config":"{\"IngressDashboardEnabled\":\"true\"}"},{"name":"nginx-ingress-controller","version":"","disabled":false,"required":"","config":"{\"IngressSlbNetworkType\":\"internet\"}"},{"name":"kube-flannel-ds","version":"","disabled":false,"required":"","config":""}],"Capabilities":{"AnyAZ":true,"CSI":true,"CpuPolicy":true,"DeploymentSet":true,"HpcCluster":true,"Network":"Flannel","NodeCIDRMask":"25","NodeNameMode":true,"ProxyMode":"ipvs","PublicSLB":true,"SLSProjectName":true,"SandboxRuntime":false,"Taint":true,"TerwayEniip":true,"UserData":true},"ClusterDomain":"","DockerVersion":"18.09.2","EtcdVersion":"v3.3.8","HasSandboxRuntime":false,"KubernetesVersion":"1.14.8-aliyun.1","MultiAZ":false,"NameMode":"","OSType":"Linux","Platform":"CentOS","PodVswitchId":"","Provider":"","ResourceGroupId":"rg-acfmyvw3wjmb3uq","SubClass":"default","SupportPlatforms":null,"VersionSpec":null,"VpcCidr":"192.168.0.0/16"}", "resource_group_id": "rg-acfmyvw3wjmb3uq", "instance_type": "", "vpc_id": "vpc-2zecuu62b9zw7a7qnn2tv", "vswitch_id": "vsw-2zete8s4qocqg0mf6xd76", "vswitch_cidr": "", "data_disk_size": 0, "data_disk_category": "cloud", "security_group_id": "sg-2zedf74ifulatvx0z2ag", "tags": [ { "key": "ack.aliyun.com", "value": "cdde1f21ae22e483ebcb068a6eb7f358d" } ], "zone_id": "cn-beijing-a", "-": "PayByTraffic", "network_mode": "vpc", "subnet_cidr": "172.20.0.0/16", "master_url": "{"api_server_endpoint":"https://47.93.195.255:6443https://mirana.cs-cn-beijing.aliyuncs.com:4243https://192.168.0.79:6443"}", "external_loadbalancer_id": "lb-2ze3buguz3gx9920zwf24", "port": 0, "node_status": "", "cluster_healthy": "", "docker_version": "18.09.2", "swarm_mode": false, "gw_bridge": "", "upgrade_components": { "Kubernetes": { "component_name": "Kubernetes", "version": "1.14.8-aliyun.1", "next_version": "", "changed": "", "can_upgrade": false, "force": false, "policy": "", "ExtraVars": null, "ready_to_upgrade": "", "message": "", "exist": false, "required": false } }, "private_zone": false, "profile": "", "deletion_protection": true, "capabilities": null, "enabled_migration": false, "need_update_agent": false, "outputs": [ { "Description": "Log Info Output", "OutputKey": "LastKnownError", "OutputValue": null }, { "Description": "Error msg of ess scaling instance", "OutputKey": "NodesScalingErrorInfo", "OutputValue": null }, { "Description": "The mode we use in kube-proxy.", "OutputKey": "ProxyMode", "OutputValue": "ipvs" }, { "Description": "ScalingGroup ID", "OutputKey": "ScalingGroupID", "OutputValue": "asg-2zebrr08gt5uluh7u5ar" }, { "Description": "Ids of worker node", "OutputKey": "NodeInstanceIDs", "OutputValue": [ "i-2ze4ymrjuocpbc0cftdj", "i-2ze4ymrjuocpbc0cftdk", "i-2ze4ymrjuocpbc0cftdl" ] }, { "Description": "Count of ess scaling instance", "OutputKey": "NodesScalingAddedInstances", "OutputValue": 3 } ] 返回体解释 Cluster 的格式 名称 类型 描述 agent_version string Agent 版本号。 cluster_id String 集群 ID,集群的唯一标识。 created string 集群的创建时间。 external_loadbalancer_id String 集群负载均衡服务的 ID。 master_url string 集群 Master 地址,您可以通过该地址连接您的集群进行相关操作。更多详细信息,参见SSH 访问 Kubernetes 集群。 name string 集群名称,由您在创建集群时指定,在每个用户下唯一。 network_mode String 集群网络模式(VPC 网络: vpc)。 region_id String 集群所在地域 ID。 security_group_id String 安全组 ID。 size String 节点数。 state String 集群状态,running|stoped。 updated string 最后更新时间。 vpc_id string VPC ID。 vswitch_id string VSwitch ID。 示例 请求示例 GET /clusters/C5b5e80b0b64a4bf6939d2d8fbbc5**** HTTP/1.1 <公共请求头> 返回示例 HTTP/1.1 200 Ok <公共响应头> { "agent_version": "0.5-e56dab3", "cluster_id": "c978ca3eaacd3409a9437db07598f****", "created": "2015-12-11T03:52:40Z", "external_loadbalancer_id": "1518f2b7e4c-cn-beijing-btc-a01", "master_url": "https://182.***.***.***:17589", "name": "my-python-cluster-039de960", "network_mode": "vpc", "region_id": "cn-beijing", "security_group_id": "sg-25yqj***", "size": 5, "state": "running", "updated": "2015-12-15T15:01:58Z", "vpc_id": "", "vswitch_id": "" }
1934890530796658 2020-03-31 21:07:14 0 浏览量 回答数 0

回答

调用CancelExecution取消执行。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 CancelExecution 系统规定参数。取值:CancelExecution。 ExecutionId String 是 exec-xxx 执行ID RegionId String 否 cn-hangzhou 地域ID 返回数据 名称 类型 示例值 描述 RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID 示例 请求示例 http(s)://oos.cn-hangzhou.aliyuncs.com/?Action=CancelExecution &ExecutionId=exec-xxx &<公共请求参数> 正常返回示例 XML 格式 491DF8C2-34C9-4679-9DB3-4C0F49B129AC JSON 格式 { "RequestId":"491DF8C2-34C9-4679-9DB3-4C0F49B129AC" } 错误码 访问错误中心查看更多错误码。 调用DeleteExecutions删除执行。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 DeleteExecutions 系统规定参数。取值:DeleteExecutions。 ExecutionIds String 是 ["exec-xxx"] 执行ID(列表)。 可以由多个ID组成一个JSON数组,格式为["xxxxxxxxx", "yyyyyyyyy", … "zzzzzzzzz"],最多支持100个ID,ID之间用半角逗号(,)隔开。 RegionId String 否 cn-hangzhou 地域ID 返回数据 名称 类型 示例值 描述 RequestId String 491DF8C2-34C9-4679-9DB3-4C0F49B129AC 请求ID 示例 请求示例 http(s)://oos.cn-hangzhou.aliyuncs.com/?Action=DeleteExecutions &ExecutionIds=["exec-xxx"] &<公共请求参数> 正常返回示例 XML 格式 491DF8C2-34C9-4679-9DB3-4C0F49B129AC JSON 格式 { "RequestId":"491DF8C2-34C9-4679-9DB3-4C0F49B129AC" } 错误码 访问错误中心查看更多错误码。 调用GenerateExecutionPolicy获取模板执行所需要的Ram Policy。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 GenerateExecutionPolicy 系统规定参数。取值:GenerateExecutionPolicy。 TemplateName String 是 vmeixme 模板名称 RegionId String 否 cn-hangzhou 地域ID 返回数据 名称 类型 示例值 描述 Policy String {} Ram Policy RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID 示例 请求示例 http(s)://oos.cn-hangzhou.aliyuncs.com/?Action=GenerateExecutionPolicy &TemplateName=vmeixme &<公共请求参数> 正常返回示例 XML 格式 ecs:InvokeCommand ecs:DeleteCommand ecs:DescribeInvocations ecs:DescribeInvocationResults ecs:CreateCommand ecs:DescribeInstances Allow * 1 C04B668D-D2DD-4B40-B6E9-0E3C4F53D5B5 JSON 格式 { "Policy":{ "Statement":[ { "Resource":"*", "Action":[ "ecs:InvokeCommand", "ecs:DeleteCommand", "ecs:DescribeInvocations", "ecs:DescribeInvocationResults", "ecs:CreateCommand", "ecs:DescribeInstances" ], "Effect":"Allow" } ], "Version":"1" }, "RequestId":"C04B668D-D2DD-4B40-B6E9-0E3C4F53D5B5" } 错误码 访问错误中心查看更多错误码。 调用GetExecutionTemplate获取一个执行所使用的模板,包括内容。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 GetExecutionTemplate 系统规定参数。取值:GetExecutionTemplate。 ExecutionId String 是 exec-046490ff88f242 执行ID RegionId String 否 cn-hangzhou 地域ID 返回数据 名称 类型 示例值 描述 Content String "{\n "FormatVersion": "OOS-2019-06-01",\n "Parameters": {\n "Status": {\n "Type": "String",\n "Description": "(Required) The ID of the ECS instance."\n }\n },\n "Tasks": [\n {\n "Name": "bar",\n "Properties": {\n "Parameters": {\n "Status": "{{ Status }}"\n },\n "API": "DescribeInstances",\n "Service": "Ecs"\n },\n "Action": "acs::ExecuteAPI",\n "Outputs": {\n "InstanceIds", {\n "ValueSelector": ".Instances.Instance[].InstanceId",\n "Type": "List"\n }\n }\n }\n ],\n "Outputs": {\n "InstanceIds": {\n "Value": " {{ bar.InstanceIds }} ",\n "Type": "List"\n }\n }\n}\n" 模板内容 RequestId String 14A60-EBE7-47CA-9757-12C1D47A 请求ID Template 模板元信息 示例 请求示例 http(s)://oos.cn-hangzhou.aliyuncs.com/?Action=GetExecutionTemplate &ExecutionId=exec-046490ff88f242 &<公共请求参数> 正常返回示例 XML 格式 OOS-2019-06-01 String (Required) The ID of the ECS instance. bar {{ Status }} DescribeInstances Ecs acs::ExecuteAPI .Instances.Instance[].InstanceId List<String> {{ bar.InstanceIds }} List<String> FAAFA45-AB65-4049-BFE0-868E1C80AF root(13092000) 2019-05-27T10:32:52Z root(13092000) 2019-05-27T08:46:33Z 62eac5c64b9dae5c41e1e8b648baad95f812cab4f9221a5283edb882b5f8d712 Private JSON MyTemplate t-94753deea28d38 v1 JSON 格式 { "Template":{ "TemplateVersion":"v1", "TemplateName":"MyTemplate", "Hash":"62eac5c64b9dae5c41e1e8b648baad95f812cab4f9221a5283edb882b5f8d712", "Description":"", "UpdatedDate":"2019-05-27T08:46:33Z", "TemplateFormat":"JSON", "CreatedDate":"2019-05-27T10:32:52Z", "CreatedBy":"root(13092000)", "ShareType":"Private", "UpdatedBy":"root(13092000)", "TemplateId":"t-94753deea28d38" }, "RequestId":"FAAFA45-AB65-4049-BFE0-868E1C80AF", "Content":{ "Outputs":{ "InstanceIds":{ "Value":" {{ bar.InstanceIds }} ", "Type":"List<String>" } }, "Parameters":{ "Status":{ "Description":"(Required) The ID of the ECS instance.", "Type":"String" } }, "FormatVersion":"OOS-2019-06-01", "Tasks":[ { "Outputs":{ "InstanceIds":{ "Type":"List<String>", "ValueSelector":".Instances.Instance[].InstanceId" } }, "Name":"bar", "Action":"acs::ExecuteAPI", "Properties":{ "API":"DescribeInstances", "Parameters":{ "Status":"{{ Status }}" }, "Service":"Ecs" } } ] } } 错误码 访问错误中心查看更多错误码。 调用ListExecutionLogs获取执行的详细日志。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 ListExecutionLogs 系统规定参数。取值:ListExecutionLogs。 ExecutionId String 是 exec-xxx 执行ID LogType String 否 System 日志类型 MaxResults Integer 否 50 分页大小 NextToken String 否 MTRBMDc0NjAtRUJFNy00N0NBLTk3NTctMTJDQzQ3NjFENDdB 翻页标记的Token RegionId String 否 cn-hangzhou 地域ID TaskExecutionId String 否 exec-1234567zxcvb.t0010 任务执行ID 返回数据 名称 类型 示例值 描述 ExecutionLogs 执行日志 IsTruncated Boolean true 局部展示 MaxResults Integer 50 分页大小 NextToken String gAAAAABdpsGWjX8dJ-a6dl_pvoS7AFxNHSNJKHLCAJ:J0ylgA53nWW5V4HTEZKCYTaEPNOrxFir4z43UTOjE150cFr8AGTifA== 翻页标记的Token RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID 示例 请求示例 http(s)://oos.cn-hangzhou.aliyuncs.com/?Action=ListExecutionLogs &ExecutionId=exec-xxx &<公共请求参数> 正常返回示例 XML 格式 200 gAAAAABdpsY7X-3ZUoNUxqiny_gx3zXfJ3HHHSKJDq3UAp6dQ-p7qJ2ZLtivu2LhpMiPe0P9eVP_76cO0cUgF5jFFj5Ut6g== 0ABABABA-68A0-4DF2-8DCB-1DB8FE3A1CF1 The task waitDataRecover waiting. Sleep estimated finish time (2019-10-16 07:27:35.615945) System 2019-10-16T07:26:35Z exec-00eb84dd8143440da047.t0001 The task waitDataRecover started. System 2019-10-16T07:26:35Z exec-00eb84dd8143440da047.t0001 20 true 04ABABAAB5-68A0-4DF2-8DCB-1DB8FE3A1CF1 true JSON 格式 { "successResponse":true, "requestId":"04ABABAAB5-68A0-4DF2-8DCB-1DB8FE3A1CF1", "data":{ "NextToken":"gAAAAABdpsY7X-3ZUoNUxqiny_gx3zXfJ3HHHSKJDq3UAp6dQ-p7qJ2ZLtivu2LhpMiPe0P9eVP_76cO0cUgF5jFFj5Ut6g==", "IsTruncated":true, "RequestId":"0ABABABA-68A0-4DF2-8DCB-1DB8FE3A1CF1", "ExecutionLogs":[ { "Message":"The task waitDataRecover waiting. Sleep estimated finish time (2019-10-16 07:27:35.615945)", "LogType":"System", "TaskExecutionId":"exec-00eb84dd8143440da047.t0001", "Timestamp":"2019-10-16T07:26:35Z" }, { "Message":"The task waitDataRecover started.", "LogType":"System", "TaskExecutionId":"exec-00eb84dd8143440da047.t0001", "Timestamp":"2019-10-16T07:26:35Z" } ], "MaxResults":20 }, "code":200 } 错误码 访问错误中心查看更多错误码。 调用ListExecutions查询执行,支持多种过滤方式。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 ListExecutions 系统规定参数。取值:ListExecutions。 EndDateAfter String 否 2019-05-16T10:26:14Z 结束时间大于等于指定时间的执行 Description String 否 run instance 执行的一段描述信息。 EndDateBefore String 否 2019-05-16T10:26:14Z 结束时间小于等于指定时间的执行 ExecutedBy String 否 vme 执行者 ExecutionId String 否 exec-xxx 执行ID IncludeChildExecution Boolean 否 true 是否包含子执行。默认为False。 MaxResults Integer 否 50 分页大小。取值范围:10-100。默认为50。 Mode String 否 Automatic 执行模式。取值范围: Automatic Debug NextToken String 否 MTRBMDc0NjAtRUJFNy00N0NBLTk3NTctMTJDQzQ 翻页标记的Token ParentExecutionId String 否 exec-xxx 父执行ID RamRole String 否 OOSServiceRole RAM角色 RegionId String 否 cn-hangzhou 地域ID SortField String 否 StartDate 排序字段。取值范围: StartDate(默认值):创建时间 EndDate:结束时间 Status:状态 SortOrder String 否 Ascending 排序方向。取值范围: Ascending:升序 Descending(默认值):降序 StartDateAfter String 否 2019-05-16T10:26:14Z 开始时间大于等于指定时间的执行 StartDateBefore String 否 2019-05-16T10:26:14Z 开始时间小于等于指定时间的执行 Status String 否 Running 执行状态 TemplateName String 否 MyTemplate 模板名称。名称未包含关系,最终列出包含所填模板名称的所有模板。 返回数据 名称 类型 示例值 描述 Executions 执行数据 Counters String {“Failed”: 0,”Success”: 1,”Total”: 2} 任务按执行状态计数 CreateDate String 2019-05-16T10:26:14Z 执行创建时间 CurrentTasks 当前正在运行的Tasks TaskAction String acs::Template Task执行模板 TaskExecutionId String task-exec-44d32b45d2a49899#1 Task执行ID TaskName String installSLSILogtail Task名称 EndDate String 2019-05-16T10:26:14Z 执行结束时间 ExecutedBy String 1309252800 执行模板者 ExecutionId String exec-44d32b45d2a449e 执行的唯一标识 IsParent Boolean false 标记是否包含子任务 LoopMode String Automatic 循环模式 Mode String Automatic 执行模式 Outputs String { “InstanceId”:”i-xxx” } 执行输出结果 Parameters String { “Status”:”Running” } 执行的输入参数 ParentExecutionId String exec-xxx 父执行ID RamRole String OOSServiceRole 执行当前模板的角色 SafetyCheck String Skip 安全检查模式。取值范围为Skip, ConfirmEveryHighRiskAction。 StartDate String 2019-05-16T10:26:14Z 执行开始时间 Status String Success 执行状态。取值范围为Started, Queued, Running, Waiting, Success, Failed, Cancelled。 StatusMessage String “” 任务执行状态 StatusReason String “” 状态原因 TemplateId String 123 模板ID Description String run instance 执行的一段描述信息 TemplateName String MyTemplate 模板名称 TemplateVersion String v1 模板版本号 UpdateDate String 2019-05-16T10:26:14Z 执行更新时间 MaxResults Integer 50 分页大小 NextToken String MTRBMDc0NjAtRUJFNy00N0NBLTk3NTctMTJDQzQ 翻页标记的Token RequestId String 14A074-47CA-9757-12CC4761D47A 请求ID 示例 请求示例 http(s)://oos.cn-hangzhou.aliyuncs.com/?Action=ListExecutions&<公共请求参数> 正常返回示例 XML 格式 25901550100 exec-4f5cd190ac8832 Automatic logtaildemo oostest installlogtail OOSServiceRole Skip 2019-05-27T09:29:18Z Started t-1bd35ba07f loop-echo v1 0 1 2 4918C2-34C9-4679-9DB3-4C0F4129AC JSON 格式 { “RequestId”:”4918C2-34C9-4679-9DB3-4C0F4129AC”, “Executions”:[ { “Outputs”:{}, “Parameters”:{ “TagValue”:”installlogtail”, “TagKey”:”oostest”, “LogTailUserDefinedId”:”logtaildemo” }, “TemplateName”:”loop-echo”, “Counters”:{ “Failed”:0, “Success”:1, “Total”:2 }, “ExecutedBy”:”25901550100”, “Mode”:”Automatic”, “TemplateId”:”t-1bd35ba07f”, “Status”:”Started”, “TemplateVersion”:”v1”, “SafetyCheck”:”Skip”, “StartDate”:”2019-05-27T09:29:18Z”, “ExecutionId”:”exec-4f5cd190ac8832”, “CurrentTasks”:[], “RamRole”:”OOSServiceRole” } ]} 错误码 访问错误中心查看更多错误码。 </article> 调用ListTaskExecutions查询任务执行,支持多种过滤方式。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 ListTaskExecutions 系统规定参数。取值:ListTaskExecutions。 EndDateAfter String 否 2019-05-16T10:26:14Z 结束时间大于等于指定时间的执行 EndDateBefore String 否 2019-05-16T10:26:14Z 结束时间小于等于指定时间的执行 ExecutionId String 否 exec-xxx 执行ID IncludeChildTaskExecution Boolean 否 false 标记是否展示Loop产生的子Task。默认为False。 MaxResults Integer 否 50 分页大小。取值范围:20-100。默认为50。 NextToken String 否 MTRBMDc0NjAtRUJFNy00N0NBLTk3NTctMTJDQzQ3NjFENDdB 翻页标记的Token ParentTaskExecutionId String 否 task-exec-xxx 父任务执行ID。Loop情况会用到,一般是Loop的Parent的TaskExecutionId。 RegionId String 否 cn-hangzhou 地域ID SortField String 否 StartDate 排序字段。取值范围: StartDate(默认值):创建时间 EndDate:结束时间 Status:状态 SortOrder String 否 Ascending 排序方向。取值范围: Ascending:升序 Descending(默认值):降序 StartDateAfter String 否 2019-05-16T10:26:14Z 开始时间大于等于指定时间的执行 StartDateBefore String 否 2019-05-16T10:26:14Z 开始时间小于等于指定时间的执行 Status String 否 Running 执行状态 TaskAction String 否 ACS::Sleep 任务动作 TaskExecutionId String 否 task-exec-xxx 任务执行ID TaskName String 否 describeInstance 任务名称 返回数据 名称 类型 示例值 描述 MaxResults Integer 50 分页大小 NextToken String MTRBMDc0NjAtRUJFNy00N0NBLTk3NTctMTJDQzQ3NjFENDdB 翻页标记的Token RequestId String CDABABABAB-FC28-4D9C-8FB5-68DC6F0486FC 请求ID TaskExecutions 执行数据 示例 请求示例 http(s)://oos.cn-hangzhou.aliyuncs.com/?Action=ListTaskExecutions &<公共请求参数> 正常返回示例 XML 格式 200 CDABABABAB-FC28-4D9C-8FB5-68DC6F0486FC 100 Success ACS::Sleep PT1M 2019-10-16T07:45:09Z 2019-10-16T07:46:10Z Sleep estimated finish time (2019-10-16 07:46:09.502154) 2019-10-16T07:45:09Z 2019-10-16T07:46:10Z waitDataRecover exec-934bc37ea31f4b9e9312.t0001 exec-934bc37ea31f4b9e9312 CDABABABAB-FC28-4D9C-8FB5-68DC6F0486FC true JSON 格式 { "successResponse":true, "requestId":"CDABABABAB-FC28-4D9C-8FB5-68DC6F0486FC", "data":{ "TaskExecutions":{ "Outputs":"", "TaskAction":"ACS::Sleep", "TaskName":"waitDataRecover", "CreateDate":"2019-10-16T07:45:09Z", "Properties":{ "Duration":"PT1M" }, "LoopItem":"", "Status":"Success", "EndDate":"2019-10-16T07:46:10Z", "StartDate":"2019-10-16T07:45:09Z", "ExecutionId":"exec-934bc37ea31f4b9e9312", "StatusMessage":"Sleep estimated finish time (2019-10-16 07:46:09.502154)", "UpdateDate":"2019-10-16T07:46:10Z", "Loop":"", "ExtraData":{ "NotifyNote":"" }, "TaskExecutionId":"exec-934bc37ea31f4b9e9312.t0001" }, "RequestId":"CDABABABAB-FC28-4D9C-8FB5-68DC6F0486FC", "MaxResults":100 }, "code":200 } 错误码 访问错误中心查看更多错误码。 调用NotifyExecution通知一个状态为等待中的执行接下来如何运行。 有以下情况可以被通知: 特殊任务执行等待审批时,即模版中有Approve任务,模版执行到Approve对应的任务时,执行切换为等待中状态,可通过该Api确认是否继续执行。 Debug模式下调试时,执行创建后或完成一个任务执行后,用该API指定接下来进行的任务执行。 高风险操作类任务执行等待审批时,可通过该Api确认是否继续执行。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 NotifyExecution 系统规定参数。取值:NotifyExecution。 ExecutionId String 是 exec-xxx 执行ID NotifyType String 是 Approve 通知类型。取值范围: Approve 同意,适用于批准待审批的执行。如已知晓高危操作的任务执行风险,并准许其执行。 Reject 拒绝,适用于驳回待审批的执行。如不准许高危操作的任务执行。 ExecuteTask 指定某个任务执行的开始,适用于Debug模式。可能需配合Parameters参数。 CancelTask 取消当前的任务执行,适用于Debug模式。 CompleteExecution 手动终止一个Debug模式下的执行。可配合ExecutionStatus参数指定被终止执行的状态。 ExecutionStatus String 否 Success 适用于CompleteExecution LoopItem String 否 i-xxx Loop子节点对应Item数据 NotifyNote String 否 说明 用于说明的message Parameters String 否 {} 适用于ExecuteTask RegionId String 否 cn-hangzhou 地域ID TaskExecutionId String 否 task-exec-xxx 任务执行ID TaskName String 否 describeInstance 下一步要执行的Task Name 返回数据 名称 类型 示例值 描述 RequestId String 491DF8C2-34C9-4679-9DB3-4C0F49B129AC 请求ID 示例 请求示例 http(s)://oos.cn-hangzhou.aliyuncs.com/?Action=NotifyExecution &ExecutionId=exec-xxx &NotifyType=Approve &<公共请求参数> 正常返回示例 XML 格式 491DF8C2-34C9-4679-9DB3-4C0F49B129AC JSON 格式 { "RequestId":"491DF8C2-34C9-4679-9DB3-4C0F49B129AC" } 错误码 访问错误中心查看更多错误码。 调用StartExecution启动一个执行。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 StartExecution 系统规定参数。取值:StartExecution。 TemplateName String 是 vmeixme 模板名称。内容限制为字母、数字、中划线、下划线,长度200字符,且不能以ALIYUN、ACS、ALIBABA开头。 Description String 否 run instance 执行的一段描述信息。 ClientToken String 否 123e56767-e89b-12d3-a456-426655440000 访问令牌 LoopMode String 否 Automatic 循环模式 Mode String 否 Automatic 执行模式。取值: Debug Automatic(默认值) Parameters String 否 {“Status”:”Running”} 由参数集合组成的Json字符串,默认为{}。 ParentExecutionId String 否 exec-xxx 父执行ID RegionId String 否 cn-hangzhou 地域ID SafetyCheck String 否 Skip 安全检查模式。取值: Skip:此选项表示客户了解风险,无需确认即可执行任何Action,无论什么风险等级。Mode=Automatic时有效。 ConfirmEveryHighRiskAction(默认值):此选项会要求客户确认每一个高风险的Action。客户通过调用NotifyExecution接口进行确认或取消。 TemplateVersion String 否 v1 版本号,如不填默认为最新的版本号。 返回数据 名称 类型 示例值 描述 Execution 执行数据 Counters String 1 执行数 CreateDate String 2019-05-16T10:26:14Z 执行创建时间 CurrentTasks 当前正在运行的Tasks TaskAction String ACS::WaitFor 任务动作 TaskExecutionId String exec-xxxyyy.0001 任务执行ID TaskName String waitForReady 任务名称 EndDate String 2019-05-16T10:26:14Z 结束时间 ExecutedBy String root(13092080xx12344) 执行模板者 ExecutionId String exec-xxxyyy 执行的唯一标识 IsParent Boolean false 是否包含子任务 LoopMode String Automatic 循环模式 Mode String Automatic 执行模式 Outputs String { “InstanceId”:”i-xxx” } 执行输出结果 Parameters String { “Status”:”Running” } 执行的输入参数 ParentExecutionId String exec-xxxx 父执行ID RamRole String OOSServiceRole 执行当前模板的角色 SafetyCheck String Skip 安全检查模式 Description String run instance 执行的一段描述内容 StartDate String 2019-05-16T10:26:14Z 开始时间 Status String Success 执行状态 StatusMessage String “” 状态信息 TemplateId String t-1bd341007f 模板ID TemplateName String MyTemplate 模板名称 TemplateVersion String v1 模板版本号 UpdateDate String 2019-05-16T10:26:14Z 更新时间 RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A 请求ID 示例 请求示例 http(s)://oos.cn-hangzhou.aliyuncs.com/?Action=StartExecution&TemplateName=vmeixme&<公共请求参数> 正常返回示例 XML 格式 root(13092000) exec-4f5cd1b9042ac8832 Automatic logtaildemo oostest installlogtail OOSServiceRole Skip 2019-05-27T09:29:18Z Started t-1bd341007f loop-echo v1 491F8C2-34C9-4679-9DB3-4C0F4929AC JSON 格式 { “StartExecutionResponse”:{ “Execution”:{ “Outputs”:””, “TemplateVersion”:”v1”, “TemplateName”:”loop-echo”, “Status”:”Started”, “Parameters”:{ “TagValue”:”installlogtail”, “TagKey”:”oostest”, “LogTailUserDefinedId”:”logtaildemo” }, “StartDate”:”2019-05-27T09:29:18Z”, “SafetyCheck”:”Skip”, “ExecutedBy”:”root(13092000)”, “ExecutionId”:”exec-4f5cd1b9042ac8832”, “Mode”:”Automatic”, “TemplateId”:”t-1bd341007f”, “RamRole”:”OOSServiceRole” }, “RequestId”:”491F8C2-34C9-4679-9DB3-4C0F4929AC” }} 错误码 访问错误中心查看更多错误码。 </article>
1934890530796658 2020-03-24 11:49:27 0 浏览量 回答数 0

问题

Kubernetes API 参考&nbsp;&nbsp;集群 API 列表&nbsp;&nbsp;查询所有集群实例

查看您在容器服务中创建的所有集群(包括 Swarm 和 Kubernetes 集群)。 请求信息 请求行 RequestLineGET /clusters HTTP/1.1 特有请求头 RequestH...
青蛙跳 2019-12-01 21:37:38 550 浏览量 回答数 0

问题

Kubernetes API 参考&nbsp;&nbsp;集群 API 列表&nbsp;&nbsp;查询集群实例

根据集群 ID,查看集群的详细信息。 请求信息 请求行 RequestLineGET /clusters/{cluster_id} HTTP/1.1 请求行参数 URI Param [tr=rgb(51,...
青蛙跳 2019-12-01 21:37:36 497 浏览量 回答数 0

问题

让 WordPress 飞起来的几个 function

介绍 WordPress 毕竟是歪果仁开发的系统放到中国来会有一些水土不服,因为有广泛的使用到一些境外网站服务以及一些不必要的功能导致 WP 网站变慢,这里就将介绍如何通过 function.php 来精...
妙正灰 2019-12-01 21:21:58 4471 浏览量 回答数 3

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT