【问题标题】:Bluemix API to retrieve the service credentials用于检索服务凭证的 Bluemix API
【发布时间】:2017-03-12 08:22:35
【问题描述】:

在之前的question中,我可以得到与MessageHub管理api交互的apiKey。

我没有将此服务绑定到 Bluemix 应用程序,因此我无权访问我的应用程序中的 VCAP_SERVICES 环境变量。

我想以编程方式检索服务凭据。我认为这可能是一个通用的 Bluemix cf api 问题,而不是 MessageHub 问题。

如何使用 API 调用检索服务凭证?

【问题讨论】:

标签: ibm-cloud cloud-foundry message-hub


【解决方案1】:

很遗憾,因为BlueMix runs a version of Cloud Foundry that is 6 months out of date,您不能使用List Service Keys 端点。

您唯一的选择是将其绑定到某个应用(甚至可能不是真正的应用)以提取凭据。

有一种观点认为,人类需要服务凭证是一种反模式,但有很多用例是必要的。

【讨论】:

  • 也许这已经改变了,因为列表服务密钥 api 对我有用?
【解决方案2】:

https://apidocs.cloudfoundry.org/245/service_instances/list_all_service_keys_for_the_service_instance.html API 为我工作。

使用cf-python-client 库:

from cloudfoundry_client.client import CloudFoundryClient
target_endpoint = 'https://api.ng.bluemix.net'

client = CloudFoundryClient(target_endpoint, skip_verification=False)
client.init_with_user_credentials(
    ibm_id,
    ibm_id_password
    )

mh_service_instance = client.service_instances.get_first(name='my_service')
if mh_service_instance:
    mh_service_instance_id = mh_service_instance['metadata']['guid']
    print(mh_service_instance_id)
    print(list(mh_service_instance.service_keys()))

【讨论】:

    猜你喜欢
    • 2018-04-01
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    • 2018-02-23
    相关资源
    最近更新 更多