擷取服務端點

叢集公開的服務端點可作為服務金鑰 (也稱為服務認證) 供您使用。

您可以透過下列方式提取服務端點:

服務端點不會公開實例認證。 若要取得實例認證,請參閱 擷取叢集認證

使用 IBM Cloud CLI 取得服務端點

您需要為 IBM Analytics Engine 無伺服器實例建立服務金鑰,以取得服務端點。

若要建立服務資源金鑰,請輸入下列指令:

ibmcloud resource service-key-create <your_service_key_name> <role> --instance-name <your_service_instance_name>

必要的參數包括:

  • <your_service_instance_name>: 您在建立叢集時指定的服務實例名稱。 您可以檢查 IBM Cloud 資源清單,以尋找服務實例名稱。
  • <your_service_key_name>: 您要用於金鑰的任何名稱。 此名稱是用來擷取服務金鑰。
  • <role>: 您指派給針對服務認證產生之 IAM API 金鑰的角色。 您只能執行所選角色所允許的那些作業。 如需執行作業所需角色的詳細資料,請參閱 將許可權授與使用者 中的 必要 IAM 許可權 一節。

預期的回應:

Creating service key of service instance <service_instance_name> under account <your account name> as <your user name>...
OK
Service key <service key crn> was created.
Name:          service-key-name
ID:            crn:v1:staging:public:ibmanalyticsengine:us-south:a/d628eae2cxxxxx229f2xxxx:1671b660-xxxx-448f-xxx-e1633a2b97c7:resource-key:4f1b043c-xxxx-xxxx-xxxx-cbf90f6155d0
Created At:    Mon Nov 29 11:47:32 UTC 2021
State:         active
Credentials:
               apikey:                   xxxxxx
               endpoints:
                                         applications_api:   https://api-staging.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx660-7f2x-4xxf-9xx4-exxxxxxxxxc7/spark_applications
                                         instance_api:       https://api-staging.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx660-7f2x-4xxf-9xx4-exxxxxxxxxc7
					 history_server_ui:  https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx660-7f2x-4xxf-9xx4-exxxxxxxxxc7/spark_history_ui
					 history_server_api: https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx660-7f2x-4xxf-9xx4-exxxxxxxxxc7/spark_history_api/v1

               iam_apikey_description:   Auto-generated for key 4f1xxx3c-7517-xxx-cbfxxxxxx5d0
               iam_apikey_name:          service-key-name
               iam_role_crn:             crn:v1:bluemix:public:iam::::serviceRole:Writer
               iam_serviceid_crn:        crn:v1:staging:public:iam-identity::a/xxxx::serviceid:ServiceId-3543db7f-xxxx-454a-xxxx-1b20333ebeaa

若要檢視服務資源金鑰,請輸入下列指令:

ibmcloud resource service-key <service_key_name>

必要參數:

  • <service key name>: 建立金鑰時所輸入服務金鑰的名稱。

範例回應: 請記住在回應中未傳回叢集認證。

{
  "apikey": "xxxxx",
  "endpoints": {
    "applications_api": "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx-3bxxxbc-4xxx1-axx6-8xxdxx0xxd/spark_applications",
    "instance_api": "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx-3bxxxbc-4xxx1-axx6-8xxdxx0xxd",
    "history_server_ui": "https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx-3bxxxbc-4xxx1-axx6-8xxdxx0xxd/spark_history_ui",
    "history_server_api":"https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/xxxx-3bxxxbc-4xxx1-axx6-8xxdxx0xxd/spark_history_api/v1"
  },
  "iam_apikey_description": "Auto-generated for key cabde209-xxxx",
  "iam_apikey_name": "Service credentials-1",
  "iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Reader",
  "iam_serviceid_crn": "crn:v1:bluemix:public:iam-identity::a/xxxxx::serviceid:ServiceId-2fec11aa-xxxx-4918-xxxx-aa3650f99050"
}

在範例回應中,endpoints 下的內容指定服務端點。 內容 iam_apikey_name 包含 IAM API 金鑰,可用來產生 IAM 持有人記號。 呼叫 IBM Analytics Engine 無伺服器實例的 REST API 時,必須提供 IAM 持有人記號以進行授權。

使用 IBM Cloud REST API 取得服務端點

必要條件: 您需要 IAM 持有人記號。 如需相關資訊,請參閱 擷取 IAM 存取記號

