Loading...
Loading...
Compare original and translation side by side
sf plugins --core | grep data-code-extensionsf plugins install @salesforce/plugin-data-codeextensionpython --version # Should show 3.11.xpip list | grep salesforce-data-customcodepip install salesforce-data-customcodedocker pssf org display --target-org <org_alias> --jsonsf plugins --core | grep data-code-extensionsf plugins install @salesforce/plugin-data-codeextensionpython --version # 应显示3.11.xpip list | grep salesforce-data-customcodepip install salesforce-data-customcodedocker pssf org display --target-org <org_alias> --jsonsf data-code-extension script init --package-dir <directory>sf data-code-extension function init --package-dir <directory>--package-dir, -pmy-transform/ # Project root
├── payload/ # CRITICAL: This is what --package-dir must point to for deploy
│ ├── entrypoint.py # Main transformation code
│ └── config.json # Code extension configuration
├── requirements.txt # Python dependencies
└── README.mdsf data-code-extension script init --package-dir <directory>sf data-code-extension function init --package-dir <directory>--package-dir, -pmy-transform/ # 项目根目录
├── payload/ # 关键:部署时--package-dir必须指向此目录
│ ├── entrypoint.py # 主转换代码
│ └── config.json # 代码扩展配置文件
├── requirements.txt # Python依赖项
└── README.md| Command | Run From | Path/File Argument |
|---|---|---|
| Parent directory | |
| Project root | |
| Project root | |
| Project root | |
--package-dirpayload| 命令 | 运行目录 | 路径/文件参数 |
|---|---|---|
| 父目录 | |
| 项目根目录 | |
| 项目根目录 | |
| 项目根目录 | |
--package-dirpayloadpayload/entrypoint.pyfrom datacustomcode import Client
client = Client()payload/entrypoint.pyfrom datacustomcode import Client
client = Client()
**Function Example (Real-time):**
```python
from datacustomcode import FunctionClient
def transform(event, context):
client = FunctionClient(context)
input_data = event['data']
output = {
'name': input_data['name'].upper(),
'status': 'processed'
}
return outputclient.read_dlo('DLO_Name__dll')client.read_dmo('DMO_Name')client.write_to_dlo('DLO_Name__dll', df, 'overwrite')client.write_to_dmo('DMO_Name', df, 'upsert')
**函数示例(实时处理):**
```python
from datacustomcode import FunctionClient
def transform(event, context):
client = FunctionClient(context)
input_data = event['data']
output = {
'name': input_data['name'].upper(),
'status': 'processed'
}
return outputclient.read_dlo('DLO_Name__dll')client.read_dmo('DMO_Name')client.write_to_dlo('DLO_Name__dll', df, 'overwrite')client.write_to_dmo('DMO_Name', df, 'upsert')sf data-code-extension script scan --entrypoint ./payload/entrypoint.pyconfig.jsonrequirements.txtsf data-code-extension script scan --entrypoint ./payload/entrypoint.pyconfig.jsonrequirements.txtconfig.jsoncat payload/config.jsonconfig.jsoncat payload/config.jsongetting-datacloud-schemapython3 scripts/get_dlo_schema.py <org_alias> <dlo_name>entrypoint.pyreadwritegetting-datacloud-schemapython3 scripts/get_dlo_schema.py <org_alias> <dlo_name>entrypoint.pyreadwritesf data-code-extension script run --entrypoint <entrypoint_file> --target-org <org_alias> [options]--target-org, -o--config-file, -csf data-code-extension script run --entrypoint <entrypoint_file> --target-org <org_alias> [options]--target-org, -o--config-file, -c--package-dir ./payloadsf data-code-extension script deploy --target-org <org_alias> --name <name> --package-dir ./payload --package-version <version> --description <description> [options]--target-org, -o--name, -n--package-dir./payload--package-version--description--cpu-size--function-invoke-opt--network--package-dir ./payloadsf data-code-extension script deploy --target-org <org_alias> --name <name> --package-dir ./payload --package-version <version> --description <description> [options]--target-org, -o--name, -n--package-dir./payload--package-version--description--cpu-size--function-invoke-opt--network| Error | Solution |
|---|---|
| |
| |
| Use pyenv: |
| Start Docker Desktop |
| |
| |
| Verify DLO exists (use getting-datacloud-schema skill), check spelling and |
| Re-run scan, verify target DLO exists and is writable |
| Ensure |
| 错误 | 解决方案 |
|---|---|
| 执行 |
| 执行 |
| 使用pyenv: |
| 启动Docker Desktop |
| 执行 |
| 执行 |
| 验证DLO是否存在(使用getting-datacloud-schema技能),检查拼写和 |
| 重新运行扫描,验证目标DLO存在且可写入 |
| 确保 |
run--package-dir ./payloadrun--package-dir ./payloadgetting-datacloud-schemagetting-datacloud-schema| Command | Purpose | Required Args |
|---|---|---|
| Create new script project | --package-dir |
| Create new function project | --package-dir |
| Generate config | entrypoint file |
| Test locally | entrypoint file, --target-org |
| Deploy to Data Cloud | --target-org, --name, --package-dir, --package-version, --description |
| 命令 | 用途 | 必填参数 |
|---|---|---|
| 创建新的脚本项目 | --package-dir |
| 创建新的函数项目 | --package-dir |
| 生成配置文件 | 入口文件 |
| 本地测试 | 入口文件, --target-org |
| 部署到Data Cloud | --target-org, --name, --package-dir, --package-version, --description |