Tutorial para principiantes: Usar n8n para administrar contenedores y blobs de Azure Storage

Avanzado

Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 21 nodos.Utiliza principalmente nodos como Set, AzureStorage, ManualTrigger, Agent, OpenAi. Usar DALL-E y Azure Blob Storage para generar y almacenar imágenes de IA

Requisitos previos
  • Clave de API de OpenAI
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "IGIdimfXbsBQsxOh",
  "meta": {
    "instanceId": "4a2e6764ba7a6bc9890d9225f4b21d570ce88fc9bd57549c89057fcee58fed0f",
    "templateCredsSetupCompleted": true
  },
  "name": "Beginner’s Tutorial: Manage Azure Storage Account Container & Blob with n8n",
  "tags": [
    {
      "id": "H6NyYd16Iwa0j4cx",
      "name": "azure",
      "createdAt": "2025-08-20T13:18:12.992Z",
      "updatedAt": "2025-08-20T13:18:12.992Z"
    }
  ],
  "nodes": [
    {
      "id": "e85e1121-c0c5-4205-bde6-f1a9de3f0bd7",
      "name": "Modelo de chat OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        448,
        280
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "PPSwAKeLQYgAPobT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b9c2618f-3f0e-487a-b8d7-2664b502e069",
      "name": "Generar una imagen",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        752,
        56
      ],
      "parameters": {
        "prompt": "={{ $json.output }}",
        "options": {},
        "resource": "image"
      },
      "credentials": {
        "openAiApi": {
          "id": "PPSwAKeLQYgAPobT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "fd4d4869-27e2-4848-a78e-441f8cdcf11e",
      "name": "Agente de generación de prompts",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        352,
        56
      ],
      "parameters": {
        "text": "=You're prompt generator agent, you will create prompt for the open-ai image generation model with a random topic among:\n- Education\n- Science \n- Sport\n- Economy\n- Health\nOutput the prompt only, nothing else",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.1
    },
    {
      "id": "2ce43600-134f-410d-b960-f43ab32f1571",
      "name": "Al hacer clic en 'Ejecutar flujo de trabajo'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -320,
        -92
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ca6f581a-0c4c-4259-8c90-95a23c815633",
      "name": "Editar campos",
      "type": "n8n-nodes-base.set",
      "position": [
        -96,
        -92
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "af3e6c69-fbfe-49f4-9c29-3a68a821c5a6",
              "name": "container_name",
              "type": "string",
              "value": "trungtrandemon8n1"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "c28e2f34-43d2-41cd-890f-43d028f2f32f",
      "name": "Nota adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1648,
        -736
      ],
      "parameters": {
        "width": 1056,
        "height": 2512,
        "content": "# Beginner’s Tutorial: Manage Azure Storage Account Container & Blob with n8n\n[![Watch the video](https://wisestackai.s3.ap-southeast-1.amazonaws.com/Modern+Top+10+Shocking+Moments+Youtube+Thumbnail.jpg)](https://www.youtube.com/watch?v=vh06fpMkalw)\n> This beginner-friendly n8n workflow shows you how to generate AI images using OpenAI, store them in Azure Blob Storage, and manage blob containers, all with zero code.\n\n## 👤 Who’s it for\n\nThis workflow is perfect for:\n- **Beginners learning Azure + OpenAI integration**\n- **No-code developers** experimenting with image generation\n- **Cloud learners** who want hands-on Blob Storage use cases\n- Anyone who wants to automate storing AI-generated content in the cloud\n\n## ⚙️ How it works / What it does\n\n1. 🖱️ Trigger the workflow manually using the `Execute Workflow` node.\n2. ✏️ Use the `Edit Fields` node to input:\n   - `containerName` (e.g., `demo-images`)\n   - `imageIdea` (e.g., \"a robot holding a coffee cup\")\n3. 📦 Create a new Azure Blob container (`Create container`).\n4. 🤖 Use an OpenAI-powered **Prompt Generation Agent** to craft the perfect image prompt.\n5. 🎨 Generate an image using OpenAI’s DALL·E model.\n6. ☁️ Upload the generated image to Azure Blob Storage (`Create Blob`).\n7. 📂 List blobs in the container (`Get many blobs`).\n8. 🧹 Delete any blob as needed (`Delete Blob`).\n9. (Optional) 🗑️ Remove the entire container (`Delete container`).\n\n## 🔧 How to set up\n\n1. **🧠 Set up OpenAI**\n   - Create an OpenAI account and get your API key.\n   - In n8n, go to **Credentials → OpenAI** and paste your key.\n\n2. **🪣 Set up Azure Blob Storage**\n   - Log in to your Azure Portal.\n   - Create a **Storage Account** (e.g., `mystorageaccount`).\n   - Go to **Access Keys** tab and copy:\n     - **Storage Account Name**\n     - **Key1**\n   - In n8n, create a new **Azure Blob Storage Credential** using:\n     - **Account Name** = your storage account name\n     - **Access Key** = key1 value\n\n   > 📝 This demo uses **Access Key** authentication. You can also configure Shared Access Signatures (SAS) or OAuth in production setups.\n\n3. **Run the Workflow**\n   - Enter your image idea and container name.\n   - Click “Execute Workflow” to test it.\n\n## 📋 Requirements\n\n| Requirement            | Description                                      |\n|------------------------|--------------------------------------------------|\n| Azure Storage Account  | With container-level read/write access          |\n| OpenAI API Key         | For image and prompt generation                 |\n| n8n Version            | v1.0+ recommended                               |\n| Image Credits          | OpenAI charges tokens for DALL·E image creation |\n\n\n## 🛠️ How to customize the workflow\n\n### 🧠 Adjust Prompt Generation\nUpdate the **Prompt Agent** to include:\n- Specific style (3D, anime, cyberpunk)\n- Brand elements\n- Multiple language options\n\n### 📁 Organize by Date/User\nModify the `containerName` to auto-include:\n- Date (e.g., `images-2025-08-20`)\n- Username or session ID\n\n### 📤 Send Image Output\n- Add Slack, Telegram, or Email nodes to deliver the image\n- Create public links using Azure’s blob permissions\n\n### 🔁 Cleanup Logic\n- Auto-delete blobs after X days\n- Add versioning or backup logic"
      },
      "typeVersion": 1
    },
    {
      "id": "8247314b-fa19-4b6e-96d5-f2729451236e",
      "name": "Nota adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -448,
        -304
      ],
      "parameters": {
        "width": 352,
        "content": "### 1. 🖱️ Trigger the Workflow\n**Node:** `When clicking 'Execute workflow'`  \nThis node allows you to manually start the workflow by clicking the “Execute Workflow” button in n8n. Great for testing or interactive usage."
      },
      "typeVersion": 1
    },
    {
      "id": "09234a75-00ef-4d24-b832-4cbf77a70191",
      "name": "Nota adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        80
      ],
      "parameters": {
        "height": 256,
        "content": "### 2. ✍️ Input Your Fields\n**Node:** `Edit Fields`  \nThis is where you define inputs like:\n- `containerName`: Name of the Azure Blob container\n\nThe input used in the following steps to dynamically name resources and build prompts."
      },
      "typeVersion": 1
    },
    {
      "id": "51421218-ac6a-4254-9460-57fd393cfaeb",
      "name": "Nota adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        224
      ],
      "parameters": {
        "height": 192,
        "content": "### 3. 📦 Create Blob Container\n**Node:** `Create container`  \nCreates a new container in your Azure Blob Storage account using the container name you provided. If the container already exists, it will not be duplicated."
      },
      "typeVersion": 1
    },
    {
      "id": "3275fa4c-e3c8-4cb7-9fbe-5fbc18bc43bc",
      "name": "Nota adhesiva4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        656,
        224
      ],
      "parameters": {
        "width": 288,
        "height": 144,
        "content": "### 5. 🎨 Generate the Image\n**Node:** `Generate an image`  \nUses the prompt from the previous step to create an AI-generated image (e.g., via DALL·E). The result is a direct image file output."
      },
      "typeVersion": 1
    },
    {
      "id": "72ad0a7b-b85d-4a78-8e19-b00ea74f055a",
      "name": "Nota adhesiva5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        -96
      ],
      "parameters": {
        "width": 432,
        "height": 128,
        "content": "### 4. 🤖 Generate AI Prompt\n**Node:** `Prompt Generation Agent`  \nUses OpenAI’s Chat Model to generate a detailed and creative image prompt based on your `imageIdea`. This helps get better and more accurate AI images.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "08afa880-39cc-4aa9-a4c6-60cc4988c86c",
      "name": "Nota adhesiva6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        -144
      ],
      "parameters": {
        "height": 176,
        "content": "### 6. ☁️ Upload Image to Azure Blob\n**Node:** `Create Blob`  \nUploads the generated image to the Azure Blob container you created. The image is now stored in the cloud and ready to use or share.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "6f22fd69-6469-4ced-b5b9-adfdc7f4cab0",
      "name": "Nota adhesiva7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        368,
        -432
      ],
      "parameters": {
        "width": 272,
        "content": "### 9. 🗑️ (Optional) Delete the Container\n**Node:** `Delete container`  \nIf needed, you can delete the entire container to clean up your storage environment. Be careful—this deletes all blobs inside."
      },
      "typeVersion": 1
    },
    {
      "id": "00315b96-ca0b-4c64-b796-54e0eb0f5acb",
      "name": "Crear contenedor",
      "type": "n8n-nodes-base.azureStorage",
      "position": [
        128,
        56
      ],
      "parameters": {
        "options": {},
        "operation": "create",
        "requestOptions": {},
        "containerCreate": "={{ $json.container_name }}"
      },
      "credentials": {
        "azureStorageSharedKeyApi": {
          "id": "lSgRw5GzgoCfmMdO",
          "name": "Azure Storage Shared Key account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2cc5dc43-64e0-406a-98b0-2854143d2cc9",
      "name": "Obtener múltiples contenedores",
      "type": "n8n-nodes-base.azureStorage",
      "position": [
        128,
        -240
      ],
      "parameters": {
        "options": {},
        "requestOptions": {}
      },
      "credentials": {
        "azureStorageSharedKeyApi": {
          "id": "lSgRw5GzgoCfmMdO",
          "name": "Azure Storage Shared Key account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0cce44bd-54ad-4444-a351-b395af7e7875",
      "name": "Eliminar contenedor",
      "type": "n8n-nodes-base.azureStorage",
      "position": [
        440,
        -240
      ],
      "parameters": {
        "container": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.name }}"
        },
        "operation": "delete",
        "requestOptions": {}
      },
      "credentials": {
        "azureStorageSharedKeyApi": {
          "id": "lSgRw5GzgoCfmMdO",
          "name": "Azure Storage Shared Key account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e7fbd4a2-9988-4f2e-8985-4c0691b9ce27",
      "name": "Eliminar blob",
      "type": "n8n-nodes-base.azureStorage",
      "position": [
        1424,
        56
      ],
      "parameters": {
        "blob": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.name }}"
        },
        "options": {},
        "resource": "blob",
        "container": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Edit Fields').item.json.container_name }}"
        },
        "operation": "delete",
        "requestOptions": {}
      },
      "credentials": {
        "azureStorageSharedKeyApi": {
          "id": "lSgRw5GzgoCfmMdO",
          "name": "Azure Storage Shared Key account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0b9b0d80-3932-4592-869f-1b88d275c061",
      "name": "Crear blob",
      "type": "n8n-nodes-base.azureStorage",
      "position": [
        976,
        56
      ],
      "parameters": {
        "options": {},
        "resource": "blob",
        "container": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Edit Fields').item.json.container_name }}"
        },
        "operation": "create",
        "blobCreate": "mydemoblob",
        "requestOptions": {}
      },
      "credentials": {
        "azureStorageSharedKeyApi": {
          "id": "lSgRw5GzgoCfmMdO",
          "name": "Azure Storage Shared Key account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9080e615-b339-40e9-a2be-afec373f19e8",
      "name": "Obtener múltiples blobs",
      "type": "n8n-nodes-base.azureStorage",
      "position": [
        1200,
        56
      ],
      "parameters": {
        "options": {},
        "resource": "blob",
        "container": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Edit Fields').item.json.container_name }}"
        },
        "requestOptions": {}
      },
      "credentials": {
        "azureStorageSharedKeyApi": {
          "id": "lSgRw5GzgoCfmMdO",
          "name": "Azure Storage Shared Key account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "766a2aad-6a08-4fb2-a24d-f897bdcba105",
      "name": "Nota adhesiva8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1136,
        224
      ],
      "parameters": {
        "width": 208,
        "content": "### 7. 📂 List All Blobs\n**Node:** `Get many blobs`  \nRetrieves all the blobs (files) inside your container so you can review, download, or manage them."
      },
      "typeVersion": 1
    },
    {
      "id": "d649dd7f-11c5-4191-ae9b-fdae6581c48a",
      "name": "Nota adhesiva9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1360,
        -128
      ],
      "parameters": {
        "content": "### 8. 🧹 Delete Specific Blob\n**Node:** `Delete Blob`  \nDeletes a specific blob (image) from your container. This step can be made dynamic based on blob name or user choice."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "6883fbaa-7aae-4627-8ac4-b77da1494f46",
  "connections": {
    "0b9b0d80-3932-4592-869f-1b88d275c061": {
      "main": [
        [
          {
            "node": "9080e615-b339-40e9-a2be-afec373f19e8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ca6f581a-0c4c-4259-8c90-95a23c815633": {
      "main": [
        [
          {
            "node": "00315b96-ca0b-4c64-b796-54e0eb0f5acb",
            "type": "main",
            "index": 0
          },
          {
            "node": "2cc5dc43-64e0-406a-98b0-2854143d2cc9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9080e615-b339-40e9-a2be-afec373f19e8": {
      "main": [
        [
          {
            "node": "e7fbd4a2-9988-4f2e-8985-4c0691b9ce27",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "00315b96-ca0b-4c64-b796-54e0eb0f5acb": {
      "main": [
        [
          {
            "node": "fd4d4869-27e2-4848-a78e-441f8cdcf11e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b9c2618f-3f0e-487a-b8d7-2664b502e069": {
      "main": [
        [
          {
            "node": "0b9b0d80-3932-4592-869f-1b88d275c061",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e85e1121-c0c5-4205-bde6-f1a9de3f0bd7": {
      "ai_languageModel": [
        [
          {
            "node": "fd4d4869-27e2-4848-a78e-441f8cdcf11e",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "2cc5dc43-64e0-406a-98b0-2854143d2cc9": {
      "main": [
        [
          {
            "node": "0cce44bd-54ad-4444-a351-b395af7e7875",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fd4d4869-27e2-4848-a78e-441f8cdcf11e": {
      "main": [
        [
          {
            "node": "b9c2618f-3f0e-487a-b8d7-2664b502e069",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2ce43600-134f-410d-b960-f43ab32f1571": {
      "main": [
        [
          {
            "node": "ca6f581a-0c4c-4259-8c90-95a23c815633",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado - Creación de contenido, IA Multimodal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Flujos de trabajo relacionados recomendados

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos21
Categoría2
Tipos de nodos7
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
Trung Tran

Trung Tran

@trungtran

Empowering small and medium businesses with smart automation and practical AI, no big tech team required.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34