mirror of https://github.com/dapr/docs.git
				
				
				
			Merge branch 'v1.3' into v1.3
This commit is contained in:
		
						commit
						2b6c3fa34d
					
				|  | @ -32,6 +32,15 @@ Deploying and running a Dapr enabled application into your Kubernetes cluster is | |||
|     dapr.io/config: "tracing" | ||||
| ``` | ||||
| 
 | ||||
| ## Pulling container images from private registries | ||||
| 
 | ||||
| Dapr works seamlessly with any user application container image, regardless of its origin. Simply init Dapr and add the [Dapr annotations]({{< ref kubernetes-annotations >}}) to your Kubernetes definition to add the Dapr sidecar. | ||||
| 
 | ||||
| The Dapr control-plane and sidecar images come from the [daprio Docker Hub](https://hub.docker.com/u/daprio) container registry, which is a public registry. | ||||
| 
 | ||||
| For information about pulling your application images from a private registry, reference the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/). If you are using Azure Container Registry with Azure Kubernetes Service, reference the [AKS documentation](https://docs.microsoft.com/en-us/azure/aks/cluster-container-registry-integration). | ||||
| 
 | ||||
| 
 | ||||
| ## Quickstart | ||||
| 
 | ||||
| You can see some examples [here](https://github.com/dapr/quickstarts/tree/master/hello-kubernetes) in the Kubernetes getting started quickstart. | ||||
|  |  | |||
|  | @ -27,6 +27,7 @@ Table captions: | |||
| |------|:----------------:|:-----------------:|--------|-------- | ---------| | ||||
| | [Apple Push Notifications (APN)]({{< ref apns.md >}}) |  | ✅ | Alpha | v1 | 1.0 | | ||||
| | [Cron (Scheduler)]({{< ref cron.md >}}) | ✅ | ✅ | Alpha | v1 | 1.0 | | ||||
| | [GraphQL]({{< ref graghql.md >}})           |    | ✅ | Alpha | v1 | 1.0 | | ||||
| | [HTTP]({{< ref http.md >}})           |    | ✅ | GA | v1 | 1.0 | | ||||
| | [InfluxDB]({{< ref influxdb.md >}})       |    | ✅ | Alpha | v1 | 1.0 | | ||||
| | [Kafka]({{< ref kafka.md >}})         | ✅ | ✅ | Alpha | v1 | 1.0 | | ||||
|  | @ -84,4 +85,4 @@ Table captions: | |||
| | Name | Input<br>Binding | Output<br>Binding | Status | Component version | Since |  | ||||
| |------|:----------------:|:-----------------:|--------| --------- | ---------- | | ||||
| | [Zeebe Command]({{< ref zeebe-command.md >}})            |    | ✅ | Alpha | v1 | 1.2 | | ||||
| | [Zeebe Job Worker]({{< ref zeebe-jobworker.md >}})       | ✅ |    | Alpha | v1 | 1.2 | | ||||
| | [Zeebe Job Worker]({{< ref zeebe-jobworker.md >}})       | ✅ |    | Alpha | v1 | 1.2 | | ||||
|  |  | |||
|  | @ -58,6 +58,40 @@ This component supports **output binding** with the following operations: | |||
| 
 | ||||
| - `create` | ||||
| 
 | ||||
| ## Input Binding to Azure IoT Hub Events | ||||
| 
 | ||||
| Azure IoT Hub provides an [endpoint that is compatible with Event Hubs](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin#read-from-the-built-in-endpoint), so Dapr apps can create input bindings to read Azure IoT Hub events using the Event Hubs bindings component. | ||||
| 
 | ||||
| The device-to-cloud events created by Azure IoT Hub devices will contain additional [IoT Hub System Properties](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-construct#system-properties-of-d2c-iot-hub-messages), and the Azure Event Hubs binding for Dapr will return the following as part of the response metadata: | ||||
| 
 | ||||
| | System Property Name | Description | | ||||
| |--------------------|:--------| | ||||
| | `iothub-connection-auth-generation-id` | The **connectionDeviceGenerationId** of the device that sent the message. See [IoT Hub device identity properties](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-identity-registry#device-identity-properties). | | ||||
| | `iothub-connection-auth-method` | The authentication method used to authenticate the device that sent the message. | | ||||
| | `iothub-connection-device-id` | The **deviceId** of the device that sent the message. See [IoT Hub device identity properties](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-identity-registry#device-identity-properties). | | ||||
| | `iothub-connection-module-id` | The **moduleId** of the device that sent the message. See [IoT Hub device identity properties](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-identity-registry#device-identity-properties). | | ||||
| | `iothub-enqueuedtime` | The date and time in RFC3339 format that the device-to-cloud message was received by IoT Hub. | | ||||
| 
 | ||||
| For example, the headers of a HTTP `Read()` response would contain: | ||||
| 
 | ||||
| ```nodejs | ||||
| { | ||||
|   'user-agent': 'fasthttp', | ||||
|   'host': '127.0.0.1:3000', | ||||
|   'content-type': 'application/json', | ||||
|   'content-length': '120', | ||||
|   'iothub-connection-device-id': 'my-test-device', | ||||
|   'iothub-connection-auth-generation-id': '637618061680407492', | ||||
|   'iothub-connection-auth-method': '{"scope":"module","type":"sas","issuer":"iothub","acceptingIpFilterRule":null}', | ||||
|   'iothub-connection-module-id': 'my-test-module-a', | ||||
|   'iothub-enqueuedtime': '2021-07-13T22:08:09Z', | ||||
|   'x-opt-sequence-number': '35', | ||||
|   'x-opt-enqueued-time': '2021-07-13T22:08:09Z', | ||||
|   'x-opt-offset': '21560', | ||||
|   'traceparent': '00-4655608164bc48b985b42d39865f3834-ed6cf3697c86e7bd-01' | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| ## Related links | ||||
| 
 | ||||
| - [Basic schema for a Dapr component]({{< ref component-schema >}}) | ||||
|  |  | |||
|  | @ -0,0 +1,74 @@ | |||
| --- | ||||
| type: docs | ||||
| title: "GraphQL binding spec" | ||||
| linkTitle: "GraphQL" | ||||
| description: "Detailed documentation on the GraphQL binding component" | ||||
| aliases: | ||||
|   - "/operations/components/setup-bindings/supported-bindings/graphql/" | ||||
| --- | ||||
| 
 | ||||
| ## Component format | ||||
| 
 | ||||
| To setup GraphQL binding create a component of type `bindings.graphql`. See [this guide]({{< ref "howto-bindings.md#1-create-a-binding" >}}) on how to create and apply a binding configuration. To separate normal config settings (e.g. endpoint) from headers, "header:" is used a prefix on the header names. | ||||
| 
 | ||||
| 
 | ||||
| ```yaml | ||||
| apiVersion: dapr.io/v1alpha1 | ||||
| kind: Component | ||||
| metadata: | ||||
|   name: example.bindings.graphql | ||||
| spec: | ||||
|   type: bindings.graphql | ||||
|   version: v1 | ||||
|   metadata: | ||||
|     - name: endpoint | ||||
|       value:  http://localhost:8080/v1/graphql      | ||||
|     - name: header:x-hasura-access-key | ||||
|       value: adminkey | ||||
|     - name: header:Cache-Control | ||||
|       value: no-cache | ||||
| ``` | ||||
| 
 | ||||
| {{% alert title="Warning" color="warning" %}} | ||||
| The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}). | ||||
| {{% /alert %}} | ||||
| 
 | ||||
