ื”ื™ื›ืจื•ืช ืขื InterSystems API Manager (+ ืกืžื™ื ืจ ืžืงื•ื•ืŸ)

ืœืื—ืจื•ื ื” ืฉื—ืจืจื ื• ืืช InterSystems API Manager (IAM), ืจื›ื™ื‘ ื—ื“ืฉ ืฉืœ InterSystems IRIS Data Platform ื”ืžืกืคืง ื ืจืื•ืช, ื‘ืงืจื” ื•ื ื™ื”ื•ืœ ืฉืœ ืชืขื‘ื•ืจืช API ื‘ืื™ื ื˜ืจื ื˜ ืขืœ ืคื ื™ ืชืฉืชื™ืช ื”-IT.

ื‘ืžืืžืจ ื–ื”, ืื ื™ ืืจืื” ืœืš ื›ื™ืฆื“ ืœื”ื’ื“ื™ืจ ืืช IAM ื•ืœื”ื“ื’ื™ื ื›ืžื” ืžื”ื™ื›ื•ืœื•ืช ื”ืจื‘ื•ืช ื”ื–ืžื™ื ื•ืช ืขื‘ื•ืจืš ืขื IAM. InterSystems API Manager ืžืืคืฉืจ ืœืš:

  • ืขืงื•ื‘ ืื—ืจ ื”-API, ื”ื‘ืŸ ืžื™ ืžืฉืชืžืฉ ื‘-API, ืื™ืœื• ืžืžืฉืงื™ API ื”ื ื”ืคื•ืคื•ืœืจื™ื™ื ื‘ื™ื•ืชืจ, ื•ืื™ืœื• ื“ื•ืจืฉื™ื ืฉื™ืคื•ืจ.
  • ืฉืœื™ื˜ื” ื‘ืžื™ ืžืฉืชืžืฉ ื‘-API ื•ื”ื’ื‘ืœืช ืฉื™ืžื•ืฉ ื‘-API ืžื”ื’ื‘ืœื•ืช ื’ื™ืฉื” ืคืฉื•ื˜ื•ืช ืœื”ื’ื‘ืœื•ืช ืžื‘ื•ืกืกื•ืช ื‘ืงืฉื•ืช - ื™ืฉ ืœืš ืฉืœื™ื˜ื” ืžื•ืชืืžืช ืื™ืฉื™ืช ื•ืืชื” ื™ื›ื•ืœ ืœื”ื’ื™ื‘ ื‘ืžื”ื™ืจื•ืช ืœื“ืคื•ืกื™ ืฆืจื™ื›ื” ืžืฉืชื ื™ื ืฉืœ API.
  • ืžืžืฉืงื™ API ืžืื•ื‘ื˜ื—ื™ื ื‘ืืžืฆืขื•ืช ืžื ื’ื ื•ื ื™ ืื‘ื˜ื—ื” ืžืจื›ื–ื™ื™ื ื›ื’ื•ืŸ OAuth2.0, LDAP ืื• ืื™ืžื•ืช ืืกื™ืžื•ืŸ ืžืคืชื—.
  • ื”ืงืœ ืขืœ ืžืคืชื—ื™ ืฆื“ ืฉืœื™ืฉื™ ื•ืกืคืง ืœื”ื ื—ื•ื•ื™ืช API ืžืขื•ืœื” ืขืœ ื™ื“ื™ ืคืชื™ื—ืช ืคื•ืจื˜ืœ ืžืคืชื—ื™ื ื™ื™ืขื•ื“ื™.
  • ื”ื’ื“ืœ ืืช ื”-API ื•ื”ื‘ื˜ื— ื–ืžืŸ ืื—ื–ื•ืจ ืžื™ื ื™ืžืœื™ ืฉืœ ืชื’ื•ื‘ื”.

ื ื™ื”ื•ืœ API ื—ื™ื•ื ื™ ืœืžืขื‘ืจ ืœืืจื›ื™ื˜ืงื˜ื•ืจืช SOA ืื• ืžื™ืงืจื•-ืฉื™ืจื•ืชื™ื, ื”ืžืคืฉื˜ ืืช ื”ืื™ื ื˜ื’ืจืฆื™ื” ื‘ื™ืŸ ืฉื™ืจื•ืชื™ื ื‘ื•ื“ื“ื™ื (ืžื™ืงืจื•), ืžื” ืฉื”ื•ืคืš ืื•ืชื ืœื–ืžื™ื ื™ื ืœื›ืœ ื”ืฆืจื›ื ื™ื ื”ื—ื™ืฆื•ื ื™ื™ื ื•ื”ืคื ื™ืžื™ื™ื. ื›ืชื•ืฆืื” ืžื›ืš, ืžืžืฉืงื™ API ื—ื“ืฉื™ื ื”ื•ืคื›ื™ื ืงืœื™ื ื™ื•ืชืจ ืœื™ืฆื™ืจื”, ืœืชื—ื–ื•ืงื” ื•ืœืฆืจื™ื›ื”.

