-
Notifications
You must be signed in to change notification settings - Fork 525
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
17 changed files
with
465 additions
and
88 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,51 +1,94 @@ | ||
# Dapr state management (HTTP Client) | ||
|
||
In this quickstart, you'll create a microservice to demonstrate Dapr's state management API. The service generates messages to store in a state store. See [Why state management](#why-state-management) to understand when to use this API. | ||
In this quickstart, you'll create a microservice to demonstrate Dapr's state management API. The service generates messages to store in a state store. See [Why state management](https://docs.dapr.io/developing-applications/building-blocks/state-management/) to understand when to use this API. | ||
|
||
Visit [this](https://docs.dapr.io/developing-applications/building-blocks/state-management/) link for more information about Dapr and State Management. | ||
|
||
> **Note:** This example leverages HTTP `requests` only. If you are looking for the example using the Dapr Client SDK (recommended) [click here](../sdk/). | ||
This quickstart includes one service: | ||
|
||
- Dotnet client service `order-processor` | ||
- Dotnet client service `order-processor` | ||
|
||
### Run Dotnet service with Dapr | ||
## Run all apps with multi-app run template file | ||
|
||
1. Open a new terminal window and navigate to `order-processor` directory: | ||
This section shows how to run applications at once using [multi-app run template files](https://docs.dapr.io/developing-applications/local-development/multi-app-dapr-run/multi-app-overview/) with `dapr run -f .`. This enables to you test the interactions between multiple applications. | ||
|
||
1. Open a new terminal window and run `order-processor` using the multi app run template defined in [dapr.yaml](./dapr.yaml): | ||
|
||
<!-- STEP | ||
name: Install Dotnet dependencies | ||
--> | ||
|
||
```bash | ||
cd ./order-processor | ||
dotnet restore | ||
dotnet build | ||
``` | ||
|
||
<!-- END_STEP --> | ||
2. Run the Dotnet service app with Dapr: | ||
|
||
2. Run the Dotnet service app with Dapr: | ||
|
||
<!-- STEP | ||
name: Run order-processor service | ||
expected_stdout_lines: | ||
- '== APP == Getting Order: Order { orderId = 1 }' | ||
- '== APP == Getting Order: Order { orderId = 2 }' | ||
- "Exited App successfully" | ||
expected_stderr_lines: | ||
output_match_mode: substring | ||
background: true | ||
--> | ||
|
||
```bash | ||
dapr run -f . | ||
``` | ||
<!-- END_STEP --> | ||
|
||
```bash | ||
dapr stop -f . | ||
``` | ||
|
||
## Run a single app at a time with Dapr (Optional) | ||
|
||
An alternative to running all or multiple applications at once is to run single apps one-at-a-time using multiple `dapr run .. -- dotnet run` commands. This next section covers how to do this. | ||
|
||
1. Run the Dotnet service app with Dapr: | ||
|
||
<!-- STEP | ||
name: Run order-processor service | ||
expected_stdout_lines: | ||
- '== APP == Getting Order: {"orderId":1}' | ||
- '== APP == Getting Order: {"orderId":2}' | ||
- '== APP == Getting Order: Order { orderId = 1 }' | ||
- '== APP == Getting Order: Order { orderId = 2 }' | ||
- "Exited App successfully" | ||
expected_stderr_lines: | ||
output_match_mode: substring | ||
background: true | ||
sleep: 15 | ||
--> | ||
|
||
```bash | ||
cd ./order-processor | ||
dapr run --app-id order-processor --resources-path ../../../resources/ -- dotnet run | ||
``` | ||
|
||
<!-- END_STEP --> | ||
The Terminal console output should look similar to this: | ||
|
||
```bash | ||
dapr stop --app-id order-processor | ||
```text | ||
You're up and running! Both Dapr and your app logs will appear here. | ||
== APP == Saving Order: Order { orderId = 1 } | ||
== APP == Getting Order: Order { orderId = 1 } | ||
== APP == Deleting Order: Order { orderId = 1 } | ||
== APP == Saving Order: Order { orderId = 2 } | ||
== APP == Getting Order: Order { orderId = 2 } | ||
== APP == Deleting Order: Order { orderId = 2 } | ||
== APP == Saving Order: Order { orderId = 3 } | ||
== APP == Getting Order: Order { orderId = 3 } | ||
== APP == Deleting Order: Order { orderId = 3 } | ||
``` | ||
|
||
2. Stop and clean up application processes | ||
|
||
dapr stop --app-id order-processor | ||
<!-- END_STEP --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
|
||
version: 1 | ||
common: | ||
resourcesPath: ../../../resources/ | ||
apps: | ||
- appID: order-processor | ||
appDirPath: ./order-processor/ | ||
command: ["dotnet", "run"] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,9 @@ | ||
|
||
version: 1 | ||
common: | ||
resourcesPath: ../../../resources/ | ||
resourcesPath: ../../resources/ | ||
apps: | ||
- appID: order-processor | ||
appDirPath: ./order-processor/ | ||
command: ["dotnet", "run"] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,32 +1,104 @@ | ||
# Dapr state management (HTTP Client) | ||
|
||
In this quickstart, you'll create a microservice to demonstrate Dapr's state management API. The service generates messages to store data in a state store. | ||
In this quickstart, you'll create a microservice to demonstrate Dapr's state management API. The service generates messages to store in a state store. See [Why state management](https://docs.dapr.io/developing-applications/building-blocks/state-management/) to understand when to use this API. | ||
|
||
Visit the Dapr documentation on [State Management](https://docs.dapr.io/developing-applications/building-blocks/state-management/) for more information. | ||
Visit [this](https://docs.dapr.io/developing-applications/building-blocks/state-management/) link for more information about Dapr and State Management. | ||
|
||
> **Note:** This example leverages plain HTTP. You can find an example using the Dapr Client SDK (recommended) in the [`sdk` folder](../sdk/). | ||
> **Note:** This example leverages HTTP `requests` only. If you are looking for the example using the Dapr Client SDK (recommended) [click here](../sdk/). | ||
This quickstart includes one service: Go client service `order-processor` | ||
This quickstart includes one service: Go client service `order-processor` | ||
|
||
### Run Go service with Dapr | ||
## Run all apps with multi-app run template file | ||
|
||
1. Run the Go service app with Dapr in the `order-processor` folder: | ||
This section shows how to run applications at once using [multi-app run template files](https://docs.dapr.io/developing-applications/local-development/multi-app-dapr-run/multi-app-overview/) with `dapr run -f .`. This enables to you test the interactions between multiple applications. | ||
|
||
Open a new terminal window and run `order-processor` using the multi app run template defined in [dapr.yaml](./dapr.yaml): | ||
|
||
1. Run the Go service app with Dapr: | ||
|
||
<!-- STEP | ||
name: Run order-processor service | ||
expected_stdout_lines: | ||
- '== APP == Getting Order: Order { orderId = 1 }' | ||
- '== APP == Getting Order: Order { orderId = 2 }' | ||
- "Exited App successfully" | ||
expected_stderr_lines: | ||
output_match_mode: substring | ||
match_order: none | ||
background: true | ||
sleep: 15 | ||
timeout_seconds: 30 | ||
--> | ||
|
||
```bash | ||
dapr run -f . | ||
``` | ||
|
||
The Terminal console output should look similar to this: | ||
|
||
```text | ||
You're up and running! Both Dapr and your app logs will appear here. | ||
== APP == Saving Order: Order { orderId = 1 } | ||
== APP == Getting Order: Order { orderId = 1 } | ||
== APP == Deleting Order: Order { orderId = 1 } | ||
== APP == Saving Order: Order { orderId = 2 } | ||
== APP == Getting Order: Order { orderId = 2 } | ||
== APP == Deleting Order: Order { orderId = 2 } | ||
== APP == Saving Order: Order { orderId = 3 } | ||
== APP == Getting Order: Order { orderId = 3 } | ||
== APP == Deleting Order: Order { orderId = 3 } | ||
``` | ||
|
||
2. Stop and cleanup application process | ||
|
||
```bash | ||
dapr stop -f | ||
``` | ||
<!-- END_STEP --> | ||
|
||
## Run a single app at a time with Dapr (Optional) | ||
|
||
An alternative to running all or multiple applications at once is to run single apps one-at-a-time using multiple `dapr run .. -- go run` commands. This next section covers how to do this. | ||
|
||
1. Run the Go service app with Dapr: | ||
|
||
<!-- STEP | ||
name: Run order-processor service | ||
expected_stdout_lines: | ||
- '== APP == Retrieved Order: "{\"orderId\":1}"' | ||
- '== APP == Retrieved Order: "{\"orderId\":2}"' | ||
- '== APP == Getting Order: Order { orderId = 1 }' | ||
- '== APP == Getting Order: Order { orderId = 2 }' | ||
- "Exited App successfully" | ||
expected_stderr_lines: | ||
output_match_mode: substring | ||
match_order: none | ||
background: true | ||
sleep: 15 | ||
timeout_seconds: 30 | ||
--> | ||
|
||
```bash | ||
cd ./order-processor | ||
dapr run --app-id order-processor --resources-path ../../../resources -- go run . | ||
dapr run --app-id order-processor --resources-path ../../../resources/ -- go run | ||
``` | ||
|
||
The Terminal console output should look similar to this: | ||
|
||
```text | ||
You're up and running! Both Dapr and your app logs will appear here. | ||
== APP == Saving Order: Order { orderId = 1 } | ||
== APP == Getting Order: Order { orderId = 1 } | ||
== APP == Deleting Order: Order { orderId = 1 } | ||
== APP == Saving Order: Order { orderId = 2 } | ||
== APP == Getting Order: Order { orderId = 2 } | ||
== APP == Deleting Order: Order { orderId = 2 } | ||
== APP == Saving Order: Order { orderId = 3 } | ||
== APP == Getting Order: Order { orderId = 3 } | ||
== APP == Deleting Order: Order { orderId = 3 } | ||
``` | ||
|
||
2. Stop and clean up application processes | ||
dapr stop --app-id order-processor | ||
|
||
<!-- END_STEP --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
|
||
version: 1 | ||
common: | ||
resourcesPath: ../../resources/ | ||
apps: | ||
- appID: order-processor | ||
appDirPath: ./order-processor/ | ||
command: ["go", "run", "."] | ||
|
Binary file not shown.
Oops, something went wrong.