如何使用 sprintf 格式化整数以将逗号显示为千位分隔符?
我知道如何使用 String.Format 做到这一点,但我找不到使用 sprintf 做到这一点的方法。
编辑:根据下面 Fyodor Soikin 的评论,我尝试了以下代码:
printf "%a" (fun writer (value:int) -> writer.Write("{0:#,#}", value)) 10042
let s = sprintf "%a" (fun writer (value:int) -> writer.Write("{0:#,#}", value)) 10042
Run Code Online (Sandbox Code Playgroud)
printf 调用有效(但写入标准输出,而我想获得一个字符串,我可以分配给 WPF 控件的 Text 或 Content 属性,例如)。
sprintf 调用失败,错误为 FS0039:未定义字段、构造函数或成员“写入”。
如果我能修复这个错误,那么这可能是最直接的解决方案,当与部分应用程序结合时,将像内置版本一样简洁。
SQS 消息已被 lambda 成功处理。以下是处理并执行回调的代码:
exports.handler = function(event, context, callback) {
handleSQSMessages(context,event, function () {
const response = {
statusCode: 200,
body: JSON.stringify({
message: 'SQS event processed.',
input: event,
}),
};
console.log ("OK DONE");
callback(null, response);
function handleSQSMessages(context, messages, callback) {
messages = messages.Records;
if (messages && messages.length > 0) {
messages.forEach(function(message) {
console.log(message);
//...
Run Code Online (Sandbox Code Playgroud)
我看到 cloudwatch 打印出“OK DONE”消息。然而,SQS 将消息置于“飞行中”(并且它永远保持在飞行中)。我的理解是,一旦发送成功回复,该消息将被自动删除。我的能见度计时器 = 10 分钟
我创建了一个 AWS lambda 函数,使用 Windows bat 脚本触发该函数。\nwindows bat 脚本将 Windows 环境变量 USERNAME 作为负载的一部分。
\n\n我使用以下语法在本地成功工作:
\n\naws lambda invoke --function-name ConnectDesktops --payload "{\\"Name\\": \\"%USERNAME%\\" }" response.json
但是,我随后将此 bat 文件推送给最终用户,他们在执行相同命令时遇到错误:
\n\n\n\n\n调用 Invoke 操作时发生错误 (InvalidRequestContentException):无法将请求正文解析为 json:意外字符 (\'\xc2\xa9\' (代码 169)):需要空格分隔根级别值\n,位于 [来源: (字节[])"5\xef\xbf\xbd\xef\xbf\xbdF\xef\xbf\xbdb\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd" ; 行:1,列:3]
\n
环境变量正在他们的桌面上解析,但我仍然手动解析它并尝试了一些有效负载的替代方案:
\n\naws lambda invoke --function-name ConnectDesktops --payload "{\\"Name\\": \\"User1\\" }" response.json
aws lambda invoke --function-name ConnectDesktops --payload "{"Name": "User1" }" response.json
aws lambda invoke --function-name ConnectDesktops --payload \'{"Name": "User1"}\' response.json
有人成功创建了在 AWS Lambda 上运行的 highcharts 导出服务器吗?如果是这样,他们有一个示例部署包,他们可能愿意分享。
总体目标是能够将图像类型和图表选项作为有效负载传递给 lambda 并让它返回图像。
到目前为止,我已经完成了以下工作:
# Created a folder and moved into it
cd ../highchart_export_server
# Im building Phantom on OSX do I need to set these to get Phantom to build
# for linux
export PHANTOMJS_PLATFORM="linux"
export PHANTOMJS_ARCH="x64"
# Created a new package and install highcharts per docs
npm init
npm install highcharts-export-server
# Create an index handler -> See the content of that file below
# zip the package up as a deployment …
Run Code Online (Sandbox Code Playgroud) 在适用于 npm 的 Azure DevOps Services 快速入门指南中,它在最后的第 6 步:发布 npm 包中说明了以下内容:
“如果您将 npmjs.com 配置为上游并且包名称/版本存在于公共注册表中,那么您将被阻止发布”
换句话说,一旦使用 Azure 管道的构建开始,并且您希望它构建包,它只会在使用不存在的包版本时构建包。
但是,尝试这样做会导致出现橙色/黄色构建状态的警告。
是否可以检查包版本是否已更新,以便构建仅在包版本实际包含新版本时才尝试构建包?或者这里有推荐的另一种方法吗?
aws-lambda ×2
amazon-sqs ×1
aws-cli ×1
azure-devops ×1
batch-file ×1
f# ×1
highcharts ×1
inline ×1
json ×1
lambda ×1
npm ×1
python ×1