Programming in PI Web API

Learn how to retrieve and manipulate time series data , asset information and event frames using PI Web API.

About this course

This course will be retired within 30 days

We have developed a new course that retains and expands on the lessons in this course, and we recommend signing up for the new course if you are interested in learning about PI Web API:

Using PI Web API from Beginner to Advanced

This course is aimed for developers and programmers looking to leverage HTTP Web Requests to build applications for the PI System. It is for someone who needs to understand how to interact with the PI System using RESTful Web Services and develop HTTP requests to retrieve the necessary information. Generic HTTP web request knowledge will not be taught in this course.

By the end of the course, you will be able to:

  • Understand the common use cases of Web API and determine if it is the correct tool for your use case.
  • Comfortably utilize the PI Web API in a browser to navigate to specific elements, attributes, and points as well as certain configurational and security items.
  • Locate the PI Web API Programmers Reference and utilize the Help files to develop queries necessary for your application.
  • Leverage URL parameters to specify your query with reference to the Help Documentation for valid parameters.
  • Create, Edit, and Delete AF Elements, AF Attributes, and PI Points.
  • Leverage the Batch Controller endpoint to make multiple dependent sub-requests and dynamically create requests based on previous sub-request responses.
  • Perform basic AF Search Queries via the PI Web API to filter for event Frames, Elements, and Attributes of interest.
  • Retrieve incremental real-time updates via the Stream Updates and/or Channels features.
  • Identify and resolve issues with making cross-origin requests by properly setting Cross-Origin Resource Sharing (CORS) and Cross-Site Forgery Request (CSRF) Defense Settings in the PI Web API.
  • Identify and Utilize Debugging tools to troubleshoot your own code.
  • Identify improvements that can be cumulatively applied to improve code/HTTP request performance and readability.

Audience

Developers and programmers looking to leverage HTTP Web Requests to build applications for the PI System

Level: Introductory

Study Time: 20 hours

Course Access: Unlimmited access. The only exception is the Training Cloud Environment for which you have 30 day access. After those 30 days you can purchase additional access with one of the two options below:

Prerequisites

  • This course does not teach programming, but rather how to use the PI Web API within your business. Developers should have basic knowledge of HTTP requests and JSON syntax, though we will cover some of these concepts as well.
  • Basic knowledge of the PI System generally is required for this course. Concepts such as PI Asset Framework and the relationship of attributes and elements to PI Points/Tag on the Data Archive should be familiar and comfortable before beginning this course.
  • Knowledge and use of developer tools in modern browsers as well as either Postman of Fiddler is beneficial, but not required. Knowledge of RESTful Web Services and Web API's is valuable, but also not required.
  • If you don't feel comfortable with the above the following links provide some introductory information on the necessary background in order to take this course:
  • A computer that can access our YouTube content, and pass our connection test

This Course Includes...

  • Videos, exercises and quizzes to help you learn the material
  • A Cloud Environment accessible for 30 days and configured to complete all the exercises in the course
  • Sharable certificate of completion

Further Information

  • This is a self-paced course. Any questions or assistance needed about the material can be asked in this course's space in the OSIsoft PI Square community
  • When you complete the examination at the end of the course, you will receive a certificate of completion which can be shared and directly posted on LinkedIn.
  • For more information about our Online Courses please visit our FAQ page

You can audit the full video lecture content right now on the OSIsoft Learning YouTube Channel

Course Outline

  • Getting Started
  • Key Course Information
  • Course Grading Scheme
  • How to Navigate This Course
  • Offline Course Videos for Blocked YouTube Users
  • Lesson 1 - Introduction to PI Web API
  • What is PI web API ? Why is it important?
  • Knowledge Check: Intro
  • Make PI Web API queries in a web browser
  • Knowledge Check: Browser
  • Solution: Browser
  • Lesson 2 - Where to get HELP
  • Use the PI Web API help files
  • Knowledge Check: PI Web API Help Files
  • Solution: PI Web API Help Files
  • Lesson 3 - WebIDs
  • Introduction to WebIDs
  • Knowledge Check: PI Web API WebIds
  • Solution: PI Web API WebIds
  • Create and Translate WebIDs v2.0
  • Knowledge Check: WebId v2.0
  • Solution: WebId v2.0
  • Lesson 4 - Working with Fiddler
  • Make GET requests using Fiddler
  • Add or delete PI points using POST requests
  • Knowledge Check: Using non-browser HTTP Clients
  • Solution: Using non-browser HTTP Clients
  • Lesson 5 - Batch Controller
  • Make multiple independent sub-requests with the batch controller
  • Make parent-child requests using the batch controller
  • Apply request templates with the batch controller
  • Knowledge Check: Batch Controller
  • Solution: Batch Controller
  • Lesson 6 - Search and Filters
  • Searching and filtering objects in PI Web API
  • Knowledge Check: AF Search
  • Solution: AF Search
  • Lesson 7 - Real-time Updates
  • Collect real-time changes from PI Web API with channels
  • Collect real-time changes using stream updates (recommended)
  • Knowledge Check: Stream Updates
  • Solution: Stream Updates
  • Lesson 8 - Security, Best Practices & Troubleshooting Tips
  • Configuring Cross-Origin Resource Sharing (CORS)
  • Using PI Web API Securely
  • Best Practices and Performance Improvements for PI Web API Requests
  • General PI Web API Troubleshooting Tips
  • Final Exam
  • Final Exam
  • Course Evaluation
  • How did it go?
  • Training Cloud Environments
  • Cloud Environments Introduction
  • Cloud Environments Instructions
  • Launch Cloud Environment
  • Next Steps
  • Additional Resources
  • End of the course

