{"id":2033,"date":"2020-11-19T10:37:51","date_gmt":"2020-11-19T18:37:51","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cosmosdb\/?p=2033"},"modified":"2021-01-08T14:06:59","modified_gmt":"2021-01-08T22:06:59","slug":"creating-mobile-applications-with-cosmosdb","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cosmosdb\/creating-mobile-applications-with-cosmosdb\/","title":{"rendered":"Creating Mobile Applications with Azure Cosmos DB and React Native"},"content":{"rendered":"<p><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2020\/11\/splash_image.png\"><img decoding=\"async\" class=\"aligncenter wp-image-2060 size-medium\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2020\/11\/splash_image-300x130.png\" alt=\"Cosmos DB and React Native\" width=\"300\" height=\"130\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2020\/11\/splash_image-300x130.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2020\/11\/splash_image-1024x444.png 1024w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2020\/11\/splash_image-768x333.png 768w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2020\/11\/splash_image.png 1195w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><span style=\"font-family: 'Segoe UI', sans-serif; font-size: 1rem;\">Building a mobile application with Azure Cosmos DB and React Native is simple\u2026 let&#8217;s give it the old college <\/span><span class=\"GramE\" style=\"font-family: 'Segoe UI', sans-serif; font-size: 1rem;\">try :<\/span><span style=\"font-family: 'Segoe UI', sans-serif; font-size: 1rem;\">$. First, <\/span><span class=\"SpellE\" style=\"font-family: 'Segoe UI', sans-serif; font-size: 1rem;\">let&#8217;s<\/span><span style=\"font-family: 'Segoe UI', sans-serif; font-size: 1rem;\"> set up our environment. I use a Mac, so adjust accordingly. To setup up our environment, we need a few things React Native, Expo, Yarn, snack (optional), and Azure Cosmos DB keys.<\/span><\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2020\/11\/Screen-Shot-2020-11-18-at-6.00.48-AM.png\"><img decoding=\"async\" class=\"alignnone size-medium wp-image-2113\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2020\/11\/Screen-Shot-2020-11-18-at-6.00.48-AM-167x300.png\" alt=\"Image Screen Shot 2020 11 18 at 6 00 48 AM\" width=\"167\" height=\"300\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2020\/11\/Screen-Shot-2020-11-18-at-6.00.48-AM-167x300.png 167w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2020\/11\/Screen-Shot-2020-11-18-at-6.00.48-AM-572x1024.png 572w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2020\/11\/Screen-Shot-2020-11-18-at-6.00.48-AM-768x1376.png 768w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2020\/11\/Screen-Shot-2020-11-18-at-6.00.48-AM-857x1536.png 857w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2020\/11\/Screen-Shot-2020-11-18-at-6.00.48-AM.png 1132w\" sizes=\"(max-width: 167px) 100vw, 167px\" \/><\/a><\/p>\n<div class=\"WordSection1\">\n<h2><a name=\"prerequisites\"><\/a><span style=\"font-family: 'Segoe UI', sans-serif; font-size: 18pt;\">Prerequisites<\/span><\/h2>\n<h3><a name=\"step-1-installing-node-and-watchman\"><\/a><span style=\"font-family: 'Segoe UI', sans-serif; font-size: 18pt;\">Step 1: Installing Node and Watchman<\/span><\/h3>\n<p class=\"MsoNormal\"><span style=\"font-family: 'Segoe UI',sans-serif;\">The official guide suggests using Homebrew to install Node and Watchman. First things first run the below command to install Homebrew<\/span><\/p>\n<p class=\"MsoNormal\" style=\"margin: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; background: #F0F0F0; vertical-align: baseline;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; mso-fareast-font-family: 'Times New Roman'; color: #444444;\">\/bin\/bash &#8211; <\/span><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; mso-fareast-font-family: 'Times New Roman'; color: #397300; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">c<\/span> <span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; mso-fareast-font-family: 'Times New Roman'; color: #880000; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">&#8220;$(curl &#8211;<span class=\"SpellE\">fsSL<\/span> https:\/\/raw.githubusercontent.com\/Homebrew\/install\/master\/install.sh)&#8221;<\/span><\/p>\n<p>&nbsp;<\/p>\n<p class=\"MsoNormal\"><span style=\"font-family: 'Segoe UI',sans-serif;\">Run the following commands to install Node and Watchman.<\/span><\/p>\n<pre style=\"background: #F0F0F0; vertical-align: baseline;\"><a name=\"step-2-creating-a-new-application\"><\/a><span class=\"GramE\"><span style=\"mso-bookmark: step-2-creating-a-new-application;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">brew<\/span><\/span><\/span><span style=\"mso-bookmark: step-2-creating-a-new-application;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> install <span class=\"hljs-keyword\"><b><span style=\"border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">node\r\n<\/span><\/b><\/span><\/span><\/span><span style=\"mso-bookmark: step-2-creating-a-new-application;\"><span class=\"GramE\"><span class=\"hljs-title\"><b><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #880000; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">brew<\/span><\/b><\/span><\/span><\/span><span style=\"mso-bookmark: step-2-creating-a-new-application;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> install watchman<\/span><\/span><\/pre>\n<h3><span style=\"font-size: 18pt;\"><span style=\"font-family: 'Segoe UI',sans-serif;\">Step 2: Creating a new Application<\/span><\/span><\/h3>\n<p class=\"MsoNormal\"><span style=\"font-family: 'Segoe UI',sans-serif;\">Now all the dependencies are installed, and we can create our new Application. Run this command to create a new React Native App<\/span><\/p>\n<h3><a name=\"expo\"><\/a><span style=\"font-family: 'Segoe UI',sans-serif;\">Expo<\/span><\/h3>\n<pre style=\"background: #F0F0F0; vertical-align: baseline;\"><a name=\"react-native\"><\/a><span class=\"SpellE\"><span style=\"mso-bookmark: react-native;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">npm<\/span><\/span><\/span><span style=\"mso-bookmark: react-native;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> <span class=\"hljs-keyword\"><b><span style=\"border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">install<\/span><\/b><\/span> <\/span><\/span><span style=\"mso-bookmark: react-native;\"><span class=\"hljs-comment\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #888888; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">--global expo-cli\r\n<\/span><\/span><\/span><span style=\"mso-bookmark: react-native;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">expo <span class=\"SpellE\">init<\/span> <span class=\"SpellE\">cosmosdb<\/span>-react-<span class=\"hljs-keyword\"><b><span style=\"border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">native<\/span><\/b><\/span><\/span><\/span><\/pre>\n<h3><span style=\"mso-bookmark: react-native;\"><span style=\"font-family: 'Segoe UI',sans-serif;\">React Native<\/span><\/span><\/h3>\n<pre style=\"background: #F0F0F0; vertical-align: baseline;\"><span class=\"SpellE\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">npx<\/span><\/span><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> react-<span class=\"hljs-keyword\"><b><span style=\"border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">native<\/span><\/b><\/span> <span class=\"SpellE\">init<\/span> <span class=\"SpellE\">cosmosdb<\/span>-react-<span class=\"hljs-keyword\"><b><span style=\"border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">native<\/span><\/b><\/span><\/span><\/pre>\n<p class=\"MsoNormal\"><span style=\"font-family: 'Segoe UI',sans-serif;\">This command creates a new project named <span class=\"SpellE\">cosmosdb<\/span>-react-native. If <span class=\"GramE\">you\u2019ve<\/span> used &#8220;gem&#8221; to install <span class=\"SpellE\">CocoaPods<\/span>, you will also need to run the pod command to install all the dependencies.<\/span><\/p>\n<h3><a name=\"step-3-running-app-through-command-line\"><\/a><span style=\"font-family: 'Segoe UI', sans-serif; font-size: 18pt;\">Running apps using the command line<\/span><\/h3>\n<ul>\n<li><span style=\"font-family: 'Segoe UI',sans-serif;\">First, navigate to the project folder. cd cosmosdb-react-native then execute this command to run the app in simulator next react-native run-ios<\/span><\/li>\n<li><span style=\"font-family: 'Segoe UI',sans-serif;\">Running app with <span class=\"SpellE\">Xcode<\/span><\/span><\/li>\n<li><span style=\"font-family: 'Segoe UI',sans-serif;\">Locate your app folder, then go to the iOS or Android folder. You will see a file named <\/span><span class=\"SpellE\"><span class=\"NormalTok\"><span style=\"font-size: 11.0pt; mso-bidi-font-size: 12.0pt; font-family: 'Segoe UI',sans-serif;\">cosmosdb<\/span><\/span><\/span><span class=\"NormalTok\"><span style=\"font-size: 11.0pt; mso-bidi-font-size: 12.0pt; font-family: 'Segoe UI',sans-serif;\">-react-<span class=\"SpellE\"><span class=\"GramE\">native<span style=\"font-size: 12.0pt;\">.xcworkspace<\/span><\/span><\/span><\/span><\/span><span style=\"font-family: 'Segoe UI',sans-serif;\">.<\/span><\/li>\n<li><span style=\"font-family: 'Segoe UI',sans-serif;\">Open the workspace file. Select an iOS or Android <span class=\"SpellE\">simulator<\/span> and run your app. <span class=\"SpellE\">Tadaaa<\/span>!! <\/span><span style=\"font-family: 'Segoe UI Emoji',sans-serif; mso-bidi-font-family: 'Segoe UI Emoji';\">\ud83c\udf89<\/span> <span style=\"font-family: 'Segoe UI Emoji',sans-serif; mso-bidi-font-family: 'Segoe UI Emoji';\">\ud83c\udf8a<\/span><\/li>\n<\/ul>\n<h3><a name=\"step-4-install-cosmosdb-package\"><\/a><span style=\"font-size: 18pt;\"><span style=\"font-family: 'Segoe UI',sans-serif;\">Step 3: Install Azure <\/span><span class=\"SpellE\"><span style=\"mso-bookmark: step-4-install-cosmosdb-package;\"><span style=\"font-family: 'Segoe UI',sans-serif;\">Cosmos DB<\/span><\/span><\/span><span style=\"mso-bookmark: step-4-install-cosmosdb-package;\"><span style=\"font-family: 'Segoe UI',sans-serif;\"> package<\/span><\/span><\/span><\/h3>\n<p class=\"MsoNormal\"><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-js\/tree\/master\/sdk\/cosmosdb\/cosmos\"><span style=\"font-family: 'Segoe UI',sans-serif;\">https:\/\/github.com\/Azure\/azure-sdk-for-js\/tree\/master\/sdk\/cosmosdb\/cosmos<\/span><\/a><\/p>\n<p class=\"MsoNormal\"><span style=\"font-family: 'Segoe UI', sans-serif; font-size: 18pt;\">NodeJS<\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"font-family: 'Segoe UI',sans-serif;\">Npm comes preinstalled with NodeJS. You should be using Node v10 or above.<\/span><\/p>\n<pre style=\"background: #F0F0F0; vertical-align: baseline;\"><a name=\"get-account-credentials\"><\/a><span class=\"SpellE\"><span style=\"mso-bookmark: get-account-credentials;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">npm<\/span><\/span><\/span><span style=\"mso-bookmark: get-account-credentials;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> install --save <\/span><\/span><span style=\"mso-bookmark: get-account-credentials;\"><span class=\"hljs-variable\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #bc6060; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">@azure<\/span><\/span><\/span><span style=\"mso-bookmark: get-account-credentials;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">\/cosmos<\/span><\/span><span style=\"mso-bookmark: get-account-credentials;\"><span class=\"hljs-variable\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #bc6060; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">@latest\r\n<\/span><\/span><\/span><span style=\"mso-bookmark: get-account-credentials;\"><span class=\"SpellE\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">npm<\/span><\/span><\/span><span style=\"mso-bookmark: get-account-credentials;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> install --save isomorphic-<span class=\"SpellE\">webcrypto\r\n<\/span><\/span><\/span><span style=\"mso-bookmark: get-account-credentials;\"><span class=\"SpellE\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">npm<\/span><\/span><\/span><span style=\"mso-bookmark: get-account-credentials;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> install --save react-native-crypto\r\n<\/span><\/span><span style=\"mso-bookmark: get-account-credentials;\"><span class=\"SpellE\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">npm<\/span><\/span><\/span><span style=\"mso-bookmark: get-account-credentials;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> install --save react-native-get-random-values\r\n<\/span><\/span><span style=\"mso-bookmark: get-account-credentials;\"><span class=\"SpellE\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">npm<\/span><\/span><\/span><span style=\"mso-bookmark: get-account-credentials;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> install --save <span class=\"SpellE\">randombytes<\/span><\/span><\/span><\/pre>\n<h3><span style=\"font-size: 18pt;\"><span style=\"font-family: 'Segoe UI',sans-serif;\">Get Account Credentials<\/span><\/span><\/h3>\n<p class=\"MsoNormal\"><span style=\"font-family: 'Segoe UI',sans-serif;\">You will need your Azure Cosmos DB account endpoint and key. You will find these in the Azure portal or use the Azure CLI snippet below.<\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"font-family: 'Segoe UI',sans-serif;\">This snippet is formatted for the Bash shell.<\/span><\/p>\n<pre style=\"background: #F0F0F0; vertical-align: baseline;\"><a name=\"create-an-instance-of-cosmosclient\"><\/a><span class=\"SpellE\"><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">az<\/span><\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> <span class=\"SpellE\">cosmosdb<\/span> show --resource-<\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span class=\"hljs-builtin\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #397300; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">group<\/span><\/span><\/span><strong><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> &lt;your-resource-<\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span class=\"hljs-builtin\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #397300; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">group<\/span><\/span><\/span><\/strong><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"><strong>&gt;<\/strong> --<\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span class=\"hljs-builtin\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #397300; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">name<\/span><\/span><\/span><strong><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> &lt;your-account-<\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span class=\"hljs-builtin\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #397300; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">name<\/span><\/span><\/span><\/strong><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"><strong>&gt;<\/strong> --query <span class=\"SpellE\">documentEndpoint<\/span> --output <span class=\"SpellE\">tsv\r\n<\/span><\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span class=\"SpellE\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">az<\/span><\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> <span class=\"SpellE\">cosmosdb<\/span> <\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span class=\"hljs-builtin\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #397300; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">list<\/span><\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">-keys --resource-<\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span class=\"hljs-builtin\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #397300; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">group<\/span><\/span><\/span><strong><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> &lt;your-resource-<\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span class=\"hljs-builtin\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #397300; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">group<\/span><\/span><\/span><\/strong><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"><strong>&gt;<\/strong> --<\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span class=\"hljs-builtin\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #397300; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">name<\/span><\/span><\/span><strong><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> &lt;your-account-<\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span class=\"hljs-builtin\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #397300; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">name<\/span><\/span><\/span><\/strong><span style=\"mso-bookmark: create-an-instance-of-cosmosclient;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"><strong>&gt;<\/strong> --query <span class=\"SpellE\">documentEndpoint<\/span> --output <span class=\"SpellE\">tsv<\/span><\/span><\/span><\/pre>\n<h3><span style=\"font-size: 18pt;\"><span style=\"font-family: 'Segoe UI',sans-serif;\">Create an instance of CosmosClient<\/span><\/span><\/h3>\n<p class=\"MsoNormal\"><span style=\"font-family: 'Segoe UI',sans-serif;\">Interaction with Azure Cosmos DB starts with an instance of the CosmosClient class. Make sure to follow best practices to securely retrieve your endpoint and master key.<\/span><\/p>\n<pre style=\"background: #F0F0F0; vertical-align: baseline;\"><a name=\"create-the-query-spec\"><\/a><strong>const<\/strong> CosmosClient = require('@azure\/cosmos').CosmosClient\u00a0\r\n<strong>const<\/strong> endpoint = \/\/securely get your endpoint string here\r\n<strong>const<\/strong> authOrResourceToken = \/\/securely get your auth or resource token string here from a token broker server-side\r\n<strong>const<\/strong> databaseId = 'ToDoList'<strong>const<\/strong> containerId = 'Items'\u00a0\r\n<strong>const<\/strong> client = <strong>new<\/strong> CosmosClient({ endpoint, authOrResourceToken })<\/pre>\n<h2><span style=\"font-size: 18pt;\"><span style=\"font-family: 'Segoe UI',sans-serif;\">Create the query spec<\/span><\/span><\/h2>\n<pre style=\"background: #F0F0F0; vertical-align: baseline;\"><a name=\"create-an-instance-of-cosmosclient-1\"><\/a><span class=\"hljs-keyword\"><b><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">const<\/span><\/b><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient-1;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"> <span class=\"SpellE\">querySpec<\/span> = {\r\n<\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient-1;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">     query: <\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient-1;\"><span class=\"hljs-string\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #880000; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">'SELECT * from c'\r\n<\/span><\/span><\/span><span style=\"mso-bookmark: create-an-instance-of-cosmosclient-1;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">};<\/span><\/span><\/pre>\n<h2><span style=\"font-size: 18pt;\"><span style=\"font-family: 'Segoe UI',sans-serif;\">Create an instance of CosmosClient<\/span><\/span><\/h2>\n<pre style=\"background: #F0F0F0; vertical-align: baseline;\"><span class=\"NormalTok\"><span style=\"font-size: 11.0pt; mso-bidi-font-size: 10.0pt; font-family: 'Segoe UI',sans-serif; color: black; mso-color-alt: windowtext;\"><span style=\"mso-spacerun: yes;\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><\/span><a name=\"source\"><\/a><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\"><strong>const<\/strong> response = client\r\n<\/span><span style=\"mso-bookmark: source;\"><span class=\"hljs-meta\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #1f7199; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">            <span class=\"GramE\">.database<\/span><\/span><\/span><\/span><span style=\"mso-bookmark: source;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">(<span class=\"SpellE\">databaseId<\/span>)\r\n<\/span><\/span><span style=\"mso-bookmark: source;\"><span class=\"hljs-meta\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #1f7199; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\">            .container<\/span><\/span><\/span><span style=\"mso-bookmark: source;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">(<span class=\"SpellE\">containerId<\/span>)\r\n<\/span><\/span><span style=\"mso-bookmark: source;\"><span class=\"hljs-meta\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #1f7199; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\"><span class=\"GramE\">             .<span class=\"SpellE\">items<\/span><\/span><\/span><\/span><\/span><span style=\"mso-bookmark: source;\"><span class=\"SpellE\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">.query<\/span><\/span><\/span><span style=\"mso-bookmark: source;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">(<span class=\"SpellE\">querySpec<\/span>)\r\n<\/span><\/span><span style=\"mso-bookmark: source;\"><span class=\"hljs-meta\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #1f7199; border: none windowtext 1.0pt; mso-border-alt: none windowtext 0in; padding: 0in;\"><span class=\"GramE\">             .<span class=\"SpellE\">fetchAll<\/span><\/span><\/span><\/span><\/span><span style=\"mso-bookmark: source;\"><span style=\"font-size: 10.5pt; font-family: 'Segoe UI',sans-serif; color: #444444;\">()<\/span><\/span><\/pre>\n<h3>Source<\/h3>\n<p class=\"SourceCode\"><span style=\"font-family: 'Segoe UI',sans-serif;\"><a href=\"https:\/\/github.com\/jay-most\/cosmosdb-react-native\">https:\/\/github.com\/jay-most\/cosmosdb-react-native<\/a><\/span><\/p>\n<p class=\"MsoNormal\"><a href=\"https:\/\/github.com\/jay-most?tab=repositories\">https:\/\/github.com\/jay-most?tab=repositories<\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>A step-by-step guide to building a mobile application with Azure Cosmos DB and React Native.<\/p>\n","protected":false},"author":38819,"featured_media":2060,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[12,14,643,996,13,19],"tags":[1758,499,1761,1762,1764,1311,1760,1759,1763],"class_list":["post-2033","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcements","category-core-sql-api","category-java-sdk","category-migration","category-news","category-tips-and-tricks","tag-app-dev","tag-azure-cosmos-db","tag-azure-cosmosdb-react-native","tag-cocoapods","tag-expo","tag-github","tag-js-react-native","tag-react-native","tag-xcode"],"acf":[],"blog_post_summary":"<p>A step-by-step guide to building a mobile application with Azure Cosmos DB and React Native.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/2033","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/users\/38819"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/comments?post=2033"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/2033\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media\/2060"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media?parent=2033"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/categories?post=2033"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/tags?post=2033"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}