Podcast
Questions and Answers
Какой из следующих протоколов не используется для соединения с REST API серверами?
Какой из следующих протоколов не используется для соединения с REST API серверами?
Что необходимо отправить с каждым запросом к серверу при использовании REST API?
Что необходимо отправить с каждым запросом к серверу при использовании REST API?
Какой параметр cmdlet Invoke-RestMethod является обязательным?
Какой параметр cmdlet Invoke-RestMethod является обязательным?
Какой формат не является возможным для ответа на запрос к REST API?
Какой формат не является возможным для ответа на запрос к REST API?
Signup and view all the answers
Какой порт необходимо открыть для выполнения REST API запросов к NSX Manager?
Какой порт необходимо открыть для выполнения REST API запросов к NSX Manager?
Signup and view all the answers
Какой из следующих форматов может быть ответом на запрос к REST API?
Какой из следующих форматов может быть ответом на запрос к REST API?
Signup and view all the answers
REST API использует состояние на стороне сервера для отслеживания предыдущих запросов.
REST API использует состояние на стороне сервера для отслеживания предыдущих запросов.
Signup and view all the answers
Что делает cmdlet Invoke-RestMethod?
Что делает cmdlet Invoke-RestMethod?
Signup and view all the answers
Для соединения с NSX Manager необходимо предоставить доступ к порту _____ для выполнения REST API запросов.
Для соединения с NSX Manager необходимо предоставить доступ к порту _____ для выполнения REST API запросов.
Signup and view all the answers
Сопоставьте параметры cmdlet Invoke-RestMethod с их назначением:
Сопоставьте параметры cmdlet Invoke-RestMethod с их назначением:
Signup and view all the answers
Study Notes
Connecting to REST APIs
- REST APIs use HTTP/HTTPS for server connections.
- Requests are sent as URIs. Responses can be XML, HTML, or JSON.
- REST is stateless; servers don't remember previous requests. All necessary information (credentials, etc.) must be included in each request.
- Port 443/TCP is required for REST API requests to NSX Manager.
PowerCLI and REST API Requests
-
Invoke-RestMethod
cmdlet sends HTTP/HTTPS requests. - The
-Uri
parameter is required forInvoke-RestMethod
. Numerous other parameters exist for customization, including-Method
,-Headers
,-Body
, and many more. - Example of connecting to a NSX Manager API and retrieving connection details using
Invoke-RestMethod
:- Connect to vCenter Server (
Connect-VIServer
). - Set variables for NSX Manager (
$NSXManager
), username ($Username
), and password ($Password
). - Convert credentials to Base64 (
$base64AuthInfo
). - Create headers (
$Headers
) using$base64AuthInfo
. - Set URI for API call (
$Uri
). Example:/api/2.0/services/vcconfig
(HTTPS required). - Use
Invoke-RestMethod
to retrieve data ($xml
). Response likely contains XML data. - Access data within the response (e.g.,
$xml.vcInfo
) for specific information, like IP address, username, certificate details of connected vCenter. - Example error: "The underlying connection was closed..." often indicates SSL/TLS issues. A prior vCenter connection is frequently required.
- Use
-Method Get
withInvoke-RestMethod
. - The
Invoke-RestMethod
cmdlet offers extensive parameters for controlling requests (e.g.,-Method
,-Headers
,-Body
). The full parameter list, including the available HTTP methods (Get
,Post
,Put
,Delete
), should be consulted.
- Connect to vCenter Server (
- Example of retrieving data, with
Invoke-RestMethod
parameters: -$xml = Invoke-RestMethod -Uri $Uri -Method Get -Headers $Headers
. -$xml.vcInfo
accesses the connection information (e.g., ip address, username) within the response.
Error Handling and Tips
- SSL/TLS issues (e.g., "The underlying connection was closed...") may require a prior vCenter connection.
- Refer to the NSX vSphere API Guide for information about endpoints and format.
- Use VMware Hands-on Labs (e.g., HOL-1703-SDC-1) to practice and use the SEND TEXT button.
- Use the
Connect-VIServer
cmdlet to establish a vCenter connection. - Use Base64 encoding (
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("$Username
:$Password"))`) to securely handle credentials. - Create headers (
$Headers = @{Authorization = "Basic $base64AuthInfo"}
) for authentication in HTTP requests.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
Изучите, как использовать PowerCLI для подключения к REST API. Вопросы охватывают основные принципы работы с API и методами отправки запросов, включая примеры командлетов и параметров. Подходите к вопросникам о том, как управлять соединениями и аутентификацией.