# Create Azure Blob Storage account, Event Grid subscription, Logic App and private endpoint for Cognitive Services
[](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Famazon%2Fazure-templates%2Fmain%2Ftext-from-images%2Fazuretemplate.json)
Deploy this template to your subscription. Start deployment by clicking the **Deploy To Azure** button.
After you click **Deploy to Azure** button, select the subscription you want to use, and add new resource group. You can also choose from existing resource groups if you know you need it.

Pass the Application Endpoint URI in the format `https://<your-site>/api/events`. The endpoint must accept POST requests with JSON payload. You can use some fake URL at time of deployment and change it to the real after.

When you are done, click **Review + create** and then **create**. After deployment is complete, click on Outputs and copy `storageConnectionStringWithSas` by clicking the *Copy* icon at right. Save it for later.

Retutn to Overview and click **Go to resource group** to see the newly created resources. You should see somethink like this:

Open your Storage account resource, create new container of your choise, and upload any .jpg image. After then, find you Logic App resource and open it. You should see one run attempt in Run history. It doesn't matter if it is failed or not:

Click on the corresponting row, and *Logic app run* view will open. If first 3 steps are succeed, everything is fine so far:

Select the failed step to see the reason of failure. In the following screenshot, the reason is *The provided host name my.application.com could not be resolved*, which is quite expected:

Now you can change the url to working one using **Logic App Editor**.