小编Vya*_*pal的帖子

为什么'bodyPart.isMimeType("text/plain")'给出错误'无法加载bodystructure'?

我正在用Java创建一个应用程序,通过Java从我的GoDaddy webmail中读取邮件.我已经使用了javax.mail.当我调试程序时,它会在行中出错:bodyPart.isMimeType("text/plain")

出乎意料的是,它以正确的方式处理第一封邮件,但却为第二封邮件提供了错误.

这是完整的堆栈跟踪:

javax.mail.MessagingException: Unable to load BODYSTRUCTURE
    at com.sun.mail.imap.IMAPMessage.loadBODYSTRUCTURE(IMAPMessage.java:1306)
    at com.sun.mail.imap.IMAPMessage.getContentType(IMAPMessage.java:465)
    at javax.mail.internet.MimeBodyPart.isMimeType(MimeBodyPart.java:1050)
    at javax.mail.internet.MimeMessage.isMimeType(MimeMessage.java:986)
    at asanaLambdaIntegrationDebugMode.getNameMailIdFromMessage(asanaLambdaIntegrationDebugMode.java:1318)
    at asanaLambdaIntegrationDebugMode.main(asanaLambdaIntegrationDebugMode.java:978)
Run Code Online (Sandbox Code Playgroud)

对此有何建议?

java jakarta-mail

19
推荐指数
1
解决办法
295
查看次数

如何解决"连接到SMTP主机时出错:[Errno 10061]无法建立连接,因为目标计算机主动拒绝它"?

我正在创建一个应用程序,我需要为某些特定日志发送邮件.这是我的规则文件:

es_host: localhost
es_port: 9200
name: Log Level Test
type: frequency
index: testindexv4
num_events: 1
timeframe:
   hours: 4
filter:
 - term:
     log_level.keyword: "ERROR"
 - query:
     query_string:
       query: "log_level.keyword: ERROR"
alert:
- "email"
email:
- "<mailId>@gmail.com"
Run Code Online (Sandbox Code Playgroud)

这是config.yaml

rules_folder: myrules
run_every:
  seconds: 2
buffer_time:
  seconds: 10
es_host: localhost
es_port: 9200
writeback_index: elastalert_status
alert_time_limit:
  days: 2
Run Code Online (Sandbox Code Playgroud)

这是smpt_auth.yaml

alert:
 - email
email:
 - "<mailId>@gmail.com"
smtp_host: "smtp.gmail.com" 
smtp_port: 587 
smtp_ssl: true
from_addr: "<mailId>@gmail.com"
smtp_auth_file: 'D:\ELK_Info\ElastAlert\elastalert-master\smtp_auth_user.yaml'
Run Code Online (Sandbox Code Playgroud)

这是smtp_auth_user.yaml

user: "<mailId>@gmail.com"
password: "<password>"
Run Code Online (Sandbox Code Playgroud)

当我运行此命令时:

python -m elastalert.elastalert --verbose …
Run Code Online (Sandbox Code Playgroud)

python elasticsearch elastalert

9
推荐指数
1
解决办法
1157
查看次数

如何解决'530 5.7.0必须首先发出STARTTLS命令.o63-v6sm4041934ywc.36 - 用于elasticsearch的gsmtp \n'?

我正在创建一个应用程序,我需要为我的日志发送电子邮件警报.以下是创建观察者的输入:

PUT _xpack/watcher/watch/log_error_watch
{
  "trigger" : {
    "schedule" : { "interval" : "10s" } 
  },
  "input" : {
    "search" : {
      "request" : {
        "indices" : [ "testindexv4" ],
        "body" : {
          "query" : {
            "match" : { "log_level": "ERROR" }
          }
        }
      }
    }
  }
  ,
  "actions" : {
  "send_email" : { 
    "email" : { 
      "to" : "<mailId>@gmail.com", 
      "subject" : "Watcher Notification", 
      "body" : "error logs found" 
    }
  }
}
}
Run Code Online (Sandbox Code Playgroud)

这是elasticsearch.yml的配置

xpack.security.enabled: false
xpack.notification.email.account:
      standard_account:
         profile: standard
         smtp: …
Run Code Online (Sandbox Code Playgroud)

elasticsearch elasticsearch-x-pack

8
推荐指数
1
解决办法
746
查看次数

如何获取日志及其中包含单词"error"的数据以及如何配置logstashPipeLine.conf文件?

目前我正在开发一个应用程序,我需要从特定位置的文件中的特定数据创建文档.我已经设置了logstash管道配置.

这是目前的样子:

input{
file{
path => "D:\ELK_Info\logstashInput.log"
start_position => "beginning"
}
}
#Possible IF condition here in the filter

output {
 #Possible IF condition here
  http {
    url => "http://localhost:9200/<index_name>/<type_name>"
    http_method => "post"
    format => "json"
  }
}
Run Code Online (Sandbox Code Playgroud)

我想在调用API之前在输出中提供IF条件.条件应该是,"如果来自输入的数据包含单词'错误',则只进一步调用提到的http API."

我对如何做同样的想法?

elasticsearch logstash logstash-configuration elastic-stack

5
推荐指数
1
解决办法
71
查看次数

如何通过postman调用Azure Search相关的REST API?

我正在尝试通过邮递员调用与Azure搜索相关的REST API。这是API链接:(检查步骤1:创建数据源)

https://learn.microsoft.com/en-us/azure/search/search-howto-indexing-azure-blob-storage

已通过 json 对象在 form-data 等中发送参数 api-key: [admin key]。

在此输入图像描述

我收到 403 错误。

获得所需输出的正确方法是什么?

更新 :

更改了 api-key 的位置。仍然收到错误:

在此输入图像描述

邮差是否有任何其他设置可以使用 Azure 的 REST API?

rest logic azure postman

4
推荐指数
1
解决办法
2177
查看次数

如何从天蓝色搜索获得所有结果?

目前我正在创建一个应用程序,我需要调用API进行azure搜索.调用此API:

https://<searchServiceName>.search.windows.net/indexes/<index-name>/docs/search?api-version=2016-09-01
Run Code Online (Sandbox Code Playgroud)

还提供搜索查询所需的所有参数:

(test||test||test||test||test||test||test)+ Contacts+Campaigns+Companies+Targets+Complanits+Claims+Activities+Opportunities+Completed Activities
Run Code Online (Sandbox Code Playgroud)

问题是,表中总共有1127行与此特定搜索相关.但我只有前五十个跟随JSON对象输出.

"@search.nextPageParameters": {
        "search": "(test||test||test||test||test||test||test)+ Contacts+Campaigns+Companies+Targets+Complanits+Claims+Activities+Opportunities+Completed Activities",
        "skip": 50}
Run Code Online (Sandbox Code Playgroud)

我应该在查询中做出哪些更改,以便获得所有1127或更多结果?

logic azure azure-cognitive-search azure-sql-database

4
推荐指数
1
解决办法
2266
查看次数

如何在浏览器上打开blob而不通过java服务下载?

我正在创建一个应用程序,我需要在浏览器中查看 blob 而不是下载它们。目前,具有令牌的 blob 链接会下载相应的 blob。

我在这里得到了一些在浏览器中查看 blob 的参考: https://github.com/Azure-Samples/storage-blob-java-getting-started/blob/master/src/BlobBasics.java (从第 141 行开始查看)

这是我创建令牌的代码:

@Test
    public String testBlobSaS(CloudBlob blob, CloudBlobContainer container) throws InvalidKeyException,
            IllegalArgumentException, StorageException, URISyntaxException, InterruptedException {
        SharedAccessBlobPolicy sp = createSharedAccessBlobPolicy(
                EnumSet.of(SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.LIST), 100);
        BlobContainerPermissions perms = new BlobContainerPermissions();
        perms.getSharedAccessPolicies().put("readperm", sp);
        perms.setPublicAccess(BlobContainerPublicAccessType.CONTAINER);
        container.uploadPermissions(perms);
        String sas = blob.generateSharedAccessSignature(sp, null);
        CloudBlockBlob sasBlob = new CloudBlockBlob(
                new URI(blob.getUri().toString() + "?" + blob.generateSharedAccessSignature(null, "readperm")));
        sasBlob.download(new ByteArrayOutputStream());
        CloudBlob blobFromUri = new CloudBlockBlob(
                PathUtility.addToQuery(blob.getStorageUri(), blob.generateSharedAccessSignature(null, "readperm")));
        assertEquals(StorageCredentialsSharedAccessSignature.class.toString(),
                blobFromUri.getServiceClient().getCredentials().getClass().toString());
        StorageCredentials creds = new StorageCredentialsSharedAccessSignature(
                blob.generateSharedAccessSignature(null, "readperm")); …
Run Code Online (Sandbox Code Playgroud)

java logic azure

3
推荐指数
1
解决办法
4911
查看次数

如何解决'使用构建器创建客户端是不可变的'?

我正在创建一个想要将文件上传到S3存储桶的应用程序.我从以下代码段收到错误:

BasicAWSCredentials awsCreds = new BasicAWSCredentials("<myKey>", "<mySecretId>");
                                AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                                        .withRegion("<myRegion>")
                                        .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
                                        .build();

                                PutObjectRequest request = new PutObjectRequest("testbucketupdate", "testFile", new File("D:\\Attachments\\LICENSE"));
                                ObjectMetadata metadata = new ObjectMetadata();
                                metadata.setContentType("plain/text");
                                metadata.addUserMetadata("x-amz-meta-title", "someTitle");
                                request.setMetadata(metadata);
                                s3Client.setS3ClientOptions(S3ClientOptions.builder().setPathStyleAccess(true).disableChunkedEncoding().build());
                                s3Client.putObject(request);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Java.lang.UnsupportedOperationException: Client is immutable when created with the builder.
    at com.amazonaws.AmazonWebServiceClient.checkMutability(AmazonWebServiceClient.java:937)
    at com.amazonaws.services.s3.AmazonS3Client.setS3ClientOptions(AmazonS3Client.java:716)
    at com.amazonaws.lambda.demo.LambdaFunctionHandler.check(LambdaFunctionHandler.java:123)
    at com.amazonaws.lambda.demo.LambdaFunctionHandler.main(LambdaFunctionHandler.java:208)
    at com.amazonaws.lambda.demo.LambdaFunctionHandler.handleRequest(LambdaFunctionHandler.java:51)
    at com.amazonaws.lambda.demo.LambdaFunctionHandler.handleRequest(LambdaFunctionHandler.java:1)
    at lambdainternal.EventHandlerLoader$PojoHandlerAsStreamHandler.handleRequest(EventHandlerLoader.java:178)
    at lambdainternal.EventHandlerLoader$2.call(EventHandlerLoader.java:888)
    at lambdainternal.AWSLambda.startRuntime(AWSLambda.java:283)
    at lambdainternal.AWSLambda.<clinit>(AWSLambda.java:64)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at lambdainternal.LambdaRTEntry.main(LambdaRTEntry.java:94)
Run Code Online (Sandbox Code Playgroud)

将文件成功上传到所需存储桶应该做哪些更改?

java amazon-s3 amazon-web-services

3
推荐指数
1
解决办法
1911
查看次数

如何在java中为azure的文件服务添加SAS?

I got code in c# or code for blob storage. I need some reference code in java to have SAS token for file storage in azure. The SAS may be applicable for account or services.

Code 1 :

static string GetAccountSASToken()
{
    // To create the account SAS, you need to use your shared key credentials. Modify for your account.
    const string ConnectionString = "DefaultEndpointsProtocol=https;AccountName=account-name;AccountKey=account-key";
    CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConnectionString);

    // Create a new access policy for the account.
    SharedAccessAccountPolicy policy …
Run Code Online (Sandbox Code Playgroud)

java azure

0
推荐指数
1
解决办法
932
查看次数