ืื ืืชื” ื›ื‘ืจ ืžืฉืชืžืฉ ื‘-InterSystems IRIS, ืืชื” ื™ื›ื•ืœ ืœื”ื•ืกื™ืฃ ืืช ืืคืฉืจื•ืช IAM ืœืจื™ืฉื™ื•ืŸ ืฉืœืš. ืืคืฉืจื•ืช IAM ื”ื™ื ื‘ื—ื™ื ื ืœืœืงื•ื—ื•ืช InterSystems IRIS, ืืš ืขืœื™ืš ืœื‘ืงืฉ ืžืคืชื— ืจื™ืฉื™ื•ืŸ ื—ื“ืฉ ืž-InterSystems ื›ื“ื™ ืœื”ืชื—ื™ืœ ืœื”ืฉืชืžืฉ ื‘-IAM.

ืื ืื™ื ืš ืžืฉืชืžืฉ ืขื“ื™ื™ืŸ ื‘-InterSystems IRIS ื•ืžืชื›ื ื ืช ืœื ืกื•ืช ืืช InterSystems API Manager, ืื ื ืฆื•ืจ ืงืฉืจ ืขื InterSystems.

ืชื—ื™ืœืช ืขื‘ื•ื“ื” ื•ื”ืชืงื ื”

ืœืงื•ื—ื•ืช InterSystems ื™ื›ื•ืœื™ื ืœื”ื•ืจื™ื“ ืืช ื”ืคืฆืช IAM ืžื”ืืชืจ WRC ืกืขื™ืฃ "ื”ืคืฆืช ืชื•ื›ื ื”" ื•ื”ืคืขืœ ื›ืžื™ื›ืœ Docker. ื“ืจื™ืฉื•ืช ืžืขืจื›ืช ืžื™ื ื™ืžืœื™ื•ืช:

ื‘ืชื—ื™ืœื”, ืืชื” ืฆืจื™ืš ืœื”ื•ืจื™ื“ ืืช ืชืžื•ื ืช Docker (ื—ืฉื•ื‘! ื”ืืจื›ื™ื•ืŸ ืขื WRC ื”ื•ื ืœื ืชืžื•ื ืช Docker, ืืชื” ืฆืจื™ืš ืœืคืจื•ืง ืื•ืชื”, ื™ืฉ ืชืžื•ื ืช Docker ื‘ืคื ื™ื):

docker load -i iam_image.tar

ืคืงื•ื“ื” ื–ื• ืชื”ืคื•ืš ืืช ืชืžื•ื ืช IAM ืœื–ืžื™ื ื” ืœืฉื™ืžื•ืฉ ืžืื•ื—ืจ ื™ื•ืชืจ ื‘ืฉืจืช ืฉืœืš. IAM ืคื•ืขืœ ื›ืžื™ื›ืœ ื ืคืจื“, ื›ืš ืฉืชื•ื›ืœ ืœืฉื ื•ืช ืืช ืงื ื” ื”ืžื™ื“ื” ืฉืœื• ื‘ืื•ืคืŸ ืขืฆืžืื™ ืž-InterSystems IRIS. ื”ืคืขืœืช IAM ื“ื•ืจืฉืช ื’ื™ืฉื” ืœ-InterSystems IRIS ื›ื“ื™ ืœื”ื•ืจื™ื“ ืจื™ืฉื™ื•ืŸ.

ื”ื’ื“ืจ ืืช InterSystems IRIS:

  • ื”ืคืขืœ ืืช ืืคืœื™ืงืฆื™ื™ืช ื”ืื™ื ื˜ืจื ื˜ /api/IAM
  • ืืคืฉืจ ืžืฉืชืžืฉ IAM
  • ืฉื ื” ืืช ืกื™ืกืžืช ื”ืžืฉืชืžืฉ IAM

ืขื›ืฉื™ื• ื‘ื•ืื• ื ืชื—ื™ืœ ืืช ืžื™ื›ืœ IAM. ื‘ืืจื›ื™ื•ืŸ ืชืžืฆืื• ืชืกืจื™ื˜ื™ื iam-setup ืขื‘ื•ืจ Windows ื•-Unix (ื•-Mac). ืกืงืจื™ืคื˜ื™ื ืืœื” ื™ืขื–ืจื• ืœืš ืœื”ื’ื“ื™ืจ ืืช ืžืฉืชื ื™ ื”ืกื‘ื™ื‘ื” ื‘ืฆื•ืจื” ื ื›ื•ื ื”, ื•ื™ืืคืฉืจื• ืœืงื•ื ื˜ื™ื™ื ืจ IAM ืœื™ืฆื•ืจ ื—ื™ื‘ื•ืจ ืขื InterSystems IRIS. ื”ื ื” ื“ื•ื’ืžื” ืœืกืงืจื™ืคื˜ ื”ืคื•ืขืœ ื‘-Mac:

