Local Storage binding spec

    To set up the Local Storage binding, create a component of type . See this guide on how to create and apply a binding configuration.

    This component supports output binding with the following operations:

    To perform a create file operation, invoke the Local Storage binding with a POST method and the following JSON body:

    1. {
    2. "operation": "create",
    3. "data": "YOUR_CONTENT"
    4. }

    Examples

    Save text to a random generated UUID file
    1. curl -d "{ \"operation\": \"create\", \"data\": \"Hello World\" }" http://localhost:<dapr-port>/v1.0/bindings/<binding-name>
    1. curl -d '{ "operation": "create", "data": "Hello World" }' \
    2. http://localhost:<dapr-port>/v1.0/bindings/<binding-name>
    Save text to a specific file
    1. curl -d "{ \"operation\": \"create\", \"data\": \"Hello World\", \"metadata\": { \"fileName\": \"my-test-file.txt\" } }" \
    2. http://localhost:<dapr-port>/v1.0/bindings/<binding-name>
    1. curl -d '{ "operation": "create", "data": "Hello World", "metadata": { "fileName": "my-test-file.txt" } }' \
    2. http://localhost:<dapr-port>/v1.0/bindings/<binding-name>
    Save a binary file

    To upload a file, encode it as Base64. The binding should automatically detect the Base64 encoding.

    1. curl -d '{ "operation": "create", "data": "YOUR_BASE_64_CONTENT", "metadata": { "fileName": "my-test-file.jpg" } }' \
    2. http://localhost:<dapr-port>/v1.0/bindings/<binding-name>

    Response

    The response body will contain the following JSON:

    1. "fileName": "<filename>"
    2. }

    To perform a get file operation, invoke the Local Storage binding with a POST method and the following JSON body:

    1. {
    2. "operation": "get",
    3. "metadata": {
    4. "fileName": "myfile"
    5. }
    6. }

    Example

    1. curl -d '{ \"operation\": \"get\", \"metadata\": { \"fileName\": \"myfile\" }}' http://localhost:<dapr-port>/v1.0/bindings/<binding-name>
    1. curl -d '{ "operation": "get", "metadata": { "fileName": "myfile" }}' \
    2. http://localhost:<dapr-port>/v1.0/bindings/<binding-name>

    Response

    The response body contains the value stored in the file.

    If you only want to list the files beneath a particular directory below the rootPath, specify the relative directory name as the fileName in the metadata.

    1. {
    2. "operation": "list",
    3. "fileName": "my/cool/directory"
    4. }

    Example

    1. curl -d '{ \"operation\": \"list\", \"metadata\": { \"fileName\": \"my/cool/directory\" }}' http://localhost:<dapr-port>/v1.0/bindings/<binding-name>
    1. curl -d '{ "operation": "list", "metadata": { "fileName": "my/cool/directory" }}' \
    2. http://localhost:<dapr-port>/v1.0/bindings/<binding-name>

    Response

    The response is a JSON array of file names.

    To perform a delete file operation, invoke the Local Storage binding with a POST method and the following JSON body:

    1. {
    2. "operation": "delete",
    3. "metadata": {
    4. "fileName": "myfile"
    5. }
    6. }

    Example

    1. curl -d '{ \"operation\": \"delete\", \"metadata\": { \"fileName\": \"myfile\" }}' http://localhost:<dapr-port>/v1.0/bindings/<binding-name>

    Response

    An HTTP 204 (No Content) and empty body will be returned if successful.

    1. {
    2. "data": "file content",
    3. "metadata": {
    4. "fileName": "filename.txt"
    5. },
    6. "operation": "create"
    7. }

    Last modified June 23, 2022: Merge pull request #2550 from ItalyPaleAle/cosmosdb-harcoded-dapr-version (cf03237)