Vollständige Sicherungskopie von Airtable

Experte

Dies ist ein Engineering, DevOps, AI-Bereich Automatisierungsworkflow mit 19 Nodes. Hauptsächlich werden If, Set, AwsS3, Slack, Airtable und andere Nodes verwendet, kombiniert mit KI-Technologie für intelligente Automatisierung. Backup der Airtable-Datenbank nach S3

Voraussetzungen
  • AWS Access Key und Secret
  • Slack Bot Token oder Webhook URL
  • Airtable API Key
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "YeYi657TmrNBAlHy",
  "meta": {
    "instanceId": "473c658c7288f697d42ad8adb392c78c9ea1b1c3a9d169c508028d7c271b8621",
    "templateCredsSetupCompleted": true
  },
  "name": "Airtable Full Backup",
  "tags": [],
  "nodes": [
    {
      "id": "2cfec4e1-08ad-4363-a3af-5aa77174ea1a",
      "name": "Airtable",
      "type": "n8n-nodes-base.airtable",
      "position": [
        380,
        -40
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "yourbase",
          "cachedResultUrl": "https://airtable.com/yourbase",
          "cachedResultName": "Sample Base"
        },
        "resource": "base",
        "operation": "getSchema"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "U1WMD4Gt9NhWpX3s",
          "name": "Airtable"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "45e6e8e3-2b72-44ae-ae5a-84ade2dfb59b",
      "name": "Elemente durchlaufen",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        600,
        -40
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "8c731bd7-54a7-443f-91de-1dedfcb79620",
      "name": "Tabellen-Metadaten erstellen",
      "type": "n8n-nodes-base.set",
      "position": [
        1040,
        60
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "cea4432c-e31c-43bd-adea-446658a96ab5",
              "name": "fileName",
              "type": "string",
              "value": "={{ $json.name.replace(/[^\\p{L}\\p{N}\\s_-]+/gu, '').trim().replace(/\\s+/g, '_')                      \n}}"
            },
            {
              "id": "34f5e44c-1d62-47ac-875b-9bbe698ffc0d",
              "name": "tableName",
              "type": "string",
              "value": "={{ $json.name }}"
            },
            {
              "id": "4a06c76d-7ac3-4fe9-96e3-003e80e0bf1e",
              "name": "tableID",
              "type": "string",
              "value": "={{ $json.id }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "57d1b06e-5265-4beb-b53f-9be2f9f1f300",
      "name": "Datensätze abrufen",
      "type": "n8n-nodes-base.airtable",
      "position": [
        1260,
        60
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "yourbase",
          "cachedResultUrl": "https://airtable.com/yourbase",
          "cachedResultName": "LifeOS"
        },
        "table": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.tableID }}"
        },
        "options": {},
        "operation": "search"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "U1WMD4Gt9NhWpX3s",
          "name": "Airtable"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "0872652a-6924-4a56-8058-69b51ecc8ee2",
      "name": "In Datei konvertieren",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        1480,
        60
      ],
      "parameters": {
        "options": {
          "fileName": "={{ $('Create Table Metadata').item.json.fileName }}.csv"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "167783d9-3fad-4a3c-827b-911b8d3587f7",
      "name": "AWS S3",
      "type": "n8n-nodes-base.awsS3",
      "position": [
        1700,
        60
      ],
      "parameters": {
        "fileName": "={{ $('Create Table Metadata').item.json.fileName }}.csv",
        "operation": "upload",
        "bucketName": "aired-out",
        "additionalFields": {
          "parentFolderKey": "={{ $('Set Week').item.json.currentWeek }}"
        }
      },
      "credentials": {
        "aws": {
          "id": "NijLkxXPqg88tIuO",
          "name": "AWS S3 Access"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "c766b901-e06c-457c-9407-a999b7eaecd0",
      "name": "Monatliche Bereinigung",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -320,
        500
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "months"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3fb466cd-90ad-4757-9df1-b7e2c317b454",
      "name": "Zeitstempel setzen",
      "type": "n8n-nodes-base.set",
      "position": [
        -80,
        500
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "ca8f6d53-152c-44ea-b0c8-eb5a7ba7fbf4",
              "name": "cutoffDate",
              "type": "string",
              "value": "={{ $now.minus({ weeks: 4 }).toFormat(\"kkkk-'W'WW\") }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "dacaac6b-1025-4c57-82f2-d17b387c4258",
      "name": "Wenn",
      "type": "n8n-nodes-base.if",
      "position": [
        340,
        500
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "9c09f6cc-9313-42ba-b48e-c8cc2faaebac",
              "operator": {
                "type": "dateTime",
                "operation": "before"
              },
              "leftValue": "={{ $json.Key.replace(/\\/$/, '') }}",
              "rightValue": "={{ $('Set Timestamps').item.json.cutoffDate }}"
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "e279fa0d-af6c-4dc2-9ac3-89e3a08280f8",
      "name": "Datei löschen",
      "type": "n8n-nodes-base.awsS3",
      "position": [
        560,
        420
      ],
      "parameters": {
        "resource": "folder",
        "folderKey": "={{ $('List Folders').item.json.Key }}",
        "operation": "delete",
        "bucketName": "aired-out"
      },
      "credentials": {
        "aws": {
          "id": "NijLkxXPqg88tIuO",
          "name": "AWS S3 Access"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "8a2e4f1e-8a07-4f77-a05d-90cfca9d96da",
      "name": "Ordner erstellen",
      "type": "n8n-nodes-base.awsS3",
      "position": [
        140,
        -40
      ],
      "parameters": {
        "resource": "folder",
        "bucketName": "aired-out",
        "folderName": "={{ $json.currentWeek }}",
        "additionalFields": {}
      },
      "credentials": {
        "aws": {
          "id": "NijLkxXPqg88tIuO",
          "name": "AWS S3 Access"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "69d7bfdc-657a-402c-b9ef-f230660be1f9",
      "name": "Ordner auflisten",
      "type": "n8n-nodes-base.awsS3",
      "position": [
        120,
        500
      ],
      "parameters": {
        "options": {},
        "resource": "folder",
        "operation": "getAll",
        "bucketName": "aired-out"
      },
      "credentials": {
        "aws": {
          "id": "NijLkxXPqg88tIuO",
          "name": "AWS S3 Access"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "35a136e1-4acc-4754-952e-69cf940219b0",
      "name": "Woche setzen",
      "type": "n8n-nodes-base.set",
      "position": [
        -80,
        -40
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "f5e7fb15-bf9c-4f6d-9476-15320ff150a6",
              "name": "currentWeek",
              "type": "string",
              "value": "={{ $now.toFormat(\"kkkk-'W'WW\") }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ca332df0-313d-44fe-81da-f4fabcad8cf6",
      "name": "Wöchentliches Backup",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -320,
        -40
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "weeks",
              "triggerAtHour": 12
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "68d97be1-f32f-4ada-85c3-7db8d3639262",
      "name": "Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        1260,
        -140
      ],
      "webhookId": "909deccb-0c0a-4243-ac3c-c69dd39f1ab4",
      "parameters": {
        "text": "=:floppy_disk: *Airtable Backup Complete*",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C08GPG2HTA4",
          "cachedResultName": "general"
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "RKqLvV8Ij1tfFCYJ",
          "name": "Slack Content Bot"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "8f7bf5dd-1e42-4979-808a-99c6db31f89c",
      "name": "Keine Aktion, nichts tun",
      "type": "n8n-nodes-base.noOp",
      "position": [
        560,
        600
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c8ba25eb-0aed-42d0-8c55-420448eebce5",
      "name": "Haftnotiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -360,
        -220
      ],
      "parameters": {
        "width": 2240,
        "height": 520,
        "content": "## Airtable Weekly Backups\nEvery week backup all tables in an Airtable base into a dedicated week sub-folder in S3. Notify when complete."
      },
      "typeVersion": 1
    },
    {
      "id": "7c33f350-3f5c-4979-a176-bbdb3b8d663c",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -360,
        360
      ],
      "parameters": {
        "width": 1140,
        "height": 480,
        "content": "## Airtable Monthly Prune\nDelete backups > 1 month old"
      },
      "typeVersion": 1
    },
    {
      "id": "dcbb30d5-90da-44ef-991f-0a25cf67e01d",
      "name": "Aggregieren",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1040,
        -140
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "6ae12e8e-f949-48f7-977e-65f5bb49be9b",
  "connections": {
    "dacaac6b-1025-4c57-82f2-d17b387c4258": {
      "main": [
        [
          {
            "node": "e279fa0d-af6c-4dc2-9ac3-89e3a08280f8",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "8f7bf5dd-1e42-4979-808a-99c6db31f89c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "167783d9-3fad-4a3c-827b-911b8d3587f7": {
      "main": [
        [
          {
            "node": "45e6e8e3-2b72-44ae-ae5a-84ade2dfb59b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2cfec4e1-08ad-4363-a3af-5aa77174ea1a": {
      "main": [
        [
          {
            "node": "45e6e8e3-2b72-44ae-ae5a-84ade2dfb59b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "35a136e1-4acc-4754-952e-69cf940219b0": {
      "main": [
        [
          {
            "node": "8a2e4f1e-8a07-4f77-a05d-90cfca9d96da",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dcbb30d5-90da-44ef-991f-0a25cf67e01d": {
      "main": [
        [
          {
            "node": "68d97be1-f32f-4ada-85c3-7db8d3639262",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "69d7bfdc-657a-402c-b9ef-f230660be1f9": {
      "main": [
        [
          {
            "node": "dacaac6b-1025-4c57-82f2-d17b387c4258",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "57d1b06e-5265-4beb-b53f-9be2f9f1f300": {
      "main": [
        [
          {
            "node": "0872652a-6924-4a56-8058-69b51ecc8ee2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8a2e4f1e-8a07-4f77-a05d-90cfca9d96da": {
      "main": [
        [
          {
            "node": "2cfec4e1-08ad-4363-a3af-5aa77174ea1a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c766b901-e06c-457c-9407-a999b7eaecd0": {
      "main": [
        [
          {
            "node": "3fb466cd-90ad-4757-9df1-b7e2c317b454",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ca332df0-313d-44fe-81da-f4fabcad8cf6": {
      "main": [
        [
          {
            "node": "35a136e1-4acc-4754-952e-69cf940219b0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3fb466cd-90ad-4757-9df1-b7e2c317b454": {
      "main": [
        [
          {
            "node": "69d7bfdc-657a-402c-b9ef-f230660be1f9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0872652a-6924-4a56-8058-69b51ecc8ee2": {
      "main": [
        [
          {
            "node": "167783d9-3fad-4a3c-827b-911b8d3587f7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "45e6e8e3-2b72-44ae-ae5a-84ade2dfb59b": {
      "main": [
        [
          {
            "node": "dcbb30d5-90da-44ef-991f-0a25cf67e01d",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "8c731bd7-54a7-443f-91de-1dedfcb79620",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8c731bd7-54a7-443f-91de-1dedfcb79620": {
      "main": [
        [
          {
            "node": "57d1b06e-5265-4beb-b53f-9be2f9f1f300",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte - Engineering, DevOps, Künstliche Intelligenz

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes19
Kategorie3
Node-Typen11
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Autor
Autonomous Work

Autonomous Work

@autonomouswork

Senior Solutions Architect · 10 years in Data, Cloud, & AI ⚡ Maximize the individual with low-friction systems for peak output 🌮 TACO stack. Views are my own.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34