source ./iam-setup.sh 
Welcome to the InterSystems IRIS and InterSystems API Manager (IAM) setup script.
This script sets the ISC_IRIS_URL environment variable that is used by the IAM container to get the IAM license key from InterSystems IRIS.
Enter the full image repository, name and tag for your IAM docker image: intersystems/iam:0.34-1-1
Enter the IP address for your InterSystems IRIS instance. The IP address has to be accessible from within the IAM container, therefore, do not use "localhost" or "127.0.0.1" if IRIS is running on your local machine. Instead use the public IP address of your local machine. If IRIS is running in a container, use the public IP address of the host environment, not the IP address of the IRIS container. xxx.xxx.xxx.xxx               
Enter the web server port for your InterSystems IRIS instance: 52773
Enter the password for the IAM user for your InterSystems IRIS instance: 
Re-enter your password: 
Your inputs are:
Full image repository, name and tag for your IAM docker image: intersystems/iam:0.34-1-1
IP address for your InterSystems IRIS instance: xxx.xxx.xxx.xxx
Web server port for your InterSystems IRIS instance: 52773
Would you like to continue with these inputs (y/n)? y
Getting IAM license using your inputs...
Successfully got IAM license!
The ISC_IRIS_URL environment variable was set to: http://IAM:****************@xxx.xxx.xxx.xxx:52773/api/iam/license
WARNING: The environment variable is set for this shell only!
To start the services, run the following command in the top level directory: docker-compose up -d
To stop the services, run the following command in the top level directory: docker-compose down
URL for the IAM Manager portal: http://localhost:8002

ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช, ืฉื ื”ืชืžื•ื ื” ื”ืžืœื, ื›ืชื•ื‘ืช ื”-IP, ื™ืฆื™ืืช InterSystems IRIS ื•ื”ืกื™ืกืžื” ืขื‘ื•ืจ ืžืฉืชืžืฉ IAM ื”ื ื›ืœ ืžื” ืฉืืชื” ืฆืจื™ืš ื›ื“ื™ ืœื”ืชื—ื™ืœ.

ื‘ืžืงื•ื ืœื”ืจื™ืฅ ืกืงืจื™ืคื˜, ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ืžืฉืชื ื™ ืกื‘ื™ื‘ื” ื‘ืื•ืคืŸ ื™ื“ื ื™:

ISC_IAM_IMAGE=intersystems/iam:0.34-1-1
ISC_IRIS_URL=http://IAM:<PASS>@<IP>:<PORT>/api/iam/license

ื”ืคืขืœื”

ืขื›ืฉื™ื• ื‘ื•ืื• ื ืคืขื™ืœ ืืช IAM ืขืœ ื™ื“ื™ ื”ืคืขืœืช ื”ืคืงื•ื“ื”:

docker-compose up -d

ืคืงื•ื“ื” ื–ื• ืžืืจื’ื ืช ืืช ื”ืงื•ื ื˜ื™ื™ื ืจื™ื ืฉืœ IAM ื•ืžื‘ื˜ื™ื—ื” ืฉื”ื›ืœ ืคื•ืขืœ ื›ื”ืœื›ื”. ืกื˜ื˜ื•ืก ื”ืงื•ื ื˜ื™ื™ื ืจื™ื ื ื‘ื“ืง ื‘ืืžืฆืขื•ืช ื”ืคืงื•ื“ื”:

docker ps

ืคืชื— ืืช ืžืžืฉืง ื”ื ื™ื”ื•ืœ ื‘ื“ืคื“ืคืŸ ืฉืœืš localhost:8002.

ื”ื™ื›ืจื•ืช ืขื InterSystems API Manager (+ ืกืžื™ื ืจ ืžืงื•ื•ืŸ)

ื–ื” ืจื™ืง ืœืขืช ืขืชื” ื›ื™ ื–ื” ืฆื•ืžืช ื—ื“ืฉ ืœื’ืžืจื™. ื‘ื•ืื• ื ืฉื ื” ืืช ื–ื”. IAM ืชื•ืžืš ื‘ืจืขื™ื•ืŸ ืฉืœ ืกื‘ื™ื‘ื•ืช ืขื‘ื•ื“ื” ืœื—ืœื•ืงืช ืžืžืฉืงื™ API ืœืžื•ื“ื•ืœื™ื ื•/ืื• ืคืงื•ื“ื•ืช. ืขื‘ื•ืจ ืืœ ืกื‘ื™ื‘ืช ื”ืขื‘ื•ื“ื” "ื‘ืจื™ืจืช ื”ืžื—ื“ืœ" ื‘ื” ื ืฉืชืžืฉ ืขื‘ื•ืจ ื”ื ื™ืกื•ื™ื™ื ืฉืœื ื•.

ื”ื™ื›ืจื•ืช ืขื InterSystems API Manager (+ ืกืžื™ื ืจ ืžืงื•ื•ืŸ)