| ## Spec metadata fields | ||||
| 
 | ||||
| | Field              | Required | Binding support |  Details | Example | | ||||
| |--------------------|:--------:|------------|-----|---------| | ||||
| | endpoint | Y | Output | GraphQL endpoint string See [here](#url-format) for more details | `"http://localhost:4000/graphql/graphql"` | | ||||
| | header:[HEADERKEY] | N | Output | GraphQL header. Specify the header key in the `name`, and the header value in the `value`. | `"no-cache"` (see above) | | ||||
| 
 | ||||
| ### Endpoint and Header format | ||||
| 
 | ||||
| The GraphQL binding uses [GraphQL client](https://github.com/machinebox/graphql) internally. | ||||
| 
 | ||||
| ## Binding support | ||||
| 
 | ||||
| This component supports **output binding** with the following operations: | ||||
| 
 | ||||
| - `query` | ||||
| - `mutation` | ||||
| 
 | ||||
| ### query | ||||
| 
 | ||||
| The `query` operation is used for `query` statements, which returns the metadata along with data in a form of an array of row values. | ||||
| 
 | ||||
| **Request** | ||||
| 
 | ||||
| ```golang | ||||
| in := &dapr.InvokeBindingRequest{ | ||||
| Name:      "example.bindings.graphql", | ||||
| Operation: "query", | ||||
| Metadata: map[string]string{ "query": `query { users { name } }`}, | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| ## Related links | ||||
| 
 | ||||
| - [Basic schema for a Dapr component]({{< ref component-schema >}}) | ||||
| - [Bindings building block]({{< ref bindings >}}) | ||||
| - [How-To: Trigger application with input binding]({{< ref howto-triggers.md >}}) | ||||
| - [How-To: Use bindings to interface with external resources]({{< ref howto-bindings.md >}}) | ||||
| - [Bindings API reference]({{< ref bindings_api.md >}}) | ||||
|  | @ -58,6 +58,40 @@ For example, a Dapr app running on Kubernetes with `dapr.io/app-id: "myapp"` wil | |||
| 
 | ||||
| Note: Dapr passes the name of the Consumer group to the EventHub and so this is not supplied in the metadata. | ||||
| 
 | ||||
| ## Subscribing to Azure IoT Hub Events | ||||
| 
 | ||||
| Azure IoT Hub provides an [endpoint that is compatible with Event Hubs](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin#read-from-the-built-in-endpoint), so the Azure Event Hubs pubsub component can also be used to subscribe to Azure IoT Hub events. | ||||
| 
 | ||||
| The device-to-cloud events created by Azure IoT Hub devices will contain additional [IoT Hub System Properties](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-construct#system-properties-of-d2c-iot-hub-messages), and the Azure Event Hubs pubsub component for Dapr will return the following as part of the response metadata: | ||||
| 
 | ||||
| | System Property Name | Description | | ||||
| |--------------------|:--------| | ||||
| | `iothub-connection-auth-generation-id` | The **connectionDeviceGenerationId** of the device that sent the message. See [IoT Hub device identity properties](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-identity-registry#device-identity-properties). | | ||||
| | `iothub-connection-auth-method` | The authentication method used to authenticate the device that sent the message. | | ||||
| | `iothub-connection-device-id` | The **deviceId** of the device that sent the message. See [IoT Hub device identity properties](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-identity-registry#device-identity-properties). | | ||||
| | `iothub-connection-module-id` | The **moduleId** of the device that sent the message. See [IoT Hub device identity properties](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-identity-registry#device-identity-properties). | | ||||
| | `iothub-enqueuedtime` | The date and time in RFC3339 format that the device-to-cloud message was received by IoT Hub. | | ||||
| 
 | ||||
| For example, the headers of a delivered HTTP subscription message would contain: | ||||
| 
 | ||||
| ```nodejs | ||||
| { | ||||
|   'user-agent': 'fasthttp', | ||||
|   'host': '127.0.0.1:3000', | ||||
|   'content-type': 'application/json', | ||||
|   'content-length': '120', | ||||
|   'iothub-connection-device-id': 'my-test-device', | ||||
|   'iothub-connection-auth-generation-id': '637618061680407492', | ||||
|   'iothub-connection-auth-method': '{"scope":"module","type":"sas","issuer":"iothub","acceptingIpFilterRule":null}', | ||||
|   'iothub-connection-module-id': 'my-test-module-a', | ||||
|   'iothub-enqueuedtime': '2021-07-13T22:08:09Z', | ||||
|   'x-opt-sequence-number': '35', | ||||
|   'x-opt-enqueued-time': '2021-07-13T22:08:09Z', | ||||
|   'x-opt-offset': '21560', | ||||
|   'traceparent': '00-4655608164bc48b985b42d39865f3834-ed6cf3697c86e7bd-01' | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| ## Related links | ||||
| - [Basic schema for a Dapr component]({{< ref component-schema >}}) | ||||
| - Read [this guide]({{< ref "howto-publish-subscribe.md#step-2-publish-a-topic" >}}) for instructions on configuring pub/sub components | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue