[英]Streaming audio from Google App Engine
Is it possible to stream audio-file from BlobStore
on AppEngine in general?一般来说,AppEngine 上是否可以从BlobStore
获取 stream 音频文件?
And if yes, what about streaming .mp3 file from direct url?如果是,那么如何从直接 url 流式传输.mp3文件呢?
Yep!! 是的! This is my implementation: 这是我的实施:
public class Serve extends HttpServlet {
private static final long serialVersionUID = 5603629129606331547L;
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException {
BlobKey blobKey = new BlobKey(req.getParameter("blob-key"));
BlobstoreServiceFactory.getBlobstoreService().serve(blobKey, res);
}
}
.. and this is the web.xml: ..这是web.xml:
<servlet>
<servlet-name>Serve</servlet-name>
<servlet-class><my-package>.Serve</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Serve</servlet-name>
<url-pattern>/serve</url-pattern>
</servlet-mapping>
pay attention that "direct url" (getServingUrl I think you mean) exists only for images: https://developers.google.com/appengine/docs/java/images/overview#Transforming_Images_from_the_Blobstore 请注意“直接网址”(getServingUrl,我认为你的意思)仅适用于图片: https : //developers.google.com/appengine/docs/java/images/overview#Transforming_Images_from_the_Blobstore
In general the answer is no :一般来说,答案是否定的:
https://cloud.google.com/appengine/docs/standard/go/how-requests-are-handled#streaming_responses https://cloud.google.com/appengine/docs/standard/go/how-requests-are-handled#streaming_responses
As others have indicated you could chunk up your data to limit the "cost" and then have your client control when to get the next chunk.正如其他人所指出的那样,您可以将数据分块以限制“成本”,然后让您的客户控制何时获取下一个数据块。
A better solution Use Cloud Run instead:更好的解决方案改用 Cloud Run:
https://cloud.google.com/blog/products/serverless/cloud-run-now-supports-http-grpc-server-streaming https://cloud.google.com/blog/products/serverless/cloud-run-now-supports-http-grpc-server-streaming
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.