ืžืกืคืจ ื”ื‘ืงืฉื•ืช ืขื‘ื•ืจ ืกื‘ื™ื‘ืช ืขื‘ื•ื“ื” ื–ื• ืขื“ื™ื™ืŸ ืืคืก, ืืš ืชืงื‘ืœ ืžื•ืฉื’ ืขืœ ื”ืžื•ืฉื’ื™ื ื”ื‘ืกื™ืกื™ื™ื ืฉืœ IAM ื‘ืชืคืจื™ื˜ ืžืฉืžืืœ. ืฉื ื™ ื”ืžืจื›ื™ื‘ื™ื ื”ืจืืฉื•ื ื™ื: ืฉื™ืจื•ืชื™ื ื•ืžืกืœื•ืœื™ื ื”ื ื”ื—ืฉื•ื‘ื™ื ื‘ื™ื•ืชืจ:

  • ืฉื™ืจื•ืช ื”ื•ื ื”-API ืืœื™ื• ืื ื• ืจื•ืฆื™ื ืœืกืคืง ื’ื™ืฉื” ืœืฆืจื›ื ื™ื. ืœืคื™ื›ืš, ื”-REST API ื‘-InterSystems IRIS ื”ื•ื ืฉื™ืจื•ืช, ื›ืžื• ืœืžืฉืœ, ื”-API ืฉืœ Google ืื ืืชื” ืจื•ืฆื” ืœื”ืฉืชืžืฉ ื‘ื•.
  • ื”ืžืกืœื•ืœ ืžื—ืœื™ื˜ ืœืื™ื–ื” ืฉื™ืจื•ืช ื™ืฉ ืœื”ืขื‘ื™ืจ ื‘ืงืฉื•ืช ื ื›ื ืกื•ืช. ืœื›ืœ ืžืกืœื•ืœ ื™ืฉ ืžืขืจื›ืช ืกืคืฆื™ืคื™ืช ืฉืœ ืชื ืื™ื, ื•ืื ื”ื ืžืชืงื™ื™ืžื™ื, ื”ื‘ืงืฉื” ื ืฉืœื—ืช ืœืฉื™ืจื•ืช ื”ืžืชืื™ื. ืœื“ื•ื’ืžื”, ื ืชื™ื‘ ื™ื›ื•ืœ ืœื”ืชืื™ื ืœ-IP, ืชื—ื•ื ื”ืฉื•ืœื—, ืฉื™ื˜ื•ืช HTTP, ื—ืœืงื™ื ืฉืœ URI ืื• ืฉื™ืœื•ื‘ ืฉืœ ื“ื•ื’ืžืื•ืช ืืœื•.

ืฉื™ืจื•ืช

ื‘ื•ืื• ื ื™ืฆื•ืจ ืฉื™ืจื•ืช InterSystems IRIS, ืขื ื”ืขืจื›ื™ื ื”ื‘ืื™ื:

ืฉื“ื”
ืขืจืš
ืชื™ืื•ืจ

ืฉื
ืื™ืจื™ืก
ืฉื ื”ืฉื™ืจื•ืช

ื”ืžืืจื—
IP
ืžืืจื— ืฉืจืช IRIS ืฉืœ InterSystems ืื• ip

ื ืžืœ
52773
ื™ืฆื™ืืช ืื™ื ื˜ืจื ื˜ ืœืฉืจืช InterSystems IRIS

ื ืชื™ื‘
/api/atelier
ืฉื‘ื™ืœ ืฉื•ืจืฉ

ืคืจื•ื˜ื•ืงื•ืœ
http
ืคืจื•ื˜ื•ืงื•ืœ

ื”ืฉืืจ ืืช ื”ืขืจื›ื™ื ื”ื ื•ืชืจื™ื ื›ื‘ืจื™ืจืช ืžื—ื“ืœ. ืœื—ืฅ ืขืœ ื”ื›ืคืชื•ืจ Create ื•ืจืฉื•ื ืืช ื”ืžื–ื”ื” ืฉืœ ื”ืฉื™ืจื•ืช ืฉื ื•ืฆืจ.

ืžืกืœื•ืœ

ืขื›ืฉื™ื• ื‘ื•ืื• ื ื™ืฆื•ืจ ืžืกืœื•ืœ:

ืฉื“ื”
ืขืจืš
ืชื™ืื•ืจ

ื ืชื™ื‘
/api/atelier
ืฉื‘ื™ืœ ืฉื•ืจืฉ

ืคืจื•ื˜ื•ืงื•ืœ
http
ืคืจื•ื˜ื•ืงื•ืœ

service.id
ืžื“ืจื™ืš ืž-3
ืฉื™ืจื•ืช (ืžื–ื”ื” ืžื”ืฉืœื‘ ื”ืงื•ื“ื)

ื”ืฉืืจ ืืช ื”ืขืจื›ื™ื ื”ื ื•ืชืจื™ื ื›ื‘ืจื™ืจืช ืžื—ื“ืœ. ืœื—ืฅ ืขืœ ื”ื›ืคืชื•ืจ Create ื•ืจืฉื•ื ืืช ื”ืžื–ื”ื” ืฉืœ ื”ืžืกืœื•ืœ ืฉื ื•ืฆืจ. ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, IAM ืžืื–ื™ืŸ ืœื‘ืงืฉื•ืช ื ื›ื ืกื•ืช ื‘ื™ืฆื™ืื” 8000. ื›ืขืช ื‘ืงืฉื•ืช ืฉื ืฉืœื—ื•ืช ืืœ http://localhost:8000 ื•ืžืชื—ื™ืœ ืขื /api/atelier ืžื ื•ืชื‘ื™ื ืžื—ื“ืฉ ืืœ InterSystems IRIS.

ื‘ื“ื™ืงื”

ื‘ื•ื ื ื ืกื” ืœื™ืฆื•ืจ ื‘ืงืฉื” ื‘ืœืงื•ื— REST (ืื ื™ ืžืฉืชืžืฉ ื“ื•ื•ืจ).

ื”ื™ื›ืจื•ืช ืขื InterSystems API Manager (+ ืกืžื™ื ืจ ืžืงื•ื•ืŸ)

ื‘ื•ื ื ืฉืœื— ื‘ืงืฉืช GET ืืœ http://localhost:8000/api/atelier/ (ืืœ ืชืฉื›ื— / ื‘ืกื•ืฃ) ื•ืงื‘ืœ ืชืฉื•ื‘ื” ืž-InterSystems IRIS. ื›ืœ ื‘ืงืฉื” ืขื•ื‘ืจืช ื“ืจืš IAM ืืฉืจ ืื•ืกืคืช ืžื“ื“ื™ื:

  • ืงื•ื“ ืžืฆื‘ HTTP.
  • ืœึฐืขึทื›ึผึตื‘.
  • ื ื™ื˜ื•ืจ (ืื ืžื•ื’ื“ืจ).

ื”ื’ืฉืชื™ ืขื•ื“ ื›ืžื” ื‘ืงืฉื•ืช (ื›ื•ืœืœ ืฉืชื™ ื‘ืงืฉื•ืช ืœื ืงื•ื“ื•ืช ืงืฆื” ืœื ืงื™ื™ืžื•ืช ื›ืžื• /api/atelier/est/), ื”ืชื•ืฆืื•ืช ื ืจืื•ืช ืžื™ื“ ื‘ืœื•ื— ื”ืžื—ื•ื•ื ื™ื:

ื”ื™ื›ืจื•ืช ืขื InterSystems API Manager (+ ืกืžื™ื ืจ ืžืงื•ื•ืŸ)

ืขื‘ื•ื“ื” ืขื ืชื•ืกืคื™ื

ื›ืขืช, ืœืื—ืจ ืฉื”ื•ื’ื“ืจ ืžืกืœื•ืœ, ืื ื• ื™ื›ื•ืœื™ื ืœื ื”ืœ ืืช ื”-API ืฉืœื ื•. ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ื•ืกื™ืฃ ืชื›ื•ื ื•ืช ืฉื™ืฉืœื™ืžื• ืืช ื”ืฉื™ืจื•ืช ืฉืœื ื•.

ื”ื“ืจืš ื”ื ืคื•ืฆื” ื‘ื™ื•ืชืจ ืœืฉื ื•ืช ืืช ื”ื”ืชื ื”ื’ื•ืช ืฉืœ API ื”ื™ื ืœื”ื•ืกื™ืฃ ืชื•ืกืฃ. ืชื•ืกืคื™ื ืžื‘ื•ื“ื“ื™ื ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืื™ื ื“ื™ื‘ื™ื“ื•ืืœื™ืช ื•ื ื™ืชืŸ ืœื—ื‘ืจ ืื•ืชื ืœ-IAM ื‘ืื•ืคืŸ ื’ืœื•ื‘ืœื™ ืื• ืจืง ืœื™ืฉื•ื™ื•ืช ื‘ื•ื“ื“ื•ืช, ื›ื’ื•ืŸ ืžืฉืชืžืฉ (ืงื‘ื•ืฆืช ืžืฉืชืžืฉื™ื), ืฉื™ืจื•ืช ืื• ืžืกืœื•ืœ. ื ืชื—ื™ืœ ื‘ื”ื•ืกืคืช ืชื•ืกืฃ ื”ื’ื‘ืœืช ื”ืชืขืจื™ืคื™ื ืœืžืกืœื•ืœ. ื›ื“ื™ ืœื™ืฆื•ืจ ื—ื™ื‘ื•ืจ ื‘ื™ืŸ ื”ืชื•ืกืฃ ืœืžืกืœื•ืœ, ืื ื—ื ื• ืฆืจื™ื›ื™ื ืžื–ื”ื” ื™ื™ื—ื•ื“ื™ (ID) ืฉืœ ื”ืžืกืœื•ืœ.

ื”ื’ื‘ืœืช ืžืกืคืจ ื”ื‘ืงืฉื•ืช

