dapr-sandbox/dapr-logicapps-extension

Invoking state store fails

Closed this issue · 4 comments

You can find repo attached.
dapr-logic-apps.zip

Scenario
Simple request/response Logic App for testing integration with state store (Azure Table Storage).
Sample is running in miniKube

Reproduce

  • Deploy Azure table storage state store
    kubectl apply -f components/customers-state-store.yaml

  • Create config map with the Logic Apps workflow definition
    kubectl create configmap workflow-customer-masterdata-config --from-file ./workflows/customer-masterdata.json

  • Deploy the workflow container with Dapr side car
    kubectl apply -f deploy/workflow-customer-masterdata-app.yaml

  • Configure port forwarding for testing
    kubectl port-forward deploy/workflow-customer-masterdata-app 3500:3500

  • An exception occurs when trying to update the state store. This exception is returned in the Logic Apps response:

Status code: 400
Body: {
    "errorCode": "ERR_STATE_STORES_NOT_CONFIGURED",
    "message": ""
}

Excepted result

The HTTP Action "Update_customers_state_store_with_master_data" is configured with an HTTP POST on http://localhost:3500/v1.0/state/customers

This should update the state store, named "customers" with the key "CUST001""

Thanks for looking into this!
Toon

I couldn't reproduce this. It looks like Dapr hasn't loaded the state store component.

Are they both in the same namespace?

Could you paste a redacted YAML for the customers-state-store here?

I took a look at the YAMLs from the zip.

can you try and remove namespace: default from customers-state-store.yaml, reapply it with kubectl and restart the workflow pod?

Also, can you paste here the logs from the daprd container in the Workflow pod? either the state store isn't present, or Dapr failed to init it.

Thanks @yaron2

You are right - issue initializing the state store: error initializing state store state.azure.tablestorage: storage: service returned error: StatusCode=403, ErrorCode=AuthenticationFailed, ErrorMessage=Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.

Strange, as I have an output blob binding, configured with the same storage account and key, which initializes just fine.

I will investigate a bit further. Will close this issue. If problem persists with Azure Table Storage state store, I will create new issue in that repo.

Thanks
Toon