Bluemix 使用 cf bind-service 自定义配置绑定 WIoTP 服务
Bluemix binding WIoTP service using cf bind-service custom configuration
Cloud Foundry 提供了将凭据指定为 cf bind-service
命令一部分的工具。在将 WIoTP 服务绑定到 Bluemix 中的应用程序时,我正在使用此工具指定自定义凭据。如下面的匿名命令
cf bind-service demo-app dev-iotf-service -c '{"apiKey":"a-dummyorg-dummy12345","apiToken":"dummyapikey","base_uri":"https://dummyorg.internetofthings.ibmcloud.com:443/api/v0001","http_host":"dummyorg.internetofthings.ibmcloud.com","iotCredentialsIdentifier":"dummyid","mqtt_host":"dummyorg.messaging.internetofthings.ibmcloud.com","mqtt_s_port":8883,"mqtt_u_port":1883,"org":"dummyorg"}'
我已经使用 cf create-service-key
命令生成了服务密钥。
Invalid configuration provided for -c flag. Please provide a valid
JSON object or path to a file containing a valid JSON object.
我做错了什么?或者是 Bluemix,WIoTP 当前不支持将自定义凭证指定为 cf bind-service
命令的一部分。我真的不想走 CUP 路线,因为这需要在很多应用程序中进行更改,这些应用程序希望 WIoTP 凭据出现在 iotf-service
对象中。
我可以使用 bx 客户端完全按照您指定的方式调用命令(除了替换我的应用程序和服务名称):
bx cf bind-service myapp my-iotf-service -c '{"apiKey":"a-dummyorg-dummy12345","apiToken":"dummyapikey","base_uri":"https://dummyorg.internetofthings.ibmcloud.com:443/api/v0001","http_host":"dummyorg.internetofthings.ibmcloud.com","iotCredentialsIdentifier":"dummyid","mqtt_host":"dummyorg.messaging.internetofthings.ibmcloud.com","mqtt_s_port":8883,"mqtt_u_port":1883,"org":"dummyorg"}'
并且有效。可能您只是有一个旧的 cf 客户端。您应该使用 https://console.bluemix.net/docs/cli/index.html#downloads
上可用的 bx 客户端
但是,IoTP 不支持这种方式,因此会忽略通过这种方式发送的任何内容。最明显的情况是要么创建一个有限的 API 密钥,要么使用您在尝试时已经创建的 API 密钥。很遗憾,您需要在 https://ibmcloud.ideas.aha.io/?category=6343565373323972470 提交想法才能得到考虑。
Cloud Foundry 提供了将凭据指定为 cf bind-service
命令一部分的工具。在将 WIoTP 服务绑定到 Bluemix 中的应用程序时,我正在使用此工具指定自定义凭据。如下面的匿名命令
cf bind-service demo-app dev-iotf-service -c '{"apiKey":"a-dummyorg-dummy12345","apiToken":"dummyapikey","base_uri":"https://dummyorg.internetofthings.ibmcloud.com:443/api/v0001","http_host":"dummyorg.internetofthings.ibmcloud.com","iotCredentialsIdentifier":"dummyid","mqtt_host":"dummyorg.messaging.internetofthings.ibmcloud.com","mqtt_s_port":8883,"mqtt_u_port":1883,"org":"dummyorg"}'
我已经使用 cf create-service-key
命令生成了服务密钥。
Invalid configuration provided for -c flag. Please provide a valid JSON object or path to a file containing a valid JSON object.
我做错了什么?或者是 Bluemix,WIoTP 当前不支持将自定义凭证指定为 cf bind-service
命令的一部分。我真的不想走 CUP 路线,因为这需要在很多应用程序中进行更改,这些应用程序希望 WIoTP 凭据出现在 iotf-service
对象中。
我可以使用 bx 客户端完全按照您指定的方式调用命令(除了替换我的应用程序和服务名称):
bx cf bind-service myapp my-iotf-service -c '{"apiKey":"a-dummyorg-dummy12345","apiToken":"dummyapikey","base_uri":"https://dummyorg.internetofthings.ibmcloud.com:443/api/v0001","http_host":"dummyorg.internetofthings.ibmcloud.com","iotCredentialsIdentifier":"dummyid","mqtt_host":"dummyorg.messaging.internetofthings.ibmcloud.com","mqtt_s_port":8883,"mqtt_u_port":1883,"org":"dummyorg"}'
并且有效。可能您只是有一个旧的 cf 客户端。您应该使用 https://console.bluemix.net/docs/cli/index.html#downloads
上可用的 bx 客户端但是,IoTP 不支持这种方式,因此会忽略通过这种方式发送的任何内容。最明显的情况是要么创建一个有限的 API 密钥,要么使用您在尝试时已经创建的 API 密钥。很遗憾,您需要在 https://ibmcloud.ideas.aha.io/?category=6343565373323972470 提交想法才能得到考虑。