ืœื—ืฅ ืขืœ ืชื•ืกืคื™ื ื‘ืชืคืจื™ื˜ ืกืจื’ืœ ื”ืฆื“ ื”ืฉืžืืœื™. ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืืช ื›ืœ ื”ืชื•ืกืคื™ื ื”ืคืขื™ืœื™ื ื‘ืžืกืš ื–ื”, ืืš ืžื›ื™ื•ื•ืŸ ืฉืฉืจืช IAM ื–ื” ื—ื“ืฉ, ืื™ืŸ ืขื“ื™ื™ืŸ ืชื•ืกืคื™ื ืคืขื™ืœื™ื. ืื– ื”ืžืฉืš ืœืฉืœื‘ ื”ื‘ื ืขืœ ื™ื“ื™ ืœื—ื™ืฆื” ืขืœ "ืชื•ืกืฃ ื—ื“ืฉ".

ื”ืชื•ืกืฃ ืฉืื ื• ืฆืจื™ื›ื™ื ื ืžืฆื ื‘ืงื˜ื’ื•ืจื™ื™ืช "ื‘ืงืจืช ืชื ื•ืขื”" ื•ื ืงืจื "ื”ื’ื‘ืœืช ืชืขืจื™ืฃ". ื‘ื—ืจ ื‘ื•. ื™ืฉ ืœื ืžืขื˜ ื”ื’ื“ืจื•ืช ืฉืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ื›ืืŸ, ืื‘ืœ ืื›ืคืช ืœื ื• ืจืง ืžืฉื ื™ ืฉื“ื•ืช:

ืฉื“ื”
ืขืจืš
ืชื™ืื•ืจ

route_id
ID
ืžื–ื”ื” ืžืกืœื•ืœ

config.minute
5
ืžืกืคืจ ื‘ืงืฉื•ืช ืœื“ืงื”

ื–ื” ื”ื›ืœ. ื”ืชื•ืกืฃ ืžื•ื’ื“ืจ ื•ืคืขื™ืœ. ืฉื™ืžื• ืœื‘ ืฉืื ื• ื™ื›ื•ืœื™ื ืœื‘ื—ื•ืจ ืžืจื•ื•ื—ื™ ื–ืžืŸ ืฉื•ื ื™ื, ื›ื’ื•ืŸ ื“ืงื”, ืฉืขื” ืื• ื™ื•ื. ื ื™ืชืŸ ืœืฉืœื‘ ืืช ื”ื”ื’ื“ืจื•ืช (ืœื“ื•ื’ืžื”, 1000 ื‘ืงืฉื•ืช ืœืฉืขื” ื•ื‘ืžืงื‘ื™ืœ 100 ื‘ืงืฉื•ืช ืœื“ืงื”). ื‘ื—ืจืชื™ ื“ืงื•ืช ื›ื™ ื–ื” ืžืงืœ ืขืœ ื‘ื“ื™ืงืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ ื”ืชื•ืกืฃ.

ืื ืชืฉืœื— ืฉื•ื‘ ืืช ืื•ืชื” ื‘ืงืฉื” ื‘-Postman, ืชืจืื” ืฉื”ืชื’ื•ื‘ื” ืžื•ื—ื–ืจืช ืขื 2 ื›ื•ืชืจื•ืช ื ื•ืกืคื•ืช:

  • XRateLimit-Limit-ื“ืงื”: 5
  • XRateLimit-ื“ืงื” ืฉื ื•ืชืจื”: 4

ื–ื” ืื•ืžืจ ืœืœืงื•ื— ืฉื”ื•ื ื™ื›ื•ืœ ืœื”ื’ื™ืฉ ืขื“ 5 ื‘ืงืฉื•ืช ืœื“ืงื” ื•ื™ื›ื•ืœ ืœื‘ืฆืข 4 ื‘ืงืฉื•ืช ื ื•ืกืคื•ืช ื‘ืžืฉื‘ืฆืช ื”ื–ืžืŸ ื”ื ื•ื›ื—ื™ืช.

ื”ื™ื›ืจื•ืช ืขื InterSystems API Manager (+ ืกืžื™ื ืจ ืžืงื•ื•ืŸ)

ืื ืชื’ื™ืฉ ืืช ืื•ืชื” ื‘ืงืฉื” ืฉื•ื‘ ื•ืฉื•ื‘, ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืชื™ื’ืžืจ ืœืš ื”ืžื›ืกื” ื”ื–ืžื™ื ื” ื•ื‘ืžืงื•ื ื–ืืช ืชืงื‘ืœ ืงื•ื“ ืกื˜ื˜ื•ืก HTTP ืฉืœ 429 ืขื ื’ื•ืฃ ื”ืชื’ื•ื‘ื” ื”ื‘ื:

ื”ื™ื›ืจื•ืช ืขื InterSystems API Manager (+ ืกืžื™ื ืจ ืžืงื•ื•ืŸ)

ื”ืžืชืŸ ื“ืงื” ื•ืชื•ื›ืœ ืœื”ื’ื™ืฉ ืฉื•ื‘ ื‘ืงืฉื•ืช.

ื–ื”ื• ืžื ื’ื ื•ืŸ ื ื•ื— ื”ืžืืคืฉืจ ืœืš:

  • ื”ื’ืŸ ืขืœ ื”ืงืฆื” ื”ืื—ื•ืจื™ ืžืคื ื™ ืขืœื™ื•ืช ืขื•ืžืก.
  • ืกืคืจ ืœืœืงื•ื—ื•ืช ื›ืžื” ื‘ืงืฉื•ืช ื”ื ื™ื›ื•ืœื™ื ืœื”ื’ื™ืฉ.
  • ื™ื™ืฆืจ ืจื•ื•ื— ืžื”-API.

ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ืขืจื›ื™ื ืขื‘ื•ืจ ืžืจื•ื•ื—ื™ ื–ืžืŸ ืฉื•ื ื™ื ื•ื‘ื›ืš ืœื”ื—ืœื™ืง ืืช ืชืขื‘ื•ืจืช ื”-API ืขืœ ืคื ื™ ืคืจืง ื–ืžืŸ ืžืกื•ื™ื. ื ื ื™ื— ืฉืืชื” ืžืืคืฉืจ 600 ื‘ืงืฉื•ืช ืœืฉืขื” ื‘ืžืกืœื•ืœ ืžืกื•ื™ื. ื‘ืžืžื•ืฆืข ื™ืฉ 10 ื‘ืงืฉื•ืช ืœื“ืงื”. ืื‘ืœ ืฉื•ื ื“ื‘ืจ ืœื ืžื•ื ืข ืžื”ืœืงื•ื— ืœื”ืฉืœื™ื ืืช ื›ืœ 600 ื”ื‘ืงืฉื•ืช ื‘ื“ืงื” ื”ืจืืฉื•ื ื” ืฉืœ ื”ืฉืขื”. ืื•ืœื™ ื–ื” ืžื” ืฉืืชื” ืฆืจื™ืš. ื™ื™ืชื›ืŸ ืฉืชืจืฆื” ืœื”ืฉื™ื’ ืขื•ืžืก ืื—ื™ื“ ื™ื•ืชืจ ื‘ืžื”ืœืš ืฉืขื”. ืขืœ ื™ื“ื™ ื”ื’ื“ืจืช ืขืจืš ื”ืฉื“ื” config.minute ืขืจืš ืฉืœ 20 ืžื‘ื˜ื™ื— ืฉื”ืžืฉืชืžืฉื™ื ืฉืœืš ืœื ื™ื‘ืฆืขื• ื™ื•ืชืจ ืž-20 ื‘ืงืฉื•ืช ืœื“ืงื” ื•-600 ื‘ืงืฉื•ืช ืœืฉืขื”. ื–ื” ืžืืคืฉืจ ืขืœื™ื•ืช ืงื˜ื ื•ืช ื‘ืžืจื•ื•ื— ืฉืœ ื“ืงื” ืื—ืช ื‘ื”ืฉื•ื•ืื” ืœื–ืจื™ืžื” ืžืžื•ืฆืขืช ืžืœืื” ืฉืœ 10 ื‘ืงืฉื•ืช ืœื“ืงื”, ืืš ื”ืžืฉืชืžืฉื™ื ืœื ื™ื›ื•ืœื™ื ืœื”ืฉืชืžืฉ ื‘ืžื›ืกื” ื”ืฉืขืชื™ืช ืœืžืฉืš ื“ืงื” ืื—ืช. ื›ืขืช ื”ื ื™ืฆื˜ืจื›ื• ืœืคื—ื•ืช 30 ื“ืงื•ืช ื›ื“ื™ ืœื”ืฉืชืžืฉ ื‘ื›ืœ ื”ื‘ืงืฉื•ืช ืฉืœื”ื. ืœืงื•ื—ื•ืช ื™ืงื‘ืœื• ื›ื•ืชืจื•ืช ื ื•ืกืคื•ืช ืขื‘ื•ืจ ื›ืœ ืžืจื•ื•ื— ื–ืžืŸ ืฉืฆื•ื™ืŸ, ืœื“ื•ื’ืžื”:

ื›ื•ืชืจืช HTTP
ืขืจืš

X-RateLimit-Limit-ืฉืขื”
600

X-RateLimit-ืฉืขื” ืฉื ื•ืชืจื”
595

X-RateLimit-Limit-ื“ืงื”
20

X-RateLimit-ื“ืงื” ืฉื ื•ืชืจื”
16

ื›ืžื•ื‘ืŸ, ื™ืฉื ืŸ ื“ืจื›ื™ื ืจื‘ื•ืช ื•ืฉื•ื ื•ืช ืœื”ื’ื“ื™ืจ ืžื’ื‘ืœื•ืช ืฉืื™ืœืชื•ืช ื‘ื”ืชืื ืœืžื” ืฉืืชื” ืจื•ืฆื” ืœื”ืฉื™ื’.

ืžืžืฆืื™ื

ืื ื™ ืืกื™ื™ื ื›ืืŸ, ืื ื™ ื—ื•ืฉื‘ ืฉื™ืฉ ืžืกืคื™ืง ื—ื•ืžืจ ืœืžืืžืจ ื”ืจืืฉื•ืŸ ืขืœ InterSystems API Manager. ื”ืฉืชืžืฉื ื• ืจืง ื‘ืื—ื“ ืžืชื•ืš ืœืžืขืœื” ืž-40 ืชื•ืกืคื™ื. ื™ืฉ ืขื•ื“ ื”ืจื‘ื” ื“ื‘ืจื™ื ืžืขื ื™ื™ื ื™ื ืฉืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ืขื IAM:

  • ื”ื•ืกืฃ ืžื ื’ื ื•ืŸ ืื™ืžื•ืช ืžืจื›ื–ื™ ืขื‘ื•ืจ ื›ืœ ืžืžืฉืงื™ ื”-API ืฉืœืš.
  • ื”ื’ื“ืœ ืืช ื”ืขื•ืžืก ื‘ืืžืฆืขื•ืช ืžืื–ืŸ ืขื•ืžืกื™ื ืขืœ ืคื ื™ ืžืกืคืจ ืฉื™ืจื•ืชื™ื.
  • ื”ื•ืกืฃ ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื—ื“ืฉื” ื•ืชื™ืงื•ื ื™ ื‘ืื’ื™ื ืœืงื”ืœ ื”ืžื‘ื—ืŸ ืœืคื ื™ ืขื“ื›ื•ืŸ ืžืœื.
  • ืกืคืง ืœืžืคืชื—ื™ื ืคื ื™ืžื™ื™ื ื•ื—ื™ืฆื•ื ื™ื™ื ืคื•ืจื˜ืœ ืื™ื ื˜ืจื ื˜ ื™ื™ืขื•ื“ื™ ื”ืžืชืขื“ ืืช ื›ืœ ืžืžืฉืงื™ ื”-API.
  • ืžื˜ืžื•ืŸ ื‘ืงืฉื•ืช ืœื”ืคื—ืชืช ื–ืžืŸ ื”ืชื’ื•ื‘ื” ื•ืœื”ืคื—ืชืช ื”ืขื•ืžืก ืขืœ ื”ืงืฆื” ื”ืื—ื•ืจื™ ืฉืœ ื”ืžืขืจื›ืช.

ืชื–ื›ื•ืจ

Webinar

ืื ื• ืžื–ืžื™ื ื™ื ืืชื›ื ืœืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ "ื ื™ื”ื•ืœ API ืขื InterSystems API Management", ืฉื™ืชืงื™ื™ื ื‘-21 ื‘ื ื•ื‘ืžื‘ืจ ื‘ืฉืขื” 10:00 ืฉืขื•ืŸ ืžื•ืกืงื‘ื” (GMT+3).
InterSystems API Manager (IAM) ื”ื•ื ืจื›ื™ื‘ ื—ื“ืฉ ืฉืœ InterSystems IRIS Data Platform ื”ืžืกืคืง ื ื™ื˜ื•ืจ, ื‘ืงืจื” ื•ื ื™ื”ื•ืœ ืฉืœ ืชืขื‘ื•ืจื” ืืœ/ืž ืžืžืฉืงื™ API ื‘ืื™ื ื˜ืจื ื˜ ื‘ืชื•ืš ืชืฉืชื™ืช ื”-IT. ื‘ืกืžื™ื ืจ ื”ืžืงื•ื•ืŸ ื ื“ื’ื™ื ืืช ื™ื›ื•ืœื•ืช ื”ืžืคืชื— ืฉืœ InterSystems API Management:

  • ื›ืœื™ ื ื™ื˜ื•ืจ ืชืขื‘ื•ืจืช API.
  • ื‘ืงืจื•ืช ืชืขื‘ื•ืจื” ืฉืœ API, ื›ื•ืœืœ ื‘ืงืจืช ืจื•ื—ื‘ ืคืก, ื”ื’ื‘ืœืช ืžืกืคืจ ืงืจื™ืื•ืช API, ืฉืžื™ืจื” ืขืœ ืจืฉื™ืžื•ืช ืฉืœ ืจืฉื™ืžื•ืช ืžื•ืชืจื•ืช ื•ื“ื—ื•ื™ื•ืช ืฉืœ ื›ืชื•ื‘ื•ืช IP ื•ื›ื•'.
  • ื›ืœื™ ืชืฆื•ืจืช ืื‘ื˜ื—ืช API.
  • ืคื•ืจื˜ืœ ืžืคืชื—ื™ื ืœืคืจืกื•ื ืชื™ืขื•ื“ API ืื™ื ื˜ืจืืงื˜ื™ื‘ื™.
  • ื ืงื•ื“ืช ื’ื™ืฉื” ื™ื—ื™ื“ื” ืœ-API.

ื”ื•ื•ื‘ื™ื ืจ ืžื™ื•ืขื“ ืœืื“ืจื™ื›ืœื™ื, ืžืคืชื—ื™ื ื•ืžื ื”ืœื™ ืžืขืจื›ื•ืช.

ื ื“ืจืฉืช ื”ืจืฉืžื”!

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”