Obtention des points d'extrémité de service

Les points de terminaison de service que le cluster expose sont mis à votre disposition en tant que clés de service (également appelées données d'identification de service).

Vous pouvez obtenir les points d'extrémité de service par différents moyens :

Les nœuds finaux de service n'exposent pas les données d'identification de l'instance. Pour obtenir les données d'identification d'instance, voir Extraction des données d'identification de cluster.

Obtention des points de terminaison de service à l'aide de l'interface CLI IBM Cloud

Vous devez créer une clé de service pour l'instance IBM Analytics Engine sans serveur, afin d'obtenir les nœuds finaux de service.

Pour créer une clé de ressource de service, entrez la commande suivante :

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

Les paramètres requis sont les suivants :

  • <your_service_instance_name> : nom de l'instance de service que vous avez spécifiée lors de la création du cluster. Vous pouvez vérifier votre Liste de ressources IBM Cloud pour rechercher vos noms d'instance de service.
  • <your_service_key_name> : un nom que vous souhaitez utiliser pour la clé. Il sera utilisé pour obtenir les clés de service.
  • <role> : rôle que vous avez attribué à la clé de l'API IAM qui a été générée pour les données d'identification de service. Vous ne pourrez effectuer que les opérations autorisées pour le rôle choisi. Pour plus de détails sur les rôles requis pour effectuer une opération, reportez-vous à la section Autorisations IAM requises dans Attribution d'autorisations aux utilisateurs.

Réponse attendue :

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

Pour afficher votre clé de ressource de service, entrez la commande suivante :

ibmcloud resource service-key <service_key_name>

Paramètre requis :

  • <service key name> : nom de la clé de service que vous avez entrée lors de la création de la clé.

Exemple de réponse : Gardez à l'esprit que les données d'identification du cluster ne sont pas renvoyées dans la réponse.

{
  "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"
}

Dans l'exemple de réponse, les propriétés sous endpoints indiquent les points de terminaison de service. La propriété iam_apikey_name contient une clé d'API IAM qui peut être utilisée pour générer des jetons de porteur IAM. Un jeton de porteur IAM doit être fourni pour autorisation lors de l'appel des API REST pour les instances sans serveur IBM Analytics Engine.

Obtention des points de terminaison de service à l'aide de l'API REST IBM Cloud

**Prérequis **: Il vous faut un jeton IAM bearer (porteur). Pour plus d'informations, consultez Obtention des jetons d'accès IAM.

Le point d'extrémité de l'API où sont prises en charge les clés de service est https://resource-controller.cloud.ibm.com/v1/resource_keys.

Pour créer une clé de ressource de service, entrez :

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>"} }'

Exemple de réponse :

{
	"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
}

Obtention des points de terminaison de service à partir de la console IBM Cloud

Si vous suivez les étapes de cette section pour obtenir les points de terminaison de service à l'aide de la console IBM Cloud, vous êtes dirigé vers la page des données d'identification de service de votre instance de service où doivent se trouver les points de terminaison de service et la clé d'API.

Pour créer une clé de service à partir de la console IBM Cloud :

  1. Accédez à votre liste de ressources, cliquez sur Services et logiciels et sélectionnez l'instance sans serveur mise à disposition.
  2. Cliquez sur Données d'identification du service dans la barre latérale gauche.
  3. Cliquez ensuite sur Nouvelles données d'identification pour créer de nouvelles données d'identification de service.
  4. Entrez un nom, sélectionnez un rôle et cliquez sur Ajouter.
  5. Copiez les données d'identification vers le presse-papiers.

Voir la documentation de l'API pour les opérations disponibles sur les points de terminaison de gestion d'instance et de gestion d'application. Pour plus de détails sur les droits requis pour appeler des opérations sur ces points de terminaison, voir Attribution d'autorisations aux utilisateurs.