處理 API 服務金鑰的 API 端點是 https://resource-controller.cloud.ibm.com/v1/resource_keys

若要建立服務資源金鑰,請輸入:

curl -X POST \
  https://resource-controller.cloud.ibm.com/v1/resource_keys \
  -H 'accept: application/json' \
  -H "authorization: Bearer <IAM bearer token>" \
  -H 'content-type: application/json' \
  -d '{"name":"<key name>","source_crn":"<service instance crn>", "parameters":{"role_crn":"<crn of access role>"} }'

範例回應:

{
	"id": "crn:v1:staging:public:ibmanalyticsengine:us-south:a/d628eae2cxxxxx229f2xxxx:79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx:resource-key:2278xxxx-xxxx-xxxx-xxxx-59a6da6xxxxe",
	"guid": "2278xxxx-xxxx-xxxx-xxxx-59a6da68xxxx",
	"url": "/v1/resource_keys/crn%3Av1%3Astaging%3Apublic%3Aibmanalyticsengine%3Aus-south%3Aa%2Fd628eae2cxxxxx229f2xxxx%3A79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx%3Aresource-key%3A2278xxxx-xxxx-xxxx-xxxx-59a6da6xxxxe",
	"created_at": "2021-11-30T08:48:47.909145179Z",
	"updated_at": "2021-11-30T08:48:47.909145179Z",
	"deleted_at": null,
	"created_by": "",
	"updated_by": "",
	"deleted_by": "",
	"source_crn": "crn:v1:staging:public:ibmanalyticsengine:us-south:a/d628eae2cxxxxx229f2xxxx:79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx::",
	"name": "service_key_02",
	"role": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
	"crn": "crn:v1:staging:public:ibmanalyticsengine:us-south:a/d628eae2cxxxxx229f2xxxx:79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx:resource-key:2278xxxx-xxxx-xxxx-xxxx-59a6da6xxxxe",
	"state": "active",
	"account_id": "d628eae2cxxxxx229f2xxxx",
	"resource_group_id": "65828fxxxx594594816e872xxxx",
	"resource_id": "18dexxxx-xxxx-xxxx-xxxx-0ed2f93fxxxx",
	"credentials": {
		"apikey": "xxxxx",
		"endpoints": {
			"applications_api": "https://api-staging.us-south.ae.cloud.ibm.com/v3/analytics_engines/79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx/spark_applications",
			"instance_api": "https://api-staging.us-south.ae.cloud.ibm.com/v3/analytics_engines/79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx",
			"history_server_ui": "https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx/spark_history_ui",
			"history_server_api":"https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx/spark_history_api/v1"
		},
		"iam_apikey_description": "Auto-generated for key 2278e09d-b815-4c4b-b824-xxxx",
		"iam_apikey_name": "service_key_02",
		"iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
		"iam_serviceid_crn": "crn:v1:staging:public:iam-identity::a/d628eae2cxxxxx229f2xxxx::serviceid:ServiceId-209exxxx-xxxx-xxxx-xxxx-4ab9ce16xxxx"
	},
	"iam_compatible": true,
	"migrated": false,
	"resource_instance_url": "/v1/resource_instances/crn%3Av1%3Astaging%3Apublic%3Aibmanalyticsengine%3Aus-south%3Aa%2Fd628eae2cxxxxx229f2xxxx%3A79c757e9-xxxx-xxxx-xxxx-dff7f01xxxx%3A%3A",
	"resource_alias_url": null
}

從 IBM Cloud 主控台取得服務端點

如果您遵循本節中的步驟,以使用 IBM Cloud 主控台來取得服務端點,則會將您導向至您預期在其中看到服務端點及 API 金鑰的服務實例的服務認證頁面。

若要從 IBM Cloud 主控台建立服務金鑰,請執行下列動作:

  1. 移至 資源清單,按一下 服務及軟體,然後選取已佈建的無伺服器實例。
  2. 按一下左側列中的 服務認證
  3. 然後按一下 新建認證,以建立新的服務認證。
  4. 輸入名稱,選取角色,然後按一下 新增
  5. 將認證複製到剪貼簿。

如需實例管理和應用程式管理端點上可用的作業,請參閱 API 文件。 如需在那些端點上呼叫作業所需之許可權的詳細資料,請參閱 將許可權授與使用者