簡體   English   中英

在PHP中禁用Amazon SNS端點但是當我記錄響應時,我將端點狀態設置為已啟用

[英]Amazon SNS endpoint getting disabled in php But when I log the response I am getting endpoint status as enabled

我在調用SNS服務器時遇到SNS端點被禁用的問題。 為了調試,我添加了日志。 在日志中,它顯示為true,在Amazon SNS中顯示為false。 請幫我解決問題

以下是我為設置端點Atrributes而編寫的代碼。

$enable_end_point = $client->setEndpointAttributes(array(
    'Endpoenter code hereintArn' => $pushlist[$i]['aws'],
    'Attributes' => array(
    'Enabled' => 'true'
    )`enter code here`
));

我從Amazon SNS服務器獲取日志響應

data: get paramsGuzzle\Service\Resource\Model Object(
    [structure:protected] => 
    [data:protected] => Array
    (
        [Attributes] => Array(
            [Enabled] => true
            [Token] => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        )

        [ResponseMetadata] => Array(
            [RequestId] => 1ef66366-6dc3-549a-8d38-2d4a5axxxxx
        )

    )
)

發布通知

$result = $client->publish(array(
    'TargetArn' => $pushlist[$i]['aws'],
    'Message' => $msg_json,
    'Subject' => 'New xxxxx',
    'MessageStructure' => 'json',
));

發布日志:

data: publish resultGuzzle\Service\Resource\Model Object
(
    [structure:protected] => 
    [data:protected] => Array
    (
        [MessageId] => 5bbeb85f-75e7-5967-a55a-f673424xxxxx
        [ResponseMetadata] => Array
        (
            [RequestId] => 5c7f3df2-ff65-5bb5-a74a-73dec8cxxxxx
        )

    )
)

發布后,我通過日志檢查端點狀態

data: get params after publishGuzzle\Service\Resource\Model Object
(
    [structure:protected] => 
    [data:protected] => Array
    (
        [Attributes] => Array
        (
            [Enabled] => true
            [Token] => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        )
        [ResponseMetadata] => Array
        (
            [RequestId] => f3bdbb0d-9666-5b38-84a0-f521a1cxxxxx
        )

    )
)

在上面的響應中,我的端點狀態為true。 但我沒有得到任何推送通知,並且在Amazon SNS狀態顯示為false。

問候,

Vamsi

我認為你發送的屬性為Enabled為true,

$enable_end_point = $client->setEndpointAttributes(array(
    'Endpoenter code hereintArn' => $pushlist[$i]['aws'],
    'Attributes' => array(
    'Enabled' => 'true'
    )
));

這就是您在日志中獲得的結果,並且AWS SNS應用程序中的實際值為false。

請嘗試這個,以找到arn啟用狀態為false或true。

$endpointAtt = $sns->getEndpointAttributes($arn_arr);
Log::info($endpointAtt['Attributes']);
if($endpointAtt != 'failed' && $endpointAtt['Attributes']['Enabled'] != 'false') {
   // Code here
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM