2016-06-20 91 views
0

を公開するときに、私は次のコードを使用して、特定のARNエンドポイントにAWS SNSのメッセージを公開しようとしています:無効なパラメータ:トピック名エラーAWS SNSのARNのエンドポイントにJavaでは

import com.amazonaws.auth.BasicAWSCredentials; 
import com.amazonaws.regions.Region; 
import com.amazonaws.regions.Regions; 
import com.amazonaws.services.sns.AmazonSNS; 
import com.amazonaws.services.sns.AmazonSNSClient; 
import com.amazonaws.services.sns.model.PublishRequest; 
import com.amazonaws.services.sns.model.PublishResult; 

... 

AmazonSNS snsClient = new AmazonSNSClient(new BasicAWSCredentials(System.getenv("AWS_KEY"), System.getenv("AWS_SECRET"))); 

snsClient.setRegion(Region.getRegion(Regions.US_EAST_1)); 

String message = "{\"APNS_SANDBOX\":\"{\\\"aps\\\":{\\\"type\\\":\\\"XXX\\\",\\\"email\\\":\\\"[email protected]\\\",\\\"alert\\\":\\\"some alert\\\"}}\"}"; 

PublishResult pr = snsClient.publish(new PublishRequest("arn:aws:sns:us-east-1:XXX:endpoint/APNS_SANDBOX/XXX/XXX-XXX-XXX-XXX", message)); 

私は一貫して取得しています次のエラーメッセージ:

Invalid parameter: Topic Name (Service: AmazonSNS; Status Code: 400; Error Code: InvalidParameter; Request ID: XXX

この上の任意のアイデア?

私はSNSコンソールから問題なくARNのエンドポイントに公開することができ、私はあなたが代わりにPublishRequestコンストラクタの最初のパラメータであるTopicArnTargetArn使うべきメッセージ

答えて

0

のさまざまなバリエーションを試してみました。

PublishRequest pr = new PublishRequest(); 
pr.TargetArn = "arn:aws:sns:us-east-1:XXX:endpoint/APNS_SANDBOX/XXX/XXX-XXX-XXX-XXX"; 
pr.Message = message; 

(多分大爆笑にお答えするには遅すぎです)

関連する問題