首页 > 其他分享 >Salesforce 数据迁移

Salesforce 数据迁移

时间:2024-09-09 10:02:52浏览次数:8  
标签:Salesforce name url attachment print 迁移 csv 数据 response

关于整个Org 迁移,都是在有限的时间里 摸索着前行:

1.整理好哪些元数据要迁移,PackMagix,整理好list ,与客户确认,确认好后准备迁移;

2.目前市面上有很多的迁移工具,选择一款适应你的,如果项目比较拮据,可以选择VS Code.

3.可以从目标环境中 使用 Generator xml,下载 元数据,然后部署到目标环境;

4.部署代码

5.导入数据:追加Migration_GUID__c ,保存源数据ID,同样在目标系统中,将Auto-number 的 Name 设置为text型,导完数据后在改为Auto。

使用dataloaser 迁移,需要新旧Id 替换, 注意乱码,科学计数法;

6.乱码问题,使用dataloader 导出数据,notepad++ 打开,设置编码格式UTF-8 BOM 形式保存,再用csv打开,copy到excel中,进行编辑保存;

7.文件迁移:使用谷歌插件Tabs to save 下载附件,或用 Pythodn 脚本下载

import csv
import requests
import shutil

# Salesforce实例URL和Access Token
instance_url = ''
access_token = '00D90000000w9e0!AQcAQNVcdSLh0AQcn.ORnHmAjOZSkrYE8rraspklugUgqS5jngdgc4.OQwkWDmDMbio8Zn4PgcOAuiG9ld1DQ_CFDZjVH6_l'

# CSV文件路径和名称,确保路径正确和文件存在
csv_file = r'\test_contentVersion.csv'

# 读取CSV文件并下载ContentVersion附件
def download_contentversion_attachments(csv_file, instance_url, access_token):
    session = requests.Session()
    headers = {
        'Authorization': f'Bearer {access_token}',
        'Content-Type': 'application/octet-stream'
    }

    with open(csv_file, newline='', encoding='utf-8') as csvfile:
        reader = csv.DictReader(csvfile)
        for row in reader:
            contentversion_id = row['Id']  # 假设CSV中有Id列
            attachment_name = row['Title']  # 假设CSV中有FileName列
            #download_url = f"https://{instance_url}/services/data/v60.0/sobjects/ContentVersion/{contentversion_id}/VersionData"
            download_url = "https://%s%s%s/VersionData" % (instance_url, '/services/data/v60.0/sobjects/ContentVersion/', contentversion_id)
            # 下载附件
            response = session.get(download_url, headers=headers, stream=True, allow_redirects=True)
            
            if response.status_code == 200:
                content_type = response.headers['Content-Type']
                # 检查下载的内容是否是HTML
                if content_type.startswith('text/html'):
                    print(f'{attachment_name} 下载的内容是HTML,可能是错误页面')
                    print(response.text)  # 打印HTML内容以供检查
                else:
                    try:
                        # 保存附件到本地文件,注意文件名编码问题
                        with open(attachment_name, 'wb') as file:
                            shutil.copyfileobj(response.raw, file)
                        print(f'{attachment_name} 下载成功. 内容类型: {content_type}')
                    except Exception as e:
                        print(f'{attachment_name} 不是有效的文件: {e}')
            else:
                print(f'下载 {attachment_name} 失败. 状态码: {response.status_code}')
                print(f'响应内容: {response.text}')

# 执行下载
if __name__ == '__main__':
    download_contentversion_attachments(csv_file, instance_url, access_token)

 

标签:Salesforce,name,url,attachment,print,迁移,csv,数据,response
From: https://www.cnblogs.com/bandariFang/p/18403967

相关文章

  • 基于Oracle数据库的网络教学系统的开发和应用论文+任务书+翻译+代码
    !!!有需要的小伙伴可以通过文章末尾名片咨询我哦!!! ......
  • STM32常用数据采集滤波算法
    例如,STM32进行滤波处理时,主要目的是处理数据采集过程中可能产生的噪声和尖刺信号。这些噪声可能来自电源干扰、传感器自身的不稳定性或其他外部因素。1.一阶互补滤波方法:取a=0~1,本次滤波结果=(1-a)本次采样值+a上次滤波结果优点:对周期性干扰具有良好的抑制作用适用于波动频率......
  • MySQL零基础入门教程-8.1 表的连接\增删数据、表结构的增删改、字段约束(非空、唯一
    教程来源:B站视频BV1Vy4y1z7EX001-数据库概述_哔哩哔哩_bilibili我听课收集整理的课程的完整笔记,供大家学习交流下载:夸克网盘分享本文内容为完整笔记的第三篇目录1、表怎么进行连接的2、insert语句可以一次插入多条记录吗?可以的!3、快速创建表?【了解内容】4、将查询结果......
  • 【转】数据模型——从D模型到C/C'模型的浅谈
    数据模型——从D模型到C/C'模型的浅谈原文链接:https://zhuanlan.zhihu.com/p/521380989DSColloquium在DA和ML中寻找life的wisdom(真香~)​关注 15人赞同了该文章一、引言在日常企业运营和发展过程中,总会遇到这么一个情景:已有的业务系统的设计与实施......
  • Hadoop(一)大数据概论
    大数据概念大数据:指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。按顺序给出数据存储单位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB......
  • Ftrans跨域文件传输方案,数据流动无阻的高效路径!
    大型集团企业由于其规模庞大、业务广泛且往往将分支机构、办事处分布在多个地域,因此会涉及到跨域文件传输的需求。主要源于以下几个方面:1.业务协同:集团内部的不同部门或子公司可能位于不同的地理位置,但需要进行紧密的业务协同。文件传输是实现这种协同的重要方式之一,包括项目文档......
  • 数据同步和数据备份
       日常使用的移动手机或者是电脑等其它电子产品都是每天在产生不同的数据。数据安全性的 保证需要有很多的计算机程序设计的运行程序进行有效保证。电子产品是硬件设备,硬件设 备就像机器机械一样是可以看得见摸得着的具体物件设施。物质和能量,源头物料可以通过 不同的设......
  • Ftrans无缝替代FTP方案:保障数据传输的安全性与合规性!
    FTP(文件传输协议)是一种用于在网络上进行文件传输的标准网络协议,历史悠久并且被广泛使用。但随着业务规模和文件体量的快速增长,在应用实践中,FTP存在一些安全和效率问题。因此政府单位需要可以平滑替代FTP的文件传输解决方案,从而更好的保障数据安全、提升工作效率。具体存在以下问题......
  • 【SQL数据库技术开发】第34课时-数据库SQL CHECK 约束
    SQL CHECK 约束SQLCHECK约束CHECK约束用于限制列中的值的范围。如果对单个列定义CHECK约束,那么该列只允许特定的值。如果对一个表定义CHECK约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。CREATETABLE时的SQLCHECK约束下面的SQL在"Per......
  • 【SQL数据库技术开发】第41课时-数据库SQL Date 函数
    SQL Date 函数SQL日期(Dates)当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。只要您的数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间部分,情况就有点复杂了。在讨论日期查询的复杂性之前,我们先来看看最重要的......