Anylogic模型有外部依赖关系且需要“写”权限,能在(Anylogic)公共云上运行吗?
创始人
2024-08-22 17:00:30
0

任何需要“写”权限的模型,都需要在启动时进行额外的配置以在公共云上运行。以下是一个示例模型,它使用jxl库来读取和写入Excel文件。

在该模型中,在文件路径上添加了"logs/ExcelSheet1.xls",因此我们必须确保在公共云上存在此路径。这可以通过在模型启动时将文件上传到与模型相同的路径来实现。以下是修改后的模型代码示例,以便在启动时自动上传文件。在示例中,我们使用了Amazon S3存储服务。

import com.xj.anylogic.aws.s3.AmazonS3ClientUtil;
import static com.xj.anylogic.engine.Utilities.readExcel;
import static com.xj.anylogic.engine.Utilities.writeExcel;

// 定义AWS信息
final String REGION = "region";
final String BUCKET = "your-bucket-name";
final String ACCESS_KEY = "your-access-key";
final String SECRET_KEY = "your-secret-key";

final String FILE_PATH = "logs/ExcelSheet1.xls";

// 将Excel文件上传到Amazon S3
void uploadExcel() {
    InputStream input = null;
    try {
        input = getInputStream(FILE_PATH);
        AmazonS3ClientUtil.uploadFileToBucket(
            REGION, BUCKET, FILE_PATH, input, ACCESS_KEY, SECRET_KEY
        );
    } finally {
        try {
            if (input != null) {
                input.close();
            }
        } catch(IOException e) {
            // Ignore
        }
    }
}

// 将Excel文件下载到本地
void downloadExcel() {
    OutputStream output = null;
    try {
        AmazonS3ClientUtil.downloadFileFromBucket(
            REGION, BUCKET, FILE_PATH, output, ACCESS_KEY, SECRET_KEY
        );
    } finally {
        try {
            if (output != null) {
                output.close();
            }
        } catch(IOException e) {
            // Ignore
        }
    }
}

void run() {

    // 将Excel文件上传到Amazon S3
    uploadExcel();

    // 读取Excel文件
    List> data = readExcel(FILE_PATH);

    // 修改数据
    data.get(0).set(1, "New Value");

    // 将修改的数据写入Excel文件
    writeExcel(FILE_PATH, data);

    // 将更新后的Excel文件下载到本地
    downloadExcel();

}

注意,上传和

相关内容

热门资讯

安装Pillow时遇到了问题:... 遇到这个问题,可能是因为缺少libwebpmux3软件包。解决方法是手动安装libwebpmux3软...
安装React Native时... 当安装React Native时出现构建错误的情况,可以尝试以下解决方法:确保已经安装了最新版本的C...
安装Python库"... 安装Python库"firedrake"的解决方法如下:打开终端或命令提示符(Windows系统)。...
安装ug未能链接到许可证服务器 安装UG未能链接到许可证服务器是UG用户在安装软件时常遇到的问题之一。该问题的解决方法需要技术向的知...
安装Rails时构建webso... 在安装Rails时,如果构建websocket-driver时发生错误,可以尝试以下解决方法:更新系...
按转换模式过滤日志【%t】。 要按照转换模式过滤日志,可以使用正则表达式来实现。下面是一个示例代码,使用Java语言的Patter...
安装react-native-... 要安装react-native-onesignal并在应用关闭时仍能接收通知,可以按照以下步骤进行:...
Apache Nifi在Kub... Apache Nifi可以在Kubernetes上运行,并且已经准备好用于生产环境。下面是一个使用H...
安装React-Scripts... 这是因为React-Scripts使用Facebook工具包中的一些脚本。 joinAdIntere...
安装React Native时... 安装React Native时可能会出现各种错误,下面是一些常见错误和解决方法的代码示例:Error...