About this course

This course will be retired within 30 days

We have developed a new course that retains and expands on the lessons in this course, and we recommend signing up for the new course if you are interested in learning about PI Web API:

Using PI Web API from Beginner to Advanced

This course is aimed for developers and programmers looking to leverage HTTP Web Requests to build applications for the PI System. It is for someone who needs to understand how to interact with the PI System using RESTful Web Services and develop HTTP requests to retrieve the necessary information. Generic HTTP web request knowledge will not be taught in this course.

By the end of the course, you will be able to:

  • Understand the common use cases of Web API and determine if it is the correct tool for your use case.
  • Comfortably utilize the PI Web API in a browser to navigate to specific elements, attributes, and points as well as certain configurational and security items.
  • Locate the PI Web API Programmers Reference and utilize the Help files to develop queries necessary for your application.
  • Leverage URL parameters to specify your query with reference to the Help Documentation for valid parameters.
  • Create, Edit, and Delete AF Elements, AF Attributes, and PI Points.
  • Leverage the Batch Controller endpoint to make multiple dependent sub-requests and dynamically create requests based on previous sub-request responses.
  • Perform basic AF Search Queries via the PI Web API to filter for event Frames, Elements, and Attributes of interest.
  • Retrieve incremental real-time updates via the Stream Updates and/or Channels features.
  • Identify and resolve issues with making cross-origin requests by properly setting Cross-Origin Resource Sharing (CORS) and Cross-Site Forgery Request (CSRF) Defense Settings in the PI Web API.
  • Identify and Utilize Debugging tools to troubleshoot your own code.
  • Identify improvements that can be cumulatively applied to improve code/HTTP request performance and readability.

Audience

Developers and programmers looking to leverage HTTP Web Requests to build applications for the PI System

Level: Introductory

Study Time: 20 hours

Course Access: Unlimmited access. The only exception is the Training Cloud Environment for which you have 30 day access. After those 30 days you can purchase additional access with one of the two options below:

Prerequisites

  • This course does not teach programming, but rather how to use the PI Web API within your business. Developers should have basic knowledge of HTTP requests and JSON syntax, though we will cover some of these concepts as well.
  • Basic knowledge of the PI System generally is required for this course. Concepts such as PI Asset Framework and the relationship of attributes and elements to PI Points/Tag on the Data Archive should be familiar and comfortable before beginning this course.
  • Knowledge and use of developer tools in modern browsers as well as either Postman of Fiddler is beneficial, but not required. Knowledge of RESTful Web Services and Web API's is valuable, but also not required.
  • If you don't feel comfortable with the above the following links provide some introductory information on the necessary background in order to take this course:
  • A computer that can access our YouTube content, and pass our connection test

This Course Includes...

  • Videos, exercises and quizzes to help you learn the material
  • A Cloud Environment accessible for 30 days and configured to complete all the exercises in the course
  • Sharable certificate of completion

Further Information

  • This is a self-paced course. Any questions or assistance needed about the material can be asked in this course's space in the OSIsoft PI Square community
  • When you complete the examination at the end of the course, you will receive a certificate of completion which can be shared and directly posted on LinkedIn.
  • For more information about our Online Courses please visit our FAQ page

You can audit the full video lecture content right now on the OSIsoft Learning YouTube Channel

Course Outline

  • Getting Started
  • Key Course Information
  • Course Grading Scheme
  • How to Navigate This Course
  • Offline Course Videos for Blocked YouTube Users
  • Lesson 1 - Introduction to PI Web API
  • What is PI web API ? Why is it important?
  • Knowledge Check: Intro
  • Make PI Web API queries in a web browser
  • Knowledge Check: Browser
  • Solution: Browser
  • Lesson 2 - Where to get HELP
  • Use the PI Web API help files
  • Knowledge Check: PI Web API Help Files
  • Solution: PI Web API Help Files
  • Lesson 3 - WebIDs
  • Introduction to WebIDs
  • Knowledge Check: PI Web API WebIds
  • Solution: PI Web API WebIds
  • Create and Translate WebIDs v2.0
  • Knowledge Check: WebId v2.0
  • Solution: WebId v2.0
  • Lesson 4 - Working with Fiddler
  • Make GET requests using Fiddler
  • Add or delete PI points using POST requests
  • Knowledge Check: Using non-browser HTTP Clients
  • Solution: Using non-browser HTTP Clients
  • Lesson 5 - Batch Controller
  • Make multiple independent sub-requests with the batch controller
  • Make parent-child requests using the batch controller
  • Apply request templates with the batch controller
  • Knowledge Check: Batch Controller
  • Solution: Batch Controller
  • Lesson 6 - Search and Filters
  • Searching and filtering objects in PI Web API
  • Knowledge Check: AF Search
  • Solution: AF Search
  • Lesson 7 - Real-time Updates
  • Collect real-time changes from PI Web API with channels
  • Collect real-time changes using stream updates (recommended)
  • Knowledge Check: Stream Updates
  • Solution: Stream Updates
  • Lesson 8 - Security, Best Practices & Troubleshooting Tips
  • Configuring Cross-Origin Resource Sharing (CORS)
  • Using PI Web API Securely
  • Best Practices and Performance Improvements for PI Web API Requests
  • General PI Web API Troubleshooting Tips
  • Final Exam
  • Final Exam
  • Course Evaluation
  • How did it go?
  • Training Cloud Environments
  • Cloud Environments Introduction
  • Cloud Environments Instructions
  • Launch Cloud Environment
  • Next Steps
  • Additional Resources
  • End of the course