I am attempting to write a PHP script that uses createStreamingURL() to shuffle users over to AppStream to run apps. However, when I attempt to do this, I am seeing the following in the debug output:
Fatal error: Uncaught exception 'Aws\Appstream\Exception\AppstreamException' with message 'Error executing "CreateStreamingURL" on "https://appstream.us-east-1.amazonaws.com"; AWS HTTP error: Client error: `POST https://appstream.us-east-1.amazonaws.com` resulted in a `404 Not Found` response:
<UnknownOperationException/>
Unable to parse error information from response - Error parsing JSON: unexpected character'
exception 'GuzzleHttp\Exception\ClientException' with message 'Client error: `POST https://appstream.us-east-1.amazonaws.com` resulted in a `404 Not Found` response:
<UnknownOperationException/>
' in /home/ubuntu/workspace/appstream-auth/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:111
Stack trace:
#0 /home/ubuntu/workspace/appstream-auth/vendor/guzzlehttp/guzzle/src/Middleware.php(65): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response))
#1 /home/ubuntu/workspace/appstream-auth/vendor/guzzlehttp/promises/src/Promise.php(203): GuzzleHtt in /home/ubuntu/workspace/appstream-auth/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php on line 192
If you notice, the URL it is sending the request to is appstream.us-east-1.amazonaws.com. Invoking the same call using the CLI with debugging turned on shows something different -- and it works:
You will notice here, using appstream_2_.us-east-1.amaazonaws.com, that the CLI gets a 200 and happily returns a JSON object containing the requested streaming URL.
Please investigate. I tried mucking about in the SDK code trying to get it to point at appstream2, but that proved to be more difficult than originally thought.
coreyseliger:~/workspace/appstream-auth $ composer info
aws/aws-sdk-php 3.22.7 AWS SDK for PHP - Use Amazon Web Services in your PHP project
guzzlehttp/guzzle 6.2.2 Guzzle is a PHP HTTP client library
guzzlehttp/promises v1.3.1 Guzzle promises library
guzzlehttp/psr7 1.3.1 PSR-7 message implementation
mtdowling/jmespath.php 2.4.0 Declaratively specify how to extract elements from a JSON document
psr/http-message 1.0.1 Common interface for HTTP messages
@seliger Thanks for the information! This is a know bug, PR #1171 is opened to fix the issue, we are working on that.
A proposed workaround currently is having endpoint param hardcoded in the client as:
I am attempting to write a PHP script that uses createStreamingURL() to shuffle users over to AppStream to run apps. However, when I attempt to do this, I am seeing the following in the debug output:
If you notice, the URL it is sending the request to is appstream.us-east-1.amazonaws.com. Invoking the same call using the CLI with debugging turned on shows something different -- and it works:
You will notice here, using appstream_2_.us-east-1.amaazonaws.com, that the CLI gets a 200 and happily returns a JSON object containing the requested streaming URL.
Please investigate. I tried mucking about in the SDK code trying to get it to point at appstream2, but that proved to be more difficult than originally thought.
Thank you!
Corey
php-debug.txt
cli-debug.txt
The text was updated successfully, but these errors were encountered: