大家是不是经常遇到以下情况:
- 系统有 bug 但是无法在本地复现
- 你需要在受影响的实例中运行几行代码
- 能完整访问系统管理门户,但是没有终端或者管理控制台, 也不能访问 Studio, Atelier 或者 VSCode
- 你要怎么运行你的几行代码来测试???
大家是不是经常遇到以下情况:
本文向你推荐一些使用IRIS创建REST API应用程序的模式。
注:所有源代码在https://github.com/yurimarx/movie
首先,请看我对创建IRIS API应用程序所需类的建议:
.png)
我将创建一个电影目录应用程序来演示文章中建议的模式:
.png)
Note: 感谢IRIS API 模版应用 https://openexchange.intersystems.com/package/iris-rest-api-template . 这是本教程的基础.
1. 在你的文件系统中创建一个movie文件夹。在一个新的VSCode窗口中打开这个文件夹。
.png)
2. 在movie 文件夹中创建Dockerfile 文件来在Docker container实例中运行IRIS社区版.
Hi,大家好。
我想知道如何区分一个变量是纯数字字符串还是一个数字,比如 "123 "和 "123"。
我只知道一个笨方法。
ClassMethod IsNumber(n)
{
s ret=0
try{
s ret= $lb(n)=$lb(+n)
}catch e{
s ret=0
}
q ret
}欢迎大家指教
在这篇文章中,我们将使用docker和 参数配置文件模版 这一新特性来运行IRIS集群且轻松配置好。
在 UNIX® 和 Linux 上,您可以使用声明式参数配置合并文件来修改默认的 iris.cpf。合并文件是一个部分 CPF,在实例启动时为任何数量的参数设置所需的值。CPF 合并操作对每个实例只起一次作用。
我们的集群架构非常简单,它将由一个主节点(Node1)和两个数据节点(检查所有可用角色)组成。不幸的是,docker-compose不能部署到几个服务器上(尽管它可以部署到远程主机上),所以这对本地开发分片的数据模型、测试等很有用。如果是生产的InterSystems IRIS集群部署,你应该使用ICM云管理器或IKO K8S调度器。
我们很高兴地宣布,从7.2.4版本开始,DBeaver已经支持开箱即用InterSystems IRIS的。 你不需要再手动配置它,只要在连接列表中找到IRIS的图标即可。
.png)
Hi, 社区!
想和大家分享一下俄罗斯论坛上的一个Debug方法。
假设我想对应用程序进行Debug,我想让它在某一行停止执行。
在代码中加入这一行:
l +d,-d
当我想在这一行中开始调试时,我在终端中屏蔽了d
USER> l +d
执行该应用程序。
应用程序在这一行停止,让我用Studio调试器连接到它。
为了释放锁,我在终端做了以下工作
USER> l -d
还有其他好的Debug 建议吗?
InterSystems IRIS对加密、解密和哈希操作有很好的支持。在%SYSTEM.Encryption(https://docs.intersystems.com/iris20212/csp/documatic/%25CSP.Documatic…;
正如你所看到的,这些操作是基于密钥的,包括3个类:
有一个简单的新方法可以在Windows和Mac上的InterSystems IRIS 2019.1(和2018.1.2)的SSL/TLS配置中添加证书授权(CA)证书。 你可以通过输入以下内容要求IRIS使用操作系统的证书存储。
%OSCertificateStore
在 "包含受信任证书颁发机构X.509证书的文件 "栏中输入:%OSCertificateStore。 这里有一张如何在门户中这样做的图片:

这里有一个描述这个问题的文档链接。 它在 "包含受信任的证书颁发机构证书的文件 "的选项列表中。
这就是你需要做的所有事情! 现在,这个配置将接受由操作系统证书库中列出的任何CA颁发的证书。
InterSystems Kubernetes Operation(IKO)3.3版现已通过WRC下载页面和InterSystems容器注册中心提供。
IKO通过提供一个易于使用的irisCluster资源定义,简化了在Kubernetes中使用InterSystems IRIS或InterSystems IRIS for Health的工作。完整的功能清单见IKO文档,包括轻松的分片、镜像和ECP的配置。
IKO 3.3 亮点:
irisCluster的一部分进行部署irisCluster的一部分进行部署和管理大家好!
我正在创建一个脚本,从Ensemble Production中删除一个项目(Component),我知道有手动的方法,但由于有几个Component,我想用一个脚本来更快。
我试着用%Delete()并在Ens.Config.Item上做选择,但这最终在生产中产生了几个错误。有谁知道我怎样才能简单地做到这一点?
答案参见:https://community.intersystems.com/post/delete-item-production
nterSystems很高兴地宣布发布系统警报和监控(SAM)1.1版。
什么是SAM ?
SAM将IRIS基于标准的监控API和日志监控与熟悉的行业标准工具如Grafana和Prometheus结合起来,为IRIS集群创建一个基本的监控和告警解决方案。
关于SAM的更多信息,请参阅《系统告警和监控指南》。
SAM 1.1有什么新的内容?
你会注意到Grafana仪表盘图形的性能改进,特别是在处理大型数据集时。 如果你从SAM 1.0升级,你要确保你有足够的磁盘空间,因为SAM 1.1增加了额外的数据索引。
有关升级到SAM 1.1的更多信息,请参见发行说明。

SAM 主页

SAM 实例详细页面
Hi 社区,
想象一下,使您的应用程序能够阅读文本?现在有了IRIS的新功能--嵌入式Python,这就成为可能。有了这个新功能,IRIS可以原生地运行任何开源或商业的Python库。gTTS(https://pypi.org/project/gTTS/)是一个免费的库,使用谷歌翻译服务将文本转换成音频。
只要通过参数传递文本,gTTS就会返回一个将文本转换为音频的MP3文件。也就是说,你的应用程序可以播放任何文本的音频! 请看如何做到这一点。
1. 进入https://openexchange.intersystems.com/package/IRIS-Text2Audio,点击下载按钮…;
2. 克隆/git pull repo到任何本地目录中
$ git clone https://github.com/yurimarx/iris-tts.git
3. 在这个目录中打开一个Docker终端,运行:
$ docker-compose build
4. 运行IRIS container:
$ docker-compose up -d
5.
所有源代码均在: https://github.com/antonum/ha-iris-k8s

在上一篇文章中,我们讨论了如何在k8s集群上建立具有高可用性的IRIS,基于分布式存储,而不是传统的镜像。作为一个例子,那篇文章使用了Azure AKS集群。在这一篇中,我们将继续探讨k8s上的高可用配置。这一次,基于Amazon EKS(AWS管理的Kubernetes服务),并将包括一个基于Kubernetes 快照进行数据库备份和恢复的选项。
开始干活. 首先需要一个AWS账户,安装 AWS CLI, kubectl 和 eksctl 工具. 要创建新的集群,请运行以下命令:
eksctl create cluster \ --name my-cluster \ --node-type m5.2xlarge \ --nodes 3 \ --node-volume-size 500 \ --region us-east-1
这个命令需要大约15分钟,部署EKS集群并使其成为你的kubectl工具的默认集群。你可以通过运行以下代码来验证你的部署:
kubectl get nodes NAME STATUS ROLES AGE VERSION ip-192-168-19-7.
本月我们正式发布VS Code ObjectScript扩展的1.8.0版本,它包含以下增强功能和错误修复。
最大的更新是支持服务器端的项目文件,因为很多人会记得Studio。如果你在客户端工作,VS Code已经有很好的项目管理功能。你可以简单地使用一个文件夹作为一个项目,或者使用多个根目录的工作空间。但是如果你在服务器端工作,你可能会喜欢一些更好的工具管理能力,这就是这个功能的意义所在。更多内容,欢迎查阅文档的新项目章节。
完整的更新日志在这里。
如果您已经安装了ObjectScript扩展,VS Code会自动更新。如果您是一个新用户,请从这里开始。
就在不久以前,临床科研人员还需要依靠三联的纸质NCR表格,手工收集从堆积如山的手写电子病历中提炼出来的病人数据。从又大又重的《医师案头参考》(PDR)撕下几页,通过传真机发送给FDA,用于药物安全报告。业内专业人士接受了大量的培训,以确保数据经过源文件验证、双键处理,并在经过看似无休止的查询以纠正错误之后,保证其符合目的。
值得庆幸的是,随着电子健康档案的广泛采用,健康数据的数字化,这一过程得到了极大的改善。但是,鉴于临床研究进展缓慢,特别是精美的Excel表格仍由人工数据摘要完成,该领域早该有更多的技术变革,特别是围绕释放医疗互操作性的全部好处。如果我们能做到这一点,生命科学公司将有机会利用宝贵的健康数据来确保病人的安全,优化新药的疗效,并使临床开发过程更加高效,减少错误。
我们可能会比你想象的更快地将临床研究与健康数据联系起来。为什么?火神计划(Project Vulcan)正在进行中。这个项目组是最近在HL7的FHIR加速器项目中创建的,它已经召集了来自医疗、技术和生命科学领域的30多个利益相关的组织个和机构,利用FHIR这个医疗专用互操作性标准来进行临床和转化研究。自从我们在去年年初加入后,我们高兴的看到火神计划成员制定的早期想法越来越接近于功能现实。
Hi,
我无法连接到本地网络浏览器.
我想打开(http://localhost:57772/csp/sys/UtilHome.csp) 现实:
Caché Server Pages Version 2018.1.6.717.0
Server Availability Error
Server is currently unavailable
如果我调用 CSP.log 得到以下报错:
Access Denied
Diagnostic
Failed to connect to 'LOCAL' - Reason: 0 (Connection successfully made but server not responding) (No Retry)
请帮帮我,谢谢!
年度InterSystems IRIS开发者大赛来了,我们特别兴奋能够邀请大家参加我们今年的年度大奖赛,利用InterSystems IRIS数据平台创建开源解决方案!
时间: 2021年5月9日 - 6月5日(美东时间)
总奖金超过$22,000美金,比去年提高37%!!!
我想知道是否有更好的方法来使用动态SQL对数据集进行分页,而不是我下面使用的方法。问题是,当潜在的数据池变大时,这段代码就会变慢,以至于无法使用。在分析下面的每一行代码时,似乎速度变慢与最初的rset.%Next()迭代有关。 有没有什么不需要子查询/%VID的可用方法,比如简单的LIMIT/OFFSET?
我的代码类似于:
s sql=##class(%SQL.Statement).%New()
s query="SELECT *,%VID FROM (SELECT prop FROM table WHERE prop=x) WHERE %VID BETWEEN 1 AND 100"
s sc=sql.%Prepare(query)
s rset=sql.%Execute()
while rset.%Next() {.....
我们很高兴向您介绍我们新的反馈门户网站--InterSystems Ideas!
我们的目标是改善我们的反馈机制,使您可以建议我们的产品如何发展以满足您的业务挑战。在开发者社区提问是与您的同行就特定的代码问题进行互动的好方法,而我们的客户支持网站WRC则一如既往地是解决实时问题的方法。
这个新的门户是为了获得您更高层次的想法。不是关于今天如何,更多是关于未来,您想看到我们的产品在未来如何更好地工作。您可以发布您自己的反馈,也可以对其他人提供的反馈进行评论/投票。InterSystems将查看你提交的任何反馈,直接回应你的反馈,并且如果您的建议有了任何进展,我们将及时更新状态。
所以,欢迎提出您的想法,为了我们共同的未来!谢谢!
Hi, 请问如何更改表(有数据)上的主键?谢谢!
答:
如果数据已经存在,那么这是一项必须重视的任务,特别是如果存在继承或父/子关系,因为这将导致你的数据存储方案的改变。
最简单的方法是通过一个中间(临时)表来实现。
创建一个具有相同结构的新类,但有一个新的主键。
使用SQL(不是合并命令)将数据从旧的类中移到它里面。
删除旧类中的数据/索引,然后改变其中的主键。
使用合并命令,将数据从新类移到旧类中。
删除带有数据的新类。
重建索引(如果有的话)。
几个有用的链接:
MERGE
如果仍然有问题,最好向WRC寻求帮助。
Kong提供了一个开源的配置管理工具(用Go语言编写),称为decK(代表声明式Kong)
deck ping Successfully connected to Kong! Kong version: 2.3.3.2-enterprise-edition
deck dump
deck diff
updating service alerts {
"connect_timeout": 60000,
- "host": "172.24.156.176",
+ "host": "192.10.10.在一次重大的版本升级中,建议重新编译你所有命名空间的类和例程。 (主要版本的安装后任务).
do $system.OBJ.CompileAllNamespaces("u")do ##Class(%Routine).CompileAllNamespaces()
为了自动完成这项管理任务并记录任何错误,下面是一个导入并编译到USER命名空间的类的例子,你可以在每次升级后使用它 : admin.utils.cls
在HIMSS 2022的一次讨论中,小组成员讨论了长期执行登陆火星任务的健康挑战,以及新的交互如何保证宇航员的安全。
将人类送上火星的任务是一项艰巨的任务。但是在这些开创性的旅程中,对宇航员健康主要风险相关的关注却小得令人吃惊。
"你会认为太空飞行真的很复杂,但我们把它归结为五个方面,"美国宇航局总部NASA的首席科学家和科技利用经理朱莉-罗宾逊在HIMSS22的一个小组讨论会上说。
"而且我们在地球上以及在当前和计划中的太空任务中模拟了未来的火星任务。我们利用我们所做的每一次任务来推进我们对如何在未来任务中保持船员安全和健康的理解。"
载人航天飞行期间的这五个主要危险包括:辐射;隔离和禁闭,如长期与相同的人困在一个狭小的空间里的行为和社会心理影响;远离地球,因为你不能离开或迅速与家乡的其他人沟通;失重;以及不友好和封闭的环境,因为宇航员不断重复使用水和重新呼吸相同的空气。
但是美国宇航局可以在地球上和国际空间站上模拟其中一些健康风险,为前往火星的长期任务做准备。这也是将人类送回月球的Artemis计划的一个目标。
Artemis计划将对这些重力、辐射、环境和隔离风险提供一个更好的模拟。当然,月球比火星离家近得多,通信延迟将短得多。
"如果在去火星的路上真的出了问题,船员还是会去火星。”罗宾逊说:"不管是死是活,船员都会去火星,因为物理学定律不会让你更快地回来。
Hi 社区
在本文中,我们将基于Docker程序化地配置一个Apache Web Gateway,使用。:

我们将使用两个镜像:一个用于Web网关,第二个用于IRIS实例。
所有必需的文件都在这 GitHub repository.
我们从git clone开始:
git clone https://github.com/lscalese/docker-webgateway-sample.git
cd docker-webgateway-sample
为了避免权限方面的问题,你的系统需要一个用户和一个组:
需要与容器共享证书文件。 如果你的系统中不存在这些文件,只需执行:
sudo useradd --uid 51773 --user-group irisowner
sudo groupmod --gid 51773 irisowner
sudo useradd –user-group www-data
在这个示例中,我们使用以下三个证书:
附件中的压缩文件包含了一些我多年来所做的Cache SQL Storage映射的例子。
如果你有现有的globals,并且想通过Objects或SQL暴露它们,你需要设置Cache SQL Storage映射。 如果你没有看到对你的情况有帮助的例子,请给我发一个例子,我可以帮你解决。
下载附件:https://community.intersystems.com/sites/default/files/post-associated-…
有很多方法可以使用Intersystems生成excel文件,其中一些是ZEN报告、IRIS报告(Logi报告或正式称为JReports),或者我们可以使用第三方Java库,可能性几乎是无限的。
但是,如果你想只用Caché ObjectScript创建一个简单的电子表格呢?(没有第三方应用程序)
在我的案例中,我需要生成包含大量原始数据的报告(财务人员喜欢这些数据),但是我的ZEN/IRIS失败了,给了我一个我想称之为 "零字节的文件",基本上说java的内存用完了,并导致报告服务器上的重载。
这可以用Office Open XML(OOXML)来完成。Office Open XML格式是由一个ZIP包内的一些XML文件组成的。因此,基本上我们需要生成这些XML文件,并将其压缩重命名为.xslx。就这么简单。
这些文件遵循一套简单的惯例,称为开放包装惯例。你需要声明各部分的内容类型,以及告诉消费应用程序应该从哪里开始。
为了创建一个简单的电子表格,我们至少需要5个文件。
workbook.xml
工作簿是各种工作表的容器。
从Terminal 访问 global 内容,答案见英文社区:
https://community.intersystems.com/post/view-globals-terminal
在最近一次探索马里兰小镇的 "度假 "期间,我偶然发现了一家非常令人愉快的书店,在那里我愉快地消磨了一下午。我和我的家人都是读者,喜欢各种类型的书--新的、二手的、印刷的、电子的。我们尽量在当地购物,以帮助零售店保持运营。
这次访问促使我思考图书行业所发生的事情与我们的医疗保健系统所发生的事情之间的一些相似之处。
医疗保健行业与图书行业的趋势
数字化
我们阅读内容的格式已经发生了根本性的变化。在2020年,电子书几乎占美国市场的四分之一。音频书占美国图书收入的10亿美元。许多印刷书籍是按需出版的,而不是保存在库存中。同样,医疗保健早已不再是一个“伸出舌头说啊 ”的行业,基因组测试、由人工智能算法读取的X射线、可植入设备和远程医疗访问已经改变了医疗的面貌。
虚拟服务
书店现在有多种形式,医疗机构也是如此。订阅图书服务,从当地独立的小公司、大的连锁店、电子零售的网上订单。而与你的本地门诊竞争的是你手机上的一个应用程序。同样,你的治疗师可能是一个机器人,你的基层医疗服务可能由你社区附近药店的驻店医师提供,你可能在一个办公园区做手术。在所有这些竞争中,我们如何确保在我们需要时仍有健康的、提供全面服务的医院?
更智能的算法
分析和预测模型现在几乎和个人推荐一样重要。过去,当我想要一本书的建议,或者一个医生,我就会问朋友。虽然我仍然这样做,但我也同样有可能去看Goodreads,或查看在线医生评论。
设置可重复的开发环境的最简单的方法之一是使用容器。我发现在快速迭代时,在我的开发环境容器里托管一个vscode实例是非常方便的。因此,我创建了一个快速的容器脚本,将一个基于浏览器的vscode添加到IRIS容器中。这应该适用于大多数2021.1以上的容器。我的代码库可以在这里找到
带VSCode 且预连接好的InterSystems IRIS 容器
| Cred | Value |
|---|---|
| User | _SYSTEM |
| Password | SYS |

这个项目创建了一个IRIS容器,在同一个IRIS容器中提供了vscode的托管(web-based)版本。这提供了:
git clone https://github.com/nickmitchko/Hosting-vscode-in-a-container.gitdocker build . -t vscode-irishealth-ml:latest --no-cachedocker-compose up