Cloud Foundry 应用程序正在运行的实例数

2024-02-23

我的应用程序需要获取其运行的实例数(在运行时我的应用程序在程序逻辑中使用此信息)。 (VCAP_APPLICATION 环境变量无法提供此信息。) 直接调用 API 并使用“实例”属性是一种选择,但我不知道如何在我的应用程序中直接调用应用程序 API。请让我知道如何调用它。 以下是我获得的应用程序 API 链接:http://apidocs.cloudfoundry.org/218/apps/retrieve_a_pspecial_app.html http://apidocs.cloudfoundry.org/218/apps/retrieve_a_particular_app.html


为了使用 API,您首先需要进行身份验证。为了进行身份验证,您需要检索授权端点。

要检索授权端点,请发出以下curl请求(我在本示例中使用关键Web服务,但您可以替换https://api.run.pivotal.io https://api.run.pivotal.io与您正在使用的 Cloud Foundry API 端点。

curl -H 'content-type: application/x-www-form-urlencoded;charset=utf-8' \
-H 'accept: application/json;charset=utf-8' \
https://api.run.pivotal.io/v2/info

你会得到类似这样的结果:

{
"name": "vcap",
"build": "2222",
"support": "http://support.cloudfoundry.com",
"version": 2,
"description": "Cloud Foundry sponsored by Pivotal",
"authorization_endpoint": "https://login.run.pivotal.io",
"token_endpoint": "https://uaa.run.pivotal.io",
"min_cli_version": null,
"min_recommended_cli_version": null,
"api_version": "2.36.0",
"app_ssh_endpoint": "ssh.run.pivotal.io:2222",
"app_ssh_host_key_fingerprint": "e7:13:4e:32:ee:39:62:df:54:41:d7:f7:8b:b2:a7:6b",
"logging_endpoint": "wss://loggregator.run.pivotal.io:443",
"doppler_logging_endpoint": "wss://doppler.run.pivotal.io:443"
}

抓住授权端点值,在本例中为:

https://login.run.pivotal.io https://login.run.pivotal.io

您现在需要获取身份验证令牌。发出以下curl命令替换[我的用户名] and [我的密码] and [我的授权端点]与你的价值观。请注意,您应该对您的密码进行 url 编码。

curl -H 'content-type: application/x-www-form-urlencoded;charset=utf-8' \
-H 'accept: application/json;charset=utf-8' \
-H 'authorization: Basic Y2Y6' \
-d "username=[my user name]&password=[my password]&grant_type=password" \
[my authorization endpoint]/oauth/token

您将收到如下所示的响应:

{
"access_token": "very_long_token.very_long_token.very_long_token",
"token_type": "bearer",
"refresh_token": "very_long_token.very_long_token.very_long_token",
"expires_in": 599,
"scope": "cloud_controller.read password.write cloud_controller.write openid",
"jti": "shorter_value"
}

您对access_token值感兴趣(access_token、refresh_token和jti已从本示例中的实际值更改)

现在我们终于可以使用 api 来获取有关我们应用程序的信息了。您可以使用上面提供的链接,但要使用该 api 端点,您需要应用程序的 guid。相反,我建议使用列出所有应用程序端点并在其上使用查询过滤器来获取您的应用程序信息。这是curl命令(替换[我的授权令牌]使用上一步中的身份验证令牌,替换[我的 API 端点]使用您用于 Cloud Foundry 的 api 端点,替换[我的应用程序名称]与您的应用程序的名称:

curl -H "authorization: bearer [my authorization token]" \
[my api endpoint]/v2/apps?q=name:[my app name] -X GET

您将收到一条如下所示的消息:

{
"total_results": 1,
"total_pages": 1,
"prev_url": null,
"next_url": null,
"resources": [
{
  "metadata": {
    "guid": "blah-blah",
    "url": "/v2/apps/blah-blah",
    "created_at": "time_stamp",
    "updated_at": null
  },
  "entity": {
    "name": "my-app",
    "production": false,
    "space_guid": "blah-blah",
    "stack_guid": "blah-blah",
    "buildpack": null,
    "detected_buildpack": null,
    "environment_json": {

    },
    "memory": 1024,
    "instances": 3,
    "disk_quota": 1024,
    "state": "STOPPED",
    "version": "blah-blah",
    "command": null,
    "console": false,
    "debug": null,
    "staging_task_id": null,
    "package_state": "STAGED",
    "health_check_type": "port",
    "health_check_timeout": null,
    "staging_failed_reason": null,
    "staging_failed_description": null,
    "diego": false,
    "docker_image": null,
    "package_updated_at": "time stamp",
    "detected_start_command": "",
    "enable_ssh": true,
    "docker_credentials_json": {
      "redacted_message": "[PRIVATE DATA HIDDEN]"
    },
    "space_url": "/v2/spaces/blah-blah",
    "stack_url": "/v2/stacks/blah-blah",
    "events_url": "/v2/apps/blah-blah/events",
    "service_bindings_url": "/v2/apps/blah-blah/service_bindings",
    "routes_url": "/v2/apps/blah-blah/routes"
  }
}
]
}

您可以从消息中获取实例。如果您想在原始链接中使用 api,您可以获取metadata.guid 以在该调用中使用。

希望有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cloud Foundry 应用程序正在运行的实例数 的相关文章

  • 如何在本地下载pip依赖项? [复制]

    这个问题在这里已经有答案了 我正在运行我的 python 应用程序requirements txt包含各种依赖项的文件 我正在 Pivotal Cloud Foundry 环境中部署此应用程序 然而 我在其中部署的环境是气隙的 因此我似乎无
  • Pivotal Web 服务中托管的 Spring RESTful 没有“Access-Control-Allow-Origin”错误

    我创建一个RESTful API with Spring boot并将其托管在Pivotal web services 假设网址是https abc cfapps io studentsjson 结果将是 id 1 name Michael
  • Spring Cloud Dataflow 有什么好处?

    根据我所看到的 在 Spring Cloud Dataflow SCDF 中创建流将部署底层应用程序 绑定通信服务 如 RabbitMQ 设置 Spring Cloud Stream 环境变量并启动应用程序 这一切都可以使用 cf Push
  • @EnableMongoAuditing for MongoDB on Cloud Foundry / mongolab

    我的设置在本地有效 但在将其部署到 CloudFoundry mongolab 时无效 配置非常类似于docs 我本地的 spring 配置 Configuration Profile dev EnableMongoAuditing Ena
  • Cloudfoundry 上的非 http TCP 连接

    我是一名菜鸟移动开发人员 试图利用 cloudfoundry 的服务来运行我的服务器来处理一些聊天和角色移动 我正在使用 Noobhub 来实现此目的 使用 Node js 和 Corona SDK 的 TCP 连接 API 在服务器和客户
  • 云代工租户 - 什么?

    我读了一些关于 Cloud Foundry 的文档 但没有找到这个术语tenants 我的问题是 Org 是否是云代工厂术语中的租户 如果不是 相当于什么 可以这样做 您可以设置 CF 安装 使一个组织成为一个租户 组织的范围是这样的 组织
  • 我的应用程序源代码在 heroku 上的安全性如何?

    我想将我的 Web 应用程序从 Cloud Foundry 迁移到 Heroku 但还有一件事我很困惑 每次您想要将应用程序部署到 heroku 时 您都必须将源代码推送到他们的 git 存储库 这个存储库的安全性如何 如果我不想将我的源代
  • Cloud Foundry 上的 HTTPS 节点应用程序

    是否可以在 Cloud Foundry 上部署一个 node js 应用程序来侦听端口 443 上的 HTTPS 请求 我可以在 Cloud Foundry 论坛中找到有关 SSL 支持的各种参考 但没有 HTTPS 应用程序的实际示例 文
  • Cloud Foundry如何处理进程隔离?

    假设我使用 上提供的开源 Cloud Foundry 实现设置了自己的云cloudfoundry org http www cloudfoundry org 我部署的每个应用程序都会作为单独的用户运行吗 或者这里使用了VMWare的虚拟化技
  • 将 SSL 密钥库文件添加到 PCF (Cloud Foundry) 上的 HTTP 客户端请求的 Java 可信存储中

    在我的 Spring Boot 应用程序中 我发出了 https 安全 请求 为此 我需要将流动参数作为 JVM 参数传递 javax net ssl trustStore javax net ssl trustStorePassword
  • 用于检索服务凭证的 Bluemix API

    在之前的一个question https stackoverflow com questions 40321385 how to get an api key for messagehubs management rest api 4032
  • 用户提供的 MSSQL 数据库的 Pivotal/Django 设置

    我在 Pivotal Cloud Foundry 上部署了一个 django 应用程序 在开发过程中 我只是坚持使用内置的 sqlite 数据库 同时将 UI 组合在一起 不需要保留数据 因此推送 删除不是问题 此后 我在本地服务器 Azu
  • Spring Boot - 创建连接数的限制

    我使用 Spring Boot 开发了一个微服务 我通过存根后端调用来测试服务的性能 当我查看线程计数时 我发现在任何时间点为服务创建的最大线程数都是 20 尽管调用的数量要高得多 使用 Spring Boot 开发的微服务的调用次数是否有
  • 使用环境覆盖 Spring Cloud Config 值

    有没有办法用另一个属性源 特别是系统环境 覆盖通过 Spring Cloud Config Server 设置的属性 我知道我可以通过循环来手动完成Environment对象的PropertySources 但如果我可以设置它以便boots
  • 在rabbitmq autoconfig connectionfactory bean上设置heartbeat属性

    我应该如何在rabbitmq spring中的CachingConnectionFactory bean上设置heartbeat属性 这是在云铸造环境中 因此 应用程序将通过清单文件使用服务绑定 并且我没有代理主机名 在我的SimpleMe
  • 如何在 Java 代码中访问弹簧执行器健康检查的结果?

    我已经使用端点 actuator health 设置了一个运行状况检查执行器 当您访问 URL 时 它会为我的应用程序生成类似以下内容的内容 status UP app status UP db status UP 有没有办法可以使用 Sp
  • 启用推送状态和上下文路径路由:在服务器上找不到静态资产

    我使用静态构建包将 React 应用程序部署到 Cloud Foundry 目标是使应用程序可以在domain com 下访问path 所以我根据他的博客文章配置了路线 https www cloudfoundry org context
  • 由于 Cloud Foundry 上的 SSL 错误,JaxB 无法解组?

    我有一个 Web 应用程序 使用 thymeleaf Spring Boot AngularJS 和 Oracle sql Developer db 在本地 我能够连接并从 Oracle 获取值 但是当我将应用程序推送到 Cloud Fou
  • Spring Boot x509 测试 - pcf

    In 云铸造厂我已对其进行配置 以便将客户端证书转发到我的 Spring Boot 应用程序 该证书被放置在x forwarded client certheader 中 spring boot 应用程序读取 this 并检查 CN 是否已
  • mongodb 备份是自动进行的吗?

    我们使用两个 mongodb 服务 现在 swisscom 开发者控制台中有一个备份按钮 我们是否必须使用此按钮手动进行备份 还是自动进行进一步备份 如果是 何时以及多久一次 我们会自动进行备份 但仅用于灾难恢复 我们不向客户提供此备份 所

随机推荐

  • C++ 标准中“好像”规则的声明或基础在哪里?

    经过一番谷歌搜索后 例如 site eel is as if rule 我找不到 C 标准中明确规定所谓 好像 规则的适当位置 我所能找到的是 在标准中调用它的那些地方 intro execution给出了参考 But intro exec
  • 如何使用 Flexbox 进行砖石布局

    我想通过 flexbox Child 元素创建砖石布局 Child 元素应按以下顺序出现 并且子元素具有不同的高度和相同的宽度 我正在使用延迟加载 1 2 3 4 5 6 从技术上讲 这是可能的flex flow column wrap 但
  • 为什么 OS X 在复制到 Samba 共享时不像 Windows 那样锁定文件?

    我有一个项目 它使用 net FileSystemWatcher 来观看 Samba 网络共享中的视频文件 当它看到一个文件时 会将其添加到编码队列中 当文件出队时 它们会被移动到本地目录 然后进程将文件编码为几种不同的格式并将它们吐出到输
  • 通过 SPARQL 处理 R XML 的编码问题

    我遇到了 R 的 SPARQL 包的编码问题 我正在运行以下代码 library SPARQL rights query lt PREFIX dc
  • 当用户开始输入时隐藏数据列表选项

    我创建了一个数据列表 显示用户关闭程序时保存的数据 我希望数据列表仅在用户单击下拉箭头 或输入框 时显示 并在用户开始键入时隐藏 我试过了 创建一个oninput事件希望当用户开始输入时数据列表将隐藏 使用隐藏数据列表datalist st
  • 多个登录表单

    我的 Web 应用程序使用 Spring security 进行保护 现在我正在尝试设置两个不同的登录页面 这是我的配置
  • 绘制大圆路径

    我正在尝试绘制一些基于路径 连接的地图 但无法弄清楚如何绘制 我看到基于一点的指标有很多可能性 伦敦的犯罪热点等 使用 googleVis ggmap 等 但我找不到太多基于两点的指标的示例 城市之间的移民 火车路线等 包中有一个示例geo
  • 找不到接受所提供参数的“+”重载

    所以我试图将我用 Objective C 制作的游戏转换为 Swift 我试图让它工作 但它总是给我一个错误 var actualX Double arc4random Double rangeX Double minX 我也尝试过 var
  • 如何在 Doxygen 注释中包含“<”?

    假设我正在使用 DOxygen Visual studio 兼容注释记录成员函数 如何使用小于 例如 如果我这样做
  • 如何在Azure函数的自定义HTTP路由中指定查询参数?

    我有一个 Azure Function 我想设置自定义 HTTP 端点 按照这个SO的答案question https stackoverflow com questions 52748519 how can my http trigger
  • Android Studio 中未显示菜单栏

    我在 macOS Sierra 上使用 Android Studio 应用程序时遇到问题 似乎该应用程序并未真正打开 因为通常 当应用程序打开时 其在扩展坞中的图标下有一个点 但在我的电脑上没有 真正的问题是 文件 构建 等菜单栏选项没有显
  • 唯一索引的分区列必须是索引键错误的子集

    所以我的项目要求我使用分区将名为 Leases 的表分成两个 分区的一侧是早于 2003 年 1 月 15 日的租约 另一侧是比该日期更新的租约 基本上我之前创建了一个名为 Leases 的表 我想为其创建一个分区 我需要创建一个全新的表来
  • 如何在 jenkinsfile(Groovy 脚本)中发送带有附件的电子邮件?

    我想在詹金斯的构建后操作后发送电子邮件 因此我编写了 jenkinsfile 如下 但我需要一些绝妙的脚本 1 zip 文件附件 2 在附加文件之前 我需要将文件夹转换为zip格式 注意 请不要建议电子邮件插件程序和配置 我更喜欢 Jenk
  • 无需 JavaScript 即可发布链接

    假设我的页面上有一个日历 单击某一天会将这一天标记为完成 但我想使用 POST 而不是 GET 因为 GET 不适合这种东西 改变一些东西 而且我也不想使用 JavaScript 我在这里要做的是构建一个无需 JavaScript 即可工作
  • 这是 Delphi 动态数组行为所期望的吗

    问题是 当动态数组被设置为类成员时 Delphi 如何在内部管理它们 它们是通过引用复制还是传递的 使用德尔福10 3 3 The UpdateArray方法从数组中删除第一个元素 但数组长度仍为 2 这UpdateArrayWithPar
  • 如何获得字典顺序中最小的?

    我正在做leetcode练习 https leetcode com problems remove duplicate letters https leetcode com problems remove duplicate letters
  • 限制限定符和指针算术

    递增或递减限制限定指针是否保留不别名假设 a and b point to disjoint arrays void foo size t n double restrict a double restrict b size t i dou
  • Mockito 间谍方法不起作用

    我在使用mockito spy 方法时遇到麻烦 我最近到达了一个 旧 项目 我的第一个任务是在其中添加mockito 并进行真正的单元测试 该项目有很多概念问题 但这不是重点 我解释一下我的问题 我有课 public class Tutu
  • 您如何在 VIM 中使用 FASD 和 FZF 的外部导航?

    您是否找到了使用 FASD 或 fzf 和 VIM 进行文件导航的舒适工作流程 我在 VIM 中打开最近的文件时遇到问题 因为 FASD 无法捕获它们 我正在寻找一些技巧 FASD 工作流程 将以下行放入您的 zshrc alias v f
  • Cloud Foundry 应用程序正在运行的实例数

    我的应用程序需要获取其运行的实例数 在运行时我的应用程序在程序逻辑中使用此信息 VCAP APPLICATION 环境变量无法提供此信息 直接调用 API 并使用 实例 属性是一种选择 但我不知道如何在我的应用程序中直接调用应用程序 API