将有效负载传递到Groovy脚本

2020-08-30 01:13发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我一直遵循此SAP博客,介绍如何使用Groovy脚本将有效负载文件上传到Azure Blob存储。 似乎正是我所需要的。

页面底部是从博客复制的Groovy代码以供参考。

我正试图了解如何调用代码并将有效负载传递给它? Groovy小部件只有三个字段,即名称,脚本文件和脚本功能。 脚本功能工具提示说:"输入执行脚本必须首先调用的功能名称"。 我只输入FunctionName()吗? 如何将有效负载传递给脚本?

导入com.sap.gateway.ip.core.customdev.util.Message
 导入java.io. *
 导入com.microsoft.azure.storage。*
 导入com.microsoft.azure.storage.blob。*

 def消息processData(消息消息){
     def body = message.getBody(java.lang.String)作为String

     字符串accountName =" your_azure_account_name"
     字符串accountKey =" your_azure_account_key"
     String storageConnectionString =" DefaultEndpointsProtocol = http;"  +" AccountName =" + accountName +";"  +" AccountKey =" + accountKey

     CloudStorageAccount帐户= CloudStorageAccount.parse(storageConnectionString)
     CloudBlobClient serviceClient = account.createCloudBlobClient()

     CloudBlobContainer容器= serviceClient.getContainerReference(" azurefoldername/containername")

     字符串fileName =" filename.csv"
     字符串fileContent =正文
     byte [] fileBytes = fileContent.getBytes()

     CloudBlockBlob blob = container.getBlockBlobReference(fileName)
     blob.uploadFromByteArray(fileBytes,0,fileBytes.length)

     blob.getProperties()。setContentType(" text/csv; charset = utf-8")
     blob.uploadProperties()

     message.setBody(" OK")

     返回消息;
 }
 
capture.jpg (19.1 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我一直遵循此SAP博客,介绍如何使用Groovy脚本将有效负载文件上传到Azure Blob存储。 似乎正是我所需要的。

页面底部是从博客复制的Groovy代码以供参考。

我正试图了解如何调用代码并将有效负载传递给它? Groovy小部件只有三个字段,即名称,脚本文件和脚本功能。 脚本功能工具提示说:"输入执行脚本必须首先调用的功能名称"。 我只输入FunctionName()吗? 如何将有效负载传递给脚本?

导入com.sap.gateway.ip.core.customdev.util.Message
 导入java.io. *
 导入com.microsoft.azure.storage。*
 导入com.microsoft.azure.storage.blob。*

 def消息processData(消息消息){
     def body = message.getBody(java.lang.String)作为String

     字符串accountName =" your_azure_account_name"
     字符串accountKey =" your_azure_account_key"
     String storageConnectionString =" DefaultEndpointsProtocol = http;"  +" AccountName =" + accountName +";"  +" AccountKey =" + accountKey

     CloudStorageAccount帐户= CloudStorageAccount.parse(storageConnectionString)
     CloudBlobClient serviceClient = account.createCloudBlobClient()

     CloudBlobContainer容器= serviceClient.getContainerReference(" azurefoldername/containername")

     字符串fileName =" filename.csv"
     字符串fileContent =正文
     byte [] fileBytes = fileContent.getBytes()

     CloudBlockBlob blob = container.getBlockBlobReference(fileName)
     blob.uploadFromByteArray(fileBytes,0,fileBytes.length)

     blob.getProperties()。setContentType(" text/csv; charset = utf-8")
     blob.uploadProperties()

     message.setBody(" OK")

     返回消息;
 }
 
capture.jpg (19.1 kB)
付费偷看设置
发送
1条回答
绿领巾童鞋
1楼-- · 2020-08-30 01:52

嗨,菲利普,

我试图了解如何调用代码.. 

使用您正在使用的代码,您无需显式调用该函数 。 函数processData是每当使用脚本时都会调用的默认函数。

并将有效负载传递给它?

如果正文中有内​​容,则发布到哪个消息。

def body = message.getBody(java.lang.String)asString

此代码将处理有效负载。 现在,主体将具有有效载荷的内容。

希望这会有所帮助,

感谢和问候,

Praveen T

一周